Skip to content

Commit

Permalink
Place common parts in lib and engine specific parts under ext/**/lib
Browse files Browse the repository at this point in the history
  • Loading branch information
knu committed Sep 29, 2021
1 parent c614c31 commit 8d7496c
Show file tree
Hide file tree
Showing 17 changed files with 53 additions and 110 deletions.
2 changes: 0 additions & 2 deletions .gitignore
Expand Up @@ -8,8 +8,6 @@
/spec/reports/
/tmp/
lib/*.jar
lib/digest
lib/digest/*.rb
*.bundle
*.so
*.o
32 changes: 15 additions & 17 deletions Rakefile
Expand Up @@ -3,28 +3,26 @@ require "rake/testtask"

Rake::TestTask.new(:test) do |t|
t.libs << "test" << "test/lib" << "lib"
if RUBY_ENGINE == "jruby"
t.libs << "ext/java/org/jruby/ext/digest/lib"
else
t.libs << "ext/digest/lib"
end
t.ruby_opts << "-rhelper"
t.test_files = FileList["test/**/test_*.rb"]
end

require 'rake/javaextensiontask'
Rake::JavaExtensionTask.new("digest") do |ext|
ext.source_version = '1.8'
ext.target_version = '1.8'
ext.ext_dir = 'ext/java'
end

# copy library loaders
require 'fileutils'
%w(bubblebabble md5 rmd160 sha1 sha2).each do |ext|
FileUtils.mkdir "./lib/digest" unless File.exist?("./lib/digest")
FileUtils.cp "./ext/digest/#{ext}/lib/#{ext}.rb", "./lib/digest/#{ext}.rb"
end

if RUBY_ENGINE != 'jruby'
require 'rake/extensiontask'
if RUBY_ENGINE == "jruby"
require "rake/javaextensiontask"
Rake::JavaExtensionTask.new("digest") do |ext|
ext.source_version = "1.8"
ext.target_version = "1.8"
ext.ext_dir = "ext/java"
end
else
require "rake/extensiontask"
Rake::ExtensionTask.new("digest")
%w(bubblebabble md5 rmd160 sha1 sha2).each do |ext|
%w[bubblebabble md5 rmd160 sha1 sha2].each do |ext|
Rake::ExtensionTask.new("digest/#{ext}")
end
end
Expand Down
55 changes: 11 additions & 44 deletions digest.gemspec
Expand Up @@ -12,60 +12,27 @@ Gem::Specification.new do |spec|
spec.homepage = "https://github.com/ruby/digest"
spec.licenses = ["Ruby", "BSD-2-Clause"]

spec.files = [
"LICENSE.txt", "README.md",

"ext/digest/defs.h", "ext/digest/digest.c", "ext/digest/digest.h",
"ext/digest/digest_conf.rb", "ext/digest/extconf.rb",
"ext/digest/lib/digest.rb",

"ext/digest/bubblebabble/bubblebabble.c",
"ext/digest/bubblebabble/extconf.rb",

"ext/digest/md5/extconf.rb", "ext/digest/md5/md5.c",
"ext/digest/md5/md5.h", "ext/digest/md5/md5cc.h",
"ext/digest/md5/md5init.c",

"ext/digest/rmd160/extconf.rb", "ext/digest/rmd160/rmd160.c",
"ext/digest/rmd160/rmd160.h", "ext/digest/rmd160/rmd160init.c",

"ext/digest/sha1/extconf.rb", "ext/digest/sha1/sha1.c",
"ext/digest/sha1/sha1.h", "ext/digest/sha1/sha1cc.h",
"ext/digest/sha1/sha1init.c",

"ext/digest/sha2/extconf.rb", "ext/digest/sha2/lib/sha2.rb",
"ext/digest/sha2/sha2.c", "ext/digest/sha2/sha2.h",
"ext/digest/sha2/sha2cc.h", "ext/digest/sha2/sha2init.c",

"ext/openssl/deprecation.rb",
"ext/digest/test.sh",
spec.files = [
"LICENSE.txt",
"README.md",
*Dir["lib/digest{.rb,/**/*.rb}"],
]

spec.required_ruby_version = ">= 2.5.0"

spec.bindir = "exe"
spec.executables = []
spec.require_paths = ["lib"]

if Gem::Platform === spec.platform and spec.platform =~ 'java' or RUBY_ENGINE == 'jruby'
spec.platform = 'java'
spec.files.concat [
"lib/digest.jar",
"lib/digest/md5.rb",
"lib/digest/sha1.rb",
"lib/digest/sha2.rb",
"lib/digest/rmd160.rb",
"lib/digest/bubblebabble.rb"
]

spec.files += Dir["ext/java/**/*.{rb,java}"]
spec.require_paths = %w[lib ext/java/org/jruby/ext/digest/lib]
else
spec.extensions = %w[
ext/digest/extconf.rb
ext/digest/bubblebabble/extconf.rb
ext/digest/md5/extconf.rb
ext/digest/rmd160/extconf.rb
ext/digest/sha1/extconf.rb
ext/digest/sha2/extconf.rb
]
spec.extensions = Dir["ext/digest/**/extconf.rb"]

spec.files += Dir["ext/digest/**/*.{rb,c,h,sh}"]
spec.require_paths = %w[lib]
end

spec.metadata["msys2_mingw_dependencies"] = "openssl"
Expand Down
9 changes: 0 additions & 9 deletions ext/digest/bubblebabble/lib/bubblebabble.rb

This file was deleted.

3 changes: 3 additions & 0 deletions ext/digest/lib/digest/loader.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

require 'digest.so'
3 changes: 3 additions & 0 deletions ext/digest/lib/digest/sha2/loader.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

require 'digest/sha2.so'
9 changes: 0 additions & 9 deletions ext/digest/md5/lib/md5.rb

This file was deleted.

9 changes: 0 additions & 9 deletions ext/digest/rmd160/lib/rmd160.rb

This file was deleted.

9 changes: 0 additions & 9 deletions ext/digest/sha1/lib/sha1.rb

This file was deleted.

3 changes: 3 additions & 0 deletions ext/java/org/jruby/ext/digest/lib/digest/bubblebabble.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

JRuby::Util.load_ext("org.jruby.ext.digest.BubbleBabble")
3 changes: 3 additions & 0 deletions ext/java/org/jruby/ext/digest/lib/digest/loader.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

JRuby::Util.load_ext('org.jruby.ext.digest.DigestLibrary')
3 changes: 3 additions & 0 deletions ext/java/org/jruby/ext/digest/lib/digest/md5.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

JRuby::Util.load_ext("org.jruby.ext.digest.MD5")
3 changes: 3 additions & 0 deletions ext/java/org/jruby/ext/digest/lib/digest/rmd160.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

JRuby::Util.load_ext("org.jruby.ext.digest.RMD160")
3 changes: 3 additions & 0 deletions ext/java/org/jruby/ext/digest/lib/digest/sha1.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

JRuby::Util.load_ext("org.jruby.ext.digest.SHA1")
3 changes: 3 additions & 0 deletions ext/java/org/jruby/ext/digest/lib/digest/sha2/loader.rb
@@ -0,0 +1,3 @@
# frozen_string_literal: true

JRuby::Util.load_ext('org.jruby.ext.digest.SHA2')
7 changes: 2 additions & 5 deletions ext/digest/lib/digest.rb → lib/digest.rb
@@ -1,9 +1,6 @@
# frozen_string_literal: false
if RUBY_ENGINE == 'jruby'
JRuby::Util.load_ext("org.jruby.ext.digest.DigestLibrary")
else
require 'digest.so'
end

require 'digest/loader'

module Digest
# A mutex for Digest().
Expand Down
7 changes: 1 addition & 6 deletions ext/digest/sha2/lib/sha2.rb → lib/digest/sha2.rb
Expand Up @@ -11,12 +11,7 @@
# $Id$

require 'digest'

if RUBY_ENGINE == 'jruby'
JRuby::Util.load_ext("org.jruby.ext.digest.SHA2")
else
require 'digest/sha2.so'
end
require 'digest/sha2/loader'

module Digest
#
Expand Down

0 comments on commit 8d7496c

Please sign in to comment.