Skip to content
/ jargo Public

A simple build and depenency manager for Java, inspired by Rust's cargo and node's npm.

Notifications You must be signed in to change notification settings

nicmr/jargo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jargo

A simple java build and dependency manager, following the philosophy of cargo and npm.

1. Features

1.1 Creating a new java project

$ ~/code %    jargo --new foo
> successfully created project 'foo'

1.2 Checking the current directory for a valid project file

$ ~/code/foo %    jargo --check
> Valid jargo.toml found at "~/code/foo/jargo.toml"
> Project name: foo

1.3 Building a project

$ ~/code/foo %    jargo --build
> target: "~/home/code/foo/target"
> Compiling Main.java ...

$ ~/code/foo %  ls ./target
> Main.class

1.4 Running a project

Main.java contents:

class Main{
    public static void main(String[] args){
        System.out.println("Hello world");
    }
}

--

$ ~/code/foo %    jargo --run
> Hello, world!

Note: Run will automatically build the project, no need to run jargo --build in advance

2. Project structure

~/code/foo
    src/
        -- Main.java 
        # source files go here
    target/
        --  Main.class
        # compiled .class files go here
    jargo.toml

3. Planned features

  • Better support for (sub)packages
  • Support for dependencies (.jars) and file resources (images, config files..)
  • Track source files: Only rebuild source files if they were changed
  • Change project config from the command line
  • Pass different entry point class to --run
  • Different verbosity levels
  • JUnit support

About

A simple build and depenency manager for Java, inspired by Rust's cargo and node's npm.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages