Java project management and build tool, using the Java language for Java 6+
Go to file
nathan 4dac5492eb Tracking .jar and .lzma files with git-lfs now 2018-06-11 00:20:46 +02:00
dist Tracking .jar and .lzma files with git-lfs now 2018-06-11 00:20:46 +02:00
jdkRuntimes Tracking .jar and .lzma files with git-lfs now 2018-06-11 00:20:46 +02:00
src/dorkbox Changed how serialization logging works 2018-04-04 15:04:28 +02:00
.gitattributes Tracking .jar and .lzma files with git-lfs now 2018-06-11 00:20:46 +02:00
.gitignore Updated ignores. Updated dist. Updated utils. Updated libs 2014-12-29 01:01:21 +01:00
JavaBuilder.iml Update dependencies 2018-01-11 21:13:00 +01:00
LICENSE Removed Dependency on FastMD5, now uses SHA1 hashes. 2017-07-29 22:12:06 +02:00
LICENSE.Apachev2 Initial import of OAK java build management 2014-12-25 19:53:27 +01:00
LICENSE.BSD3 Updated license info 2015-07-09 02:37:26 +02:00
LICENSE.GPLv2_CP Initial import of OAK java build management 2014-12-25 19:53:27 +01:00
LICENSE.MIT Initial import of OAK java build management 2014-12-25 19:53:27 +01:00
LICENSE.Public Updated license info, updated libraries 2015-06-28 00:46:09 +02:00
README.md updated readme format 2017-02-17 21:24:18 +01:00

README.md

JavaBuilder

The JavaBuilder project is a Java project management and build tool, using the Java language.

The main distinction between this tool and others, such as Ant, Maven, Ivy, Gradle, etc. is that this build tool lets you work directly in Java. Since you are building a Java project, it can safely be assumed that you already know Java. Additionally, because it's running compiled code (instead of interpreting or parsing lengthy config files) it's wicked fast.

Why use XML, Groovy, Scala, JavaScript, or some other language to build your project?
  • This is for cross-platform use, specifically - linux 32/64, mac 32/64, and windows 32/64. Java 6+
  • Ability to reproduce builds exactly the same (provided the same 'builddate') as a remote build
  • This also permits the use of cross-compiling projects or even specific classes in a project (for example, when a project is compiled to java6, but has a single file that is code specific to java7+)

For example:

For a real world example:

  • See the build code in the "build" directory, which is the build code used to build itself.
    • If you want to compile it yourself, copy the entire contents of the libs directory into the dist directory.
    • Then (from the project root), java -jar dist/JavaBuilder_v1.23.jar build JavaBuilder dist

An example of program log output is available here: https://github.com/dorkbox/JavaBuilder/wiki

Please see the commit log for a comprehensive changelog
Note: This project was inspired (and some parts heavily modified) by the excellent 
      Scar project, and includes utility classes/methods from a variety of sources.

License

This project is © 2012 dorkbox llc, and is distributed under the terms of the Apache v2.0 License. See file "LICENSE" for further references.