|
2 | 2 |
|
3 | 3 | require "shellwords" |
4 | 4 |
|
5 | | -class RakeCargoHelper |
| 5 | +class ThreadIdRakeCargoHelper |
6 | 6 | attr_reader :gemname |
7 | 7 |
|
8 | 8 | def initialize(gemname=File.basename(__dir__)) |
@@ -104,54 +104,55 @@ class RakeCargoHelper |
104 | 104 |
|
105 | 105 | end |
106 | 106 |
|
107 | | -task default: [:install, :clean] |
| 107 | +task default: [:thread_id_install, :thread_id_clean] |
| 108 | +task thread_id: [:thread_id_install, :thread_id_clean] |
108 | 109 |
|
109 | 110 | desc "set dev mode for subsequent task, run like `rake dev install`" |
110 | | -task :dev do |
| 111 | +task :thread_id_dev do |
111 | 112 | @dev = true |
112 | 113 | end |
113 | 114 |
|
114 | 115 | desc "build gem native extension and copy to lib" |
115 | | -task install: [:cd, :build] do |
116 | | - helper = RakeCargoHelper.new |
| 116 | +task thread_id_install: [:thread_id_cd, :thread_id_build] do |
| 117 | + helper = ThreadIdRakeCargoHelper.new |
117 | 118 | profile_dir = @dev ? "debug" : "release" |
118 | | - source = File.join(RakeCargoHelper.cargo_target_dir, profile_dir, helper.rust_name) |
| 119 | + source = File.join(ThreadIdRakeCargoHelper.cargo_target_dir, profile_dir, helper.rust_name) |
119 | 120 | dest = File.join(helper.install_dir, helper.ruby_name) |
120 | 121 | mkdir_p(helper.install_dir) |
121 | 122 | rm(dest) if File.exist?(dest) |
122 | 123 | cp(source, dest) |
123 | 124 | end |
124 | 125 |
|
125 | 126 | desc "build gem native extension" |
126 | | -task build: [:cargo, :cd] do |
127 | | - sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *RakeCargoHelper.flags |
| 127 | +task thread_id_build: [:thread_id_cargo, :thread_id_cd] do |
| 128 | + sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *ThreadIdRakeCargoHelper.flags |
128 | 129 | end |
129 | 130 |
|
130 | 131 | desc "clean up release build artifacts" |
131 | | -task clean: [:cargo, :cd] do |
| 132 | +task thread_id_clean: [:thread_id_cargo, :thread_id_cd] do |
132 | 133 | sh "cargo clean --release" |
133 | 134 | end |
134 | 135 |
|
135 | 136 | desc "clean up build artifacts" |
136 | | -task clobber: [:cargo, :cd] do |
| 137 | +task thread_id_clobber: [:thread_id_cargo, :thread_id_cd] do |
137 | 138 | sh "cargo clean" |
138 | 139 | end |
139 | 140 |
|
140 | 141 | desc "check for cargo" |
141 | | -task :cargo do |
142 | | - raise <<-MSG unless RakeCargoHelper.command?("cargo") |
| 142 | +task :thread_id_cargo do |
| 143 | + raise <<-MSG unless ThreadIdRakeCargoHelper.command?("cargo") |
143 | 144 | This gem requires a Rust compiler and the `cargo' build tool to build the |
144 | 145 | gem's native extension. See https://www.rust-lang.org/tools/install for |
145 | 146 | how to install Rust. `cargo' is usually part of the Rust installation. |
146 | 147 | MSG |
147 | 148 |
|
148 | | - raise <<-MSG if Gem.win_platform? && RakeCargoHelper.rust_toolchain !~ /gnu/ |
149 | | - Found Rust toolchain `#{RakeCargoHelper.rust_toolchain}' but the gem native |
| 149 | + raise <<-MSG if Gem.win_platform? && ThreadIdRakeCargoHelper.rust_toolchain !~ /gnu/ |
| 150 | + Found Rust toolchain `#{ThreadIdRakeCargoHelper.rust_toolchain}' but the gem native |
150 | 151 | extension requires the gnu toolchain on Windows. |
151 | 152 | MSG |
152 | 153 | end |
153 | 154 |
|
154 | 155 | # ensure task is running in the right dir |
155 | | -task :cd do |
| 156 | +task :thread_id_cd do |
156 | 157 | cd(__dir__) unless __dir__ == pwd |
157 | 158 | end |
0 commit comments