From 7883aff5f7532b71c60bcbd7eea720f822cc0de1 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Tue, 22 Aug 2023 12:59:36 +0200 Subject: [PATCH] revert 619b73d03e795b402499bf2ee7ab00cffc0babca There's really no scenario where we want to generate boilerplate that always end up being removed. In particular, the boilerplate breaks tutorial as it generate conflicting validators in the blueprint. The only argument in favor of the boilerplate is to serve as example and show people some syntax reminder. However, this is better done in the README or on the user manual directly. --- CHANGELOG.md | 7 +++++ crates/aiken/src/cmd/new.rs | 63 +++++-------------------------------- 2 files changed, 14 insertions(+), 56 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a33a0a51..a19e97d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## v1.0.16-alpha - unreleased + +### Removed + +- **aiken**: `aiken new` no longer accept an `--empty` flag. Projects are + generated empty by default. + ## v1.0.15-alpha - 2023-08-19 ### Fixed diff --git a/crates/aiken/src/cmd/new.rs b/crates/aiken/src/cmd/new.rs index 6ddf2ad1..d8be2d08 100644 --- a/crates/aiken/src/cmd/new.rs +++ b/crates/aiken/src/cmd/new.rs @@ -21,9 +21,6 @@ pub struct Args { /// Library only #[clap(long, short)] lib: bool, - /// Empty project - #[clap(long, short)] - empty: bool, } pub fn exec(args: Args) -> miette::Result<()> { @@ -42,10 +39,10 @@ fn create_project(args: Args, package_name: &PackageName) -> miette::Result<()> })?; } - create_lib(&root, package_name, args.empty)?; + create_lib(&root, package_name)?; if !args.lib { - create_validators(&root, package_name, args.empty)?; + create_validators(&root)?; } readme(&root, &package_name.repo)?; @@ -72,7 +69,7 @@ fn print_success_message(package_name: &PackageName) { {aiken} check {aiken} build - {hint} You may want to update the {stdlib} version in {toml}. + {hint} You may want to update the {stdlib} version in {toml}. "#, s = "successfully" .if_supports_color(Stderr, |s| s.bright_green()) @@ -99,60 +96,14 @@ fn print_success_message(package_name: &PackageName) { ) } -fn create_lib(root: &Path, package_name: &PackageName, empty: bool) -> miette::Result<()> { +fn create_lib(root: &Path, package_name: &PackageName) -> miette::Result<()> { let lib = root.join("lib").join(&package_name.repo); - - fs::create_dir_all(&lib).into_diagnostic()?; - - if empty { - return Ok(()); - } - - fs::write( - lib.join("types.ak"), - formatdoc! { - r#" - /// Custom type - pub type Datum {{ - /// A utf8 encoded message - message: ByteArray, - }} - - test sum() {{ - 1 + 1 == 2 - }} - "#, - }, - ) - .into_diagnostic() + fs::create_dir_all(&lib).into_diagnostic() } -fn create_validators(root: &Path, package_name: &PackageName, empty: bool) -> miette::Result<()> { +fn create_validators(root: &Path) -> miette::Result<()> { let validators = root.join("validators"); - - fs::create_dir_all(&validators).into_diagnostic()?; - - if empty { - return Ok(()); - } - - fs::write( - validators.join("hello.ak"), - formatdoc! { - r#" - use aiken/transaction.{{ScriptContext}} - use {name}/types - - validator {{ - fn spend(datum: types.Datum, _redeemer: Data, _ctx: ScriptContext) -> Bool {{ - datum.message == "Hello World!" - }} - }} - "#, - name = package_name.repo - }, - ) - .into_diagnostic() + fs::create_dir_all(&validators).into_diagnostic() } fn readme(root: &Path, project_name: &str) -> miette::Result<()> {