Skip to content

Commit a4f74ef

Browse files
Simplify option construction
1 parent ff04688 commit a4f74ef

File tree

3 files changed

+20
-53
lines changed

3 files changed

+20
-53
lines changed

Rakefile

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -68,28 +68,14 @@ BUILD_PROFILES = {
6868
}
6969
}
7070

71-
BUILDS = [
72-
{ src: "head", target: "wasm32-unknown-wasi", profile: "minimal" },
73-
{ src: "head", target: "wasm32-unknown-wasi", profile: "minimal-debug" },
74-
{ src: "head", target: "wasm32-unknown-wasi", profile: "minimal-js" },
75-
{ src: "head", target: "wasm32-unknown-wasi", profile: "minimal-js-debug" },
76-
{ src: "head", target: "wasm32-unknown-wasi", profile: "full" },
77-
{ src: "head", target: "wasm32-unknown-wasi", profile: "full-debug" },
78-
{ src: "head", target: "wasm32-unknown-wasi", profile: "full-js" },
79-
{ src: "head", target: "wasm32-unknown-wasi", profile: "full-js-debug" },
80-
{ src: "head", target: "wasm32-unknown-emscripten", profile: "minimal" },
81-
{ src: "head", target: "wasm32-unknown-emscripten", profile: "full" },
82-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "minimal" },
83-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "minimal-debug" },
84-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "minimal-js" },
85-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "minimal-js-debug" },
86-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "full" },
87-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "full-debug" },
88-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "full-js" },
89-
{ src: "3_2", target: "wasm32-unknown-wasi", profile: "full-js-debug" },
90-
{ src: "3_2", target: "wasm32-unknown-emscripten", profile: "minimal" },
91-
{ src: "3_2", target: "wasm32-unknown-emscripten", profile: "full" }
92-
]
71+
BUILDS =
72+
BUILD_SOURCES.keys.flat_map do |src|
73+
%w[wasm32-unknown-wasi wasm32-unknown-emscripten].flat_map do |target|
74+
BUILD_PROFILES.keys.map do |profile|
75+
{ src: src, target: target, profile: profile }
76+
end
77+
end
78+
end
9379

9480
LIB_ROOT = File.dirname(__FILE__)
9581

@@ -99,11 +85,13 @@ namespace :build do
9985
BUILDS.each do |params|
10086
name = "#{params[:src]}-#{params[:target]}-#{params[:profile]}"
10187
source = BUILD_SOURCES[params[:src]].merge(name: params[:src])
102-
options = params.merge(BUILD_PROFILES[params[:profile]]).merge(src: source)
103-
debug = options[:debug]
104-
options.delete :profile
105-
options.delete :user_exts
106-
options.delete :debug
88+
profile = BUILD_PROFILES[params[:profile]]
89+
options = {
90+
src: source,
91+
target: params[:target],
92+
default_exts: profile[:default_exts]
93+
}
94+
debug = profile[:debug]
10795
RubyWasm::BuildTask.new(name, **options) do |t|
10896
if debug
10997
t.crossruby.debugflags = %w[-g]
@@ -123,7 +111,7 @@ namespace :build do
123111

124112
toolchain = t.toolchain
125113
t.crossruby.user_exts =
126-
BUILD_PROFILES[params[:profile]][:user_exts].map do |ext|
114+
profile[:user_exts].map do |ext|
127115
srcdir = File.join(LIB_ROOT, "ext", ext)
128116
RubyWasm::CrossRubyExtProduct.new(srcdir, toolchain)
129117
end

lib/ruby_wasm/rake_task.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ def initialize(
4949
@baseruby = RubyWasm::BaseRubyProduct.new(@build_dir, @source)
5050
@openssl = RubyWasm::OpenSSLProduct.new(@build_dir, @target, @toolchain)
5151

52-
build_params =
53-
RubyWasm::BuildParams.new(options.merge(name: name, target: @target))
52+
build_params = RubyWasm::BuildParams.new(options.merge(name: name))
5453

5554
@crossruby =
5655
RubyWasm::CrossRubyProduct.new(

tasks/packaging.rake

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -100,29 +100,9 @@ NPM_RELEASE_ARTIFACTS = [
100100
"npm-ruby-head-wasm-wasi",
101101
"npm-ruby-3_2-wasm-wasi",
102102
]
103-
RELASE_ARTIFACTS = [
104-
# ruby builds
105-
"ruby-head-wasm32-unknown-emscripten-full",
106-
"ruby-head-wasm32-unknown-emscripten-minimal",
107-
"ruby-head-wasm32-unknown-wasi-full",
108-
"ruby-head-wasm32-unknown-wasi-full-debug",
109-
"ruby-head-wasm32-unknown-wasi-full-js",
110-
"ruby-head-wasm32-unknown-wasi-full-js-debug",
111-
"ruby-head-wasm32-unknown-wasi-minimal",
112-
"ruby-head-wasm32-unknown-wasi-minimal-debug",
113-
"ruby-head-wasm32-unknown-wasi-minimal-js",
114-
"ruby-head-wasm32-unknown-wasi-minimal-js-debug",
115-
"ruby-3_2-wasm32-unknown-emscripten-full",
116-
"ruby-3_2-wasm32-unknown-emscripten-minimal",
117-
"ruby-3_2-wasm32-unknown-wasi-full",
118-
"ruby-3_2-wasm32-unknown-wasi-full-debug",
119-
"ruby-3_2-wasm32-unknown-wasi-full-js",
120-
"ruby-3_2-wasm32-unknown-wasi-full-js-debug",
121-
"ruby-3_2-wasm32-unknown-wasi-minimal",
122-
"ruby-3_2-wasm32-unknown-wasi-minimal-debug",
123-
"ruby-3_2-wasm32-unknown-wasi-minimal-js",
124-
"ruby-3_2-wasm32-unknown-wasi-minimal-js-debug",
125-
] + NPM_RELEASE_ARTIFACTS
103+
RELASE_ARTIFACTS = BUILDS.map do |build|
104+
"ruby-#{build[:src]}-#{build[:target]}-#{build[:profile]}"
105+
end + NPM_RELEASE_ARTIFACTS
126106

127107
def release_note
128108
output = <<EOS

0 commit comments

Comments
 (0)