Skip to content

Commit bd2530d

Browse files
committed
feat: Ruby 3.2.2 / MacOS+Linux aarch64/arm64 support
1 parent 0bf7fc8 commit bd2530d

File tree

1 file changed

+56
-21
lines changed

1 file changed

+56
-21
lines changed

tasks/package.rake

+56-21
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,58 @@ require 'bundler/setup'
33

44
PACKAGE_NAME = "pact"
55
VERSION = File.read('VERSION').strip
6-
TRAVELING_RUBY_VERSION = "20210206-2.4.10"
7-
PLUGIN_CLI_VERSION = "0.0.1"
6+
TRAVELING_RUBY_VERSION = "20230508-3.2.2"
7+
PLUGIN_CLI_VERSION = "0.1.0"
88

9-
desc "Package pact-ruby-standalone for OSX, Linux x86_64 and Win32 x86_64"
10-
task :package => ['package:linux:x86_64', 'package:osx', 'package:win32']
9+
desc "Package pact-ruby-standalone for OSX, Linux x86_64 and windows x86_64"
10+
task :package => ['package:linux:x86_64','package:linux:arm64', 'package:osx:x86_64', 'package:osx:arm64','package:windows:x86_64','package:windows:x86']
1111

1212
namespace :package do
1313
namespace :linux do
1414
desc "Package pact-ruby-standalone for Linux x86_64"
1515
task :x86_64 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64.tar.gz"] do
1616
create_package(TRAVELING_RUBY_VERSION, "linux-x86_64", "linux-x86_64", :unix)
1717
end
18-
end
1918

20-
desc "Package pact-ruby-standalone for OS X"
21-
task :osx => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz"] do
22-
create_package(TRAVELING_RUBY_VERSION, "osx", "osx", :unix)
19+
desc "Package pact-ruby-standalone for Linux arm64"
20+
task :arm64 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-arm64.tar.gz"] do
21+
create_package(TRAVELING_RUBY_VERSION, "linux-arm64", "linux-arm64", :unix)
22+
end
2323
end
2424

25-
desc "Package pact-ruby-standalone for Win32 x86_64"
26-
task :win32 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-win32-86_64.tar.gz"] do
27-
create_package(TRAVELING_RUBY_VERSION, "x86_64-win32", "win32", :windows)
25+
namespace :osx do
26+
desc "Package pact-ruby-standalone for OS X x86_64"
27+
task :x86_64 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-x86_64.tar.gz"] do
28+
create_package(TRAVELING_RUBY_VERSION, "osx-x86_64", "osx-x86_64", :unix)
2829
end
2930

31+
desc "Package pact-ruby-standalone for OS X arm64"
32+
task :arm64 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-arm64.tar.gz"] do
33+
create_package(TRAVELING_RUBY_VERSION, "osx-arm64", "osx-arm64", :unix)
34+
end
35+
end
36+
namespace :windows do
37+
desc "Package pact-ruby-standalone for windows x86_64"
38+
task :x86_64 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-windows-x86_64.tar.gz"] do
39+
create_package(TRAVELING_RUBY_VERSION, "windows-x86_64", "windows-x86_64", :windows)
40+
end
41+
desc "Package pact-ruby-standalone for windows x86"
42+
task :x86 => [:bundle_install, "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-windows-x86.tar.gz"] do
43+
create_package(TRAVELING_RUBY_VERSION, "windows-x86", "windows-x86", :windows)
44+
end
45+
end
3046
desc "Install gems to local directory"
3147
task :bundle_install do
32-
if RUBY_VERSION !~ /^2\.4\./
33-
abort "You can only 'bundle install' using Ruby 2.4, because that's what Traveling Ruby uses."
48+
if RUBY_VERSION !~ /^3\.2\./
49+
abort "You can only 'bundle install' using Ruby 3.2.2, because that's what Traveling Ruby uses."
3450
end
3551
sh "rm -rf build/tmp"
3652
sh "mkdir -p build/tmp"
3753
sh "cp packaging/Gemfile packaging/Gemfile.lock build/tmp/"
3854
sh "mkdir -p build/tmp/lib/pact/mock_service"
3955
# sh "cp lib/pact/mock_service/version.rb build/tmp/lib/pact/mock_service/version.rb"
4056
Bundler.with_clean_env do
41-
sh "cd build/tmp && env BUNDLE_IGNORE_CONFIG=1 bundle lock --add-platform x64-mingw32 && env BUNDLE_IGNORE_CONFIG=1 bundle install --path ../vendor --without development"
57+
sh "cd build/tmp && env BUNDLE_IGNORE_CONFIG=1 bundle lock --add-platform x64-mingw32 && env BUNDLE_IGNORE_CONFIG=1 BUNDLE_DEPLOYMENT=true bundle install --path ../vendor"
4258
generate_readme
4359
end
4460
sh "rm -rf build/tmp"
@@ -59,12 +75,23 @@ file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64.tar.gz" do
5975
download_runtime(TRAVELING_RUBY_VERSION, "linux-x86_64")
6076
end
6177

62-
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz" do
63-
download_runtime(TRAVELING_RUBY_VERSION, "osx")
78+
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-arm64.tar.gz" do
79+
download_runtime(TRAVELING_RUBY_VERSION, "linux-arm64")
80+
end
81+
82+
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-x86_64.tar.gz" do
83+
download_runtime(TRAVELING_RUBY_VERSION, "osx-x86_64")
84+
end
85+
86+
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-arm64.tar.gz" do
87+
download_runtime(TRAVELING_RUBY_VERSION, "osx-arm64")
6488
end
6589

66-
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-win32-86_64.tar.gz" do
67-
download_runtime(TRAVELING_RUBY_VERSION, "x86_64-win32")
90+
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-windows-x86_64.tar.gz" do
91+
download_runtime(TRAVELING_RUBY_VERSION, "windows-x86_64")
92+
end
93+
file "build/traveling-ruby-#{TRAVELING_RUBY_VERSION}-windows-x86.tar.gz" do
94+
download_runtime(TRAVELING_RUBY_VERSION, "windows-x86")
6895
end
6996

7097
def create_package(version, source_target, package_target, os_type)
@@ -195,7 +222,7 @@ end
195222

196223
def download_runtime(version, target)
197224
sh "cd build && curl -L -O --fail " +
198-
"http://d6r77u77i8pq3.cloudfront.net/releases/traveling-ruby-#{version}-#{target}.tar.gz"
225+
"https://github.com/YOU54F/traveling-ruby/releases/download/rel-20230508/traveling-ruby-#{version}-#{target}.tar.gz"
199226
end
200227

201228
def install_plugin_cli(package_dir, package_target)
@@ -204,11 +231,19 @@ def install_plugin_cli(package_dir, package_target)
204231
sh "curl -L -o #{package_dir}/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v#{PLUGIN_CLI_VERSION}/pact-plugin-cli-linux-x86_64.gz"
205232
sh "gunzip -N -f #{package_dir}/bin/pact-plugin-cli.gz"
206233
sh "chmod +x #{package_dir}/bin/pact-plugin-cli"
207-
when "osx"
234+
when "linux-arm64"
235+
sh "curl -L -o #{package_dir}/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v#{PLUGIN_CLI_VERSION}/pact-plugin-cli-linux-aarch64.gz"
236+
sh "gunzip -N -f #{package_dir}/bin/pact-plugin-cli.gz"
237+
sh "chmod +x #{package_dir}/bin/pact-plugin-cli"
238+
when "osx-x86_64"
208239
sh "curl -L -o #{package_dir}/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v#{PLUGIN_CLI_VERSION}/pact-plugin-cli-osx-x86_64.gz"
209240
sh "gunzip -N -f #{package_dir}/bin/pact-plugin-cli.gz"
210241
sh "chmod +x #{package_dir}/bin/pact-plugin-cli"
211-
when "win32"
242+
when "osx-arm64"
243+
sh "curl -L -o #{package_dir}/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v#{PLUGIN_CLI_VERSION}/pact-plugin-cli-osx-aarch64.gz"
244+
sh "gunzip -N -f #{package_dir}/bin/pact-plugin-cli.gz"
245+
sh "chmod +x #{package_dir}/bin/pact-plugin-cli"
246+
when "windows-x86_64"
212247
sh "curl -L -o #{package_dir}/bin/pact-plugin-cli.exe.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v#{PLUGIN_CLI_VERSION}/pact-plugin-cli-windows-x86_64.exe.gz"
213248
sh "gunzip -N -f #{package_dir}/bin/pact-plugin-cli.exe.gz"
214249
sh "chmod +x #{package_dir}/bin/pact-plugin-cli.exe"

0 commit comments

Comments
 (0)