A pure Java 7 (Version 1) / Java 8 (Version 2) build tool with advanced compiler features including:
- Extremely fast (faster than all other Java build tools by between 20%-80%)
- Post processing of output bytecode
- Zero copy Jar creation
- Tail-recursion call optimisation (via TotallyLazy or system property "jcompilo.tailrec=your.annotation.Name")
- Test support via JUnit
- Dependency resolution via shavenmaven which gives us the following features
- Pack200 support (10 x faster downloads)
- Parallel downloads
- No transitives
- Supports 100% convention (no build file needed) or customisation in Java code
The following shows the default folder structure for a JCompilo project. This will be very familiar to old school open source developers.
- jcompilo.sh
- Build.java (optional)
- build (optional)
- build.dependencies (optional) see ShavenMaven
- runtime.dependencies (optional)
- optional.dependencies (optional)
- src
- META-INF (optional)
- MANIFEST.MF (optional)
- com
- example
- HelloWorld.java
- SomeResource.txt
- example
- META-INF (optional)
- test
- com
- example
- HelloWorldTest.java
- example
- com
http://repo.bodar.com/com/googlecode/jcompilo/jcompilo/
- Run tests while compiling!
- Even more compact console output
- Remove JUnit/Hamcrest dependency
- REPL
- Use REPL as build server from IntelliJ