Skip to content

Commit 805b6c6

Browse files
Use vendor/cache for js gem to build extension as a part of "bundle install"
1 parent d4ea1cf commit 805b6c6

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

packages/gems/js/lib/js/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module JS
2-
VERSION = "2.6.2"
2+
VERSION = "2.6.2.dev"
33
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*.tgz
22
/tmp
33
/bundle
4+
/vendor

packages/npm-packages/ruby-head-wasm-wasi/Gemfile

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22

33
source "https://rubygems.org"
44

5-
gem "js", path: "../../gems/js"
6-
gem "ruby_wasm", path: "../../../"
5+
# We build ./vendor/cache/js-local.gem just before evaluating this Gemfile
6+
# so that Bundler builds extensions even from the local gem. (gem extensions
7+
# from "path:" gems are not built by Bundler.)
8+
# Thus even we specify version of "js" gem here, it should always installed
9+
# from the ./vendor/cache/js-local.gem, not from rubygems.org. To achieve this,
10+
# we always use non-exist version during development.
11+
require_relative "../../gems/js/lib/js/version.rb"
12+
gem "js", JS::VERSION
13+
gem "ruby_wasm", path: "../../../", group: [:build]
714
gem "power_assert"
815
gem "test-unit"

rakelib/packaging.rake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ namespace :npm do
6767
mkdir_p dist_dir
6868
if pkg[:target].start_with?("wasm32-unknown-wasi")
6969
Dir.chdir(cwd || base_dir) do
70+
vendor_cache_dir = File.join(pkg_dir, "vendor", "cache")
71+
mkdir_p vendor_cache_dir
72+
require_relative "../packages/gems/js/lib/js/version"
73+
sh "gem", "-C", File.join(base_dir, "packages/gems/js"), "build", "-o",
74+
File.join(pkg_dir, "vendor", "cache", "js-local.gem")
75+
7076
sh env,
7177
*build_command,
7278
"--no-stdlib",

0 commit comments

Comments
 (0)