Add path-absolutize crate and use it in build.rs and init.rs
This commit is contained in:
parent
0432c8466e
commit
742d128030
|
@ -20,4 +20,5 @@ toml = "0.8.12"
|
|||
shulkerscript-lang = {path = "../shulkerscript-lang", features = ["shulkerbox"], default-features = false}
|
||||
shulkerbox = {path = "../shulkerbox", default-features = false}
|
||||
git2 = { version = "0.18.3", default-features = false }
|
||||
path-absolutize = "3.1.1"
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use path_absolutize::Absolutize;
|
||||
|
||||
use crate::{
|
||||
config::ProjectConfig,
|
||||
error::{Error, Result},
|
||||
|
@ -5,8 +7,6 @@ use crate::{
|
|||
};
|
||||
use std::{fs, path::PathBuf};
|
||||
|
||||
use crate::util;
|
||||
|
||||
#[derive(Debug, clap::Args, Clone)]
|
||||
pub struct BuildArgs {
|
||||
/// The path of the project to build.
|
||||
|
@ -17,8 +17,10 @@ pub struct BuildArgs {
|
|||
pub fn build(_verbose: bool, args: &BuildArgs) -> Result<()> {
|
||||
let path = args.path.as_path();
|
||||
|
||||
let str_path = util::to_absolute_path(path)?;
|
||||
print_info(&format!("Building project at {}", str_path));
|
||||
print_info(&format!(
|
||||
"Building project at {}",
|
||||
path.absolutize()?.display()
|
||||
));
|
||||
|
||||
let toml_path = if !path.exists() {
|
||||
print_error("The specified path does not exist.");
|
||||
|
@ -61,7 +63,7 @@ pub fn build(_verbose: bool, args: &BuildArgs) -> Result<()> {
|
|||
|
||||
print_info(&format!(
|
||||
"Finished building project to {}",
|
||||
util::to_absolute_path(&dist_path)?
|
||||
dist_path.absolutize_from(path)?.display()
|
||||
));
|
||||
|
||||
Ok(())
|
||||
|
|
|
@ -7,12 +7,12 @@ use clap::ValueEnum;
|
|||
use git2::{
|
||||
IndexAddOption as GitIndexAddOption, Repository as GitRepository, Signature as GitSignature,
|
||||
};
|
||||
use path_absolutize::Absolutize;
|
||||
|
||||
use crate::{
|
||||
config::ProjectConfig,
|
||||
error::{Error, Result},
|
||||
terminal_output::{print_error, print_info, print_success},
|
||||
util::to_absolute_path,
|
||||
};
|
||||
|
||||
#[derive(Debug, clap::Args, Clone)]
|
||||
|
@ -32,6 +32,7 @@ pub struct InitArgs {
|
|||
/// Force initialization even if the directory is not empty.
|
||||
#[clap(short, long)]
|
||||
force: bool,
|
||||
/// The version control system to initialize.
|
||||
#[clap(long, default_value = "git")]
|
||||
vcs: VersionControlSystem,
|
||||
}
|
||||
|
@ -118,7 +119,7 @@ fn create_pack_config(
|
|||
if verbose {
|
||||
print_info(&format!(
|
||||
"Created pack.toml file at {}.",
|
||||
to_absolute_path(&path)?
|
||||
path.absolutize()?.display()
|
||||
));
|
||||
}
|
||||
Ok(())
|
||||
|
@ -130,7 +131,7 @@ fn create_dir(path: &Path, verbose: bool) -> std::io::Result<()> {
|
|||
if verbose {
|
||||
print_info(&format!(
|
||||
"Created directory at {}.",
|
||||
to_absolute_path(path)?
|
||||
path.absolutize()?.display()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -143,7 +144,7 @@ fn create_gitignore(path: &Path, verbose: bool) -> std::io::Result<()> {
|
|||
if verbose {
|
||||
print_info(&format!(
|
||||
"Created .gitignore file at {}.",
|
||||
to_absolute_path(&gitignore)?
|
||||
gitignore.absolutize()?.display()
|
||||
));
|
||||
}
|
||||
Ok(())
|
||||
|
@ -155,7 +156,7 @@ fn create_pack_png(path: &Path, verbose: bool) -> std::io::Result<()> {
|
|||
if verbose {
|
||||
print_info(&format!(
|
||||
"Created pack.png file at {}.",
|
||||
to_absolute_path(&pack_png)?
|
||||
pack_png.absolutize()?.display()
|
||||
));
|
||||
}
|
||||
Ok(())
|
||||
|
@ -173,7 +174,7 @@ fn create_main_file(path: &Path, namespace: &str, verbose: bool) -> std::io::Res
|
|||
if verbose {
|
||||
print_info(&format!(
|
||||
"Created main.shu file at {}.",
|
||||
to_absolute_path(&main_file)?
|
||||
main_file.absolutize()?.display()
|
||||
));
|
||||
}
|
||||
Ok(())
|
||||
|
|
Loading…
Reference in New Issue