Skip to content

Commit 28cf15f

Browse files
committed
Create final tarball
1 parent 46bb699 commit 28cf15f

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

src/commands/build.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use tracing::info;
1616
use xz2::read::XzDecoder;
1717

1818
use crate::{
19-
check_hash,
19+
check_hash, create_tarball,
2020
package::{Info, Package, Source, StepVariant},
2121
};
2222

@@ -29,7 +29,7 @@ pub async fn build() -> Result<()> {
2929

3030
let package = Package::parse(&fs::read_to_string(package_path)?)?;
3131

32-
let info = package.info;
32+
let info = &package.info;
3333
info!(
3434
"Building package \"{}\" version {}",
3535
&info.name, &info.version
@@ -45,17 +45,17 @@ pub async fn build() -> Result<()> {
4545
fs::remove_dir_all("sources")?;
4646
}
4747

48-
for source in package.sources {
49-
let file_path = fetch_and_verify_source(&client, &source, &info).await?;
48+
for source in &package.sources {
49+
let file_path = fetch_and_verify_source(&client, source, &info).await?;
5050
extract_source(&file_path)?;
5151
}
5252

5353
let mut working_dir = current_dir()?;
5454

55-
for step in package.steps {
55+
for step in &package.steps {
5656
info!("Running step: {}", step.name);
5757

58-
match step.variant {
58+
match &step.variant {
5959
StepVariant::Command { command, runner } => {
6060
let result = runner
6161
.into_command()
@@ -75,7 +75,7 @@ pub async fn build() -> Result<()> {
7575
}
7676
}
7777

78-
// create_tarball(path, &package)?;
78+
create_tarball(current_dir()?.join("package"), &package)?;
7979

8080
info!("Package '{}' built successfully!", info.name);
8181
Ok(())

src/lib.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use std::{
22
borrow::Cow,
3+
env::current_dir,
34
fs::{self, File},
45
path::Path,
56
sync::LazyLock,
@@ -34,15 +35,15 @@ pub fn check_hash<P: AsRef<Path>>(path: P, hash: &str) -> Result<bool> {
3435
Ok(hash == computed_hash)
3536
}
3637

37-
fn _create_tarball<P: AsRef<Path>>(package_path: P, package: &Package) -> Result<()> {
38-
let tarball_name = format!("{}_{}.peach", package.info.name, package.info.version);
39-
let tarball_path = package_path.as_ref().join(&tarball_name);
38+
pub fn create_tarball<P: AsRef<Path>>(package_path: P, package: &Package) -> Result<()> {
39+
let tarball_name = format!("{}-{}.peach", package.info.name, package.info.version);
40+
let tarball_path = current_dir()?.join(&tarball_name);
4041
let tar_gz = File::create(&tarball_path)?;
4142
let enc = GzEncoder::new(tar_gz, Compression::default());
4243
let mut tar = tar::Builder::new(enc);
4344

4445
tar.append_dir_all(".", package_path)?;
4546

46-
info!("Created tarball: {}", tarball_name);
47+
info!("Created package: {}", tarball_name);
4748
Ok(())
4849
}

0 commit comments

Comments
 (0)