Skip to content

Commit 9a14a2b

Browse files
authored
HELLO FASTLANE! (#207)
1 parent 502959a commit 9a14a2b

File tree

15 files changed

+632
-82
lines changed

15 files changed

+632
-82
lines changed

.github/workflows/gg.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ jobs:
253253
strategy:
254254
matrix:
255255
os: [ ubuntu-22.04, windows-2022 ]
256-
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "rat -V", "run:java@14 java -version", "deno -V", "caddy -v", "jbang --version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version", "fortio version" ]
256+
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "rat -V", "run:java@14 java -version", "deno -V", "caddy -v", "jbang --version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version", "fortio version", "fastlane --version" ]
257257

258258
runs-on: ${{ matrix.os }}
259259
steps:
@@ -292,7 +292,7 @@ jobs:
292292
strategy:
293293
matrix:
294294
os: [ macos-13 ]
295-
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "rat -V", "run:java@14 java -version", "deno -V", "jbang --version", "gh/cli/cli version", "gh version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version" ]
295+
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "rat -V", "run:java@14 java -version", "deno -V", "jbang --version", "gh/cli/cli version", "gh version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version", "fastlane --version" ]
296296

297297
runs-on: ${{ matrix.os }}
298298
steps:
@@ -314,7 +314,7 @@ jobs:
314314
strategy:
315315
matrix:
316316
os: [ ubuntu-22.04-arm, macos-latest ]
317-
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "deno -V", "jbang --version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version" ]
317+
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "deno -V", "jbang --version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version", "fastlane --version" ]
318318

319319
runs-on: ${{ matrix.os }}
320320
steps:
@@ -336,7 +336,7 @@ jobs:
336336
strategy:
337337
matrix:
338338
os: [ windows-2022 ]
339-
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "rat -V", "run:java@14 java -version", "deno -V", "caddy -v", "jbang --version", "gh/cli/cli version", "gh version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version", "fortio version" ]
339+
cmd: [ "node -v", "java -version", "gradle -version", "openapi version", "rat -V", "run:java@14 java -version", "deno -V", "caddy -v", "jbang --version", "gh/cli/cli version", "gh version", "just -V", "run:java@21-azul java -version", "run:java@21-tem java -version", "run:java@17-tem java -version", "fortio version", "fastlane --version" ]
340340

341341
runs-on: ${{ matrix.os }}
342342
steps:

src/stage3/CMakeLists.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,15 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sha256-512/CMakeLists.txt)
1616
message(FATAL_ERROR "Failed to clone sha256-512 repository")
1717
endif ()
1818

19-
message(STATUS "sha256-512 library cloned and patched successfully")
19+
message(STATUS "sha256-512 library cloned successfully")
20+
endif ()
21+
22+
# Hacking the sha256-512 CMakeLists.txt to ensure compatibility (shrug)
23+
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sha256-512/CMakeLists.txt)
24+
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/sha256-512/CMakeLists.txt CMAKELISTS_CONTENT)
25+
string(REGEX REPLACE "cmake_minimum_required *\\(VERSION [0-9]+\\.[0-9]+\\)" "cmake_minimum_required(VERSION 3.10)" CMAKELISTS_CONTENT "${CMAKELISTS_CONTENT}")
26+
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/sha256-512/CMakeLists.txt "${CMAKELISTS_CONTENT}")
27+
message(STATUS "sha256-512 CMakeLists.txt patched for compatibility")
2028
endif ()
2129

2230
add_subdirectory(sha256-512)

src/stage4/Cargo.lock

Lines changed: 83 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/stage4/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ tempfile = "3.8"
3232
ctrlc = "3.4"
3333
toml = "0.9.5"
3434
shlex = "1.3.0"
35+
sevenz-rust = "0.6.1"

src/stage4/src/bloody_indiana_jones.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ use log::{debug, info};
99
use tempfile::tempdir;
1010
use tokio::task;
1111

12+
use crate::gem_utils;
13+
1214
fn get_file_name(url: &str) -> String {
1315
reqwest::Url::parse(url)
1416
.unwrap()
@@ -190,7 +192,31 @@ impl BloodyIndianaJones {
190192
.await
191193
.expect("Unable to unzip");
192194
}
195+
Some("7z") => {
196+
info!("Decompressing 7z");
197+
info!("Path is {}", &self.path);
198+
self.pb.set_message("Un7z");
199+
let file_path_string = self.file_path.clone();
200+
let path_string = self.path.clone();
201+
task::spawn_blocking(move || {
202+
create_dir_all(&path_string).expect("Unable to create download dir");
203+
let archive_file = File::open(file_path_string).unwrap();
204+
sevenz_rust::decompress(archive_file, &path_string).unwrap();
205+
})
206+
.await
207+
.expect("Unable to extract 7z");
208+
}
193209
Some("tar") => (),
210+
Some("gem") => {
211+
info!("Processing gem file");
212+
self.pb.set_message("Installing gem");
213+
create_dir_all(&self.path).expect("Unable to create download dir");
214+
215+
let gem_path = Path::new(&self.path).join(&self.file_name);
216+
std::fs::copy(&self.file_path, &gem_path).unwrap();
217+
218+
let _ = gem_utils::install_gem_to_cache(gem_path.to_str().unwrap(), &self.path);
219+
}
194220
_ => {
195221
self.pb.set_message("Copy");
196222
create_dir_all(&self.path).expect("Unable to create download dir");

src/stage4/src/cli.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub struct ClapCmd {
1010
pub distribution: Option<String>,
1111
pub include_tags: HashSet<String>,
1212
pub exclude_tags: HashSet<String>,
13+
pub gems: Option<Vec<String>>,
1314
}
1415

1516
#[derive(Parser, Debug, Clone)]
@@ -119,6 +120,7 @@ impl Cli {
119120
distribution: None,
120121
include_tags: HashSet::new(),
121122
exclude_tags: HashSet::new(),
123+
gems: None,
122124
}],
123125
app_args,
124126
)
@@ -132,6 +134,7 @@ impl Cli {
132134
distribution: None,
133135
include_tags: HashSet::new(),
134136
exclude_tags: HashSet::new(),
137+
gems: None,
135138
}],
136139
app_args,
137140
)
@@ -143,6 +146,7 @@ impl Cli {
143146
distribution: None,
144147
include_tags: HashSet::new(),
145148
exclude_tags: HashSet::new(),
149+
gems: None,
146150
}],
147151
vec![],
148152
),
@@ -158,6 +162,7 @@ impl Cli {
158162
distribution: None,
159163
include_tags: HashSet::new(),
160164
exclude_tags: HashSet::new(),
165+
gems: None,
161166
}],
162167
vec![],
163168
)
@@ -174,6 +179,7 @@ impl Cli {
174179
distribution: None,
175180
include_tags: HashSet::new(),
176181
exclude_tags: HashSet::new(),
182+
gems: None,
177183
}],
178184
self.args[1..].to_vec(),
179185
);
@@ -348,6 +354,7 @@ fn parse_command_string(cmd_string: &str, config: &GgConfig) -> Vec<ClapCmd> {
348354
distribution,
349355
include_tags,
350356
exclude_tags,
357+
gems: None,
351358
}
352359
})
353360
.collect()

src/stage4/src/executor.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ pub struct ExecutorCmd {
180180
pub distribution: Option<String>,
181181
pub include_tags: HashSet<String>,
182182
pub exclude_tags: HashSet<String>,
183+
pub gems: Option<Vec<String>>,
183184
}
184185

185186
#[derive(Debug, Clone)]

src/stage4/src/executors/bld.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ mod tests {
261261
distribution: None,
262262
include_tags: HashSet::new(),
263263
exclude_tags: HashSet::new(),
264+
gems: None,
264265
});
265266

266267
let app_input = AppInput {
@@ -301,6 +302,7 @@ mod tests {
301302
distribution: None,
302303
include_tags: HashSet::new(),
303304
exclude_tags: HashSet::new(),
305+
gems: None,
304306
});
305307

306308
let app_input = AppInput {

0 commit comments

Comments
 (0)