diff --git a/README.md b/README.md index 9ab0e65..4a94467 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,22 @@ cd demo raven run main.Main ``` +## Raven commands +Usage: raven + +Commands: + new Create a new raven project + init Create a new raven project in an existing directory + build Compile the current project + run Run the current project + test !!! BORKED !!! Run the tests + clean Remove the target directory and caching + help Print this message or the help of the given subcommand(s) + +Options: + -h, --help Print help + -V, --version Print version + ## Future plans - [ ] Make `raven run` fall back to an entry point specified in Nest.toml, when diff --git a/assets/src/main/Main.java b/assets/src/main/Main.java index e2c340f..52b9fad 100644 --- a/assets/src/main/Main.java +++ b/assets/src/main/Main.java @@ -1,5 +1,3 @@ -package main; - public class Main { public static void main(String[] args) { diff --git a/assets/src/test/Main.java b/assets/src/test/Main.java deleted file mode 100644 index 4da99a4..0000000 --- a/assets/src/test/Main.java +++ /dev/null @@ -1,12 +0,0 @@ -package test; - -public class Main { - - public static void main(String[] args) { - testAdd(); - } - - public static void testAdd() { - assert main.Main.add(2, 2) == 4; - } -} diff --git a/src/java.rs b/src/java.rs index e9d6f7c..7a89ccf 100644 --- a/src/java.rs +++ b/src/java.rs @@ -85,8 +85,19 @@ impl JVM { .into_iter() .flat_map(|f| Into::>::into(f)), ); + + for part in &cmd { + println!("{}", part); + } + cmd.push("-cp".to_string()); cmd.push(entry_point.as_ref().display().to_string()); + // Jave needs a class path and a file name to run. + cmd.push("Test".to_string()); + + println!("{:?}", cmd.as_slice()); + + let result = crate::io::run_process(cmd.as_slice()); if self.monitor @@ -118,12 +129,7 @@ pub enum VMFlag { impl Into> for VMFlag { fn into(self) -> Vec { - match self { - Self::EnableAssert => vec![String::from("-ea")], - Self::HeapMax { size } => vec![format!("Xmx{}", size)], - Self::HeapMin { size } => vec![format!("Xms{}", size)], - Self::Version => vec![String::from("--version")], - } + vec![self.to_string()] } } @@ -136,8 +142,8 @@ impl fmt::Display for VMFlag { "-{}", match self { Self::EnableAssert => String::from("ea"), - Self::HeapMax { size } => format!("Xmx{}", size), - Self::HeapMin { size } => format!("Xms{}", size), + Self::HeapMax { size } => format!("Xmx{}", size.as_u64()), + Self::HeapMin { size } => format!("Xms{}", size.as_u64()), Self::Version => String::from("-version"), // --version } ) diff --git a/src/main.rs b/src/main.rs index d6409d9..266327a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -140,14 +140,14 @@ fn init() -> anyhow::Result<()> { f.write_all(include_bytes!("../assets/src/main/Main.java"))?; } - // Make src/test/Main.java + // Make src/test/Test.java if let Result::Ok(mut f) = OpenOptions::new().write(true).create_new(is_empty).open( DIR_TEST .clone() - .join("Main") + .join("Test") .with_extension(JAVA_EXT_SOURCE), ) { - f.write_all(include_bytes!("../assets/src/test/Main.java"))?; + f.write_all(include_bytes!("../assets/src/test/Test.java"))?; } // git init . @@ -263,7 +263,7 @@ fn test(assertions: bool) -> anyhow::Result<(Option, Option)> { .ram_max(ByteSize::mib(512)) .monitor(true) .build() - .run(DIR_TEST.as_path()) + .run(DIR_TARGET.as_path()) } fn clean() {