Open Source Build Systems in Java

23 projects

Apache Maven is a build tool for Java projects. Using a project object model (POM), it manages compilation, testing, packaging, and documentation. It provides dependency management, a large plugin ecosystem, and integration with the Central Repository.

Details

Jar Jar Links repackages Java libraries and embeds them into your distribution so you can ship a single JAR with no external dependencies and avoid version conflicts. It provides an Ant task (extends the jar task), Gradle support, and a command-line tool; rules use wildcards to rename packages and bytecode is transformed via ASM. Maintained fork of the ori...

Details

Jenkins is an open source automation server for continuous integration and delivery. It runs in a servlet container, supports many SCMs and build tools (Ant, Maven, shell, etc. ), and can monitor externally-run jobs.

Details

Apache Ant is a Java library and command-line tool that drives build processes described in XML as targets and extension points. It is commonly used to compile, test, and run Java applications and can be combined with Apache Ivy for dependency management. Actively maintained by the Apache Software Foundation.

Details

GenJar is an Ant task that builds JARs from class dependencies instead of directory contents. It recursively resolves required classes from the classpath and can handle resources and filtering. Recent releases (e.

Details

Apache Ivy is a dependency manager focused on flexibility and simplicity, with transitive dependencies, Ant integration, Maven repository compatibility, and optional resolution reports. It is part of the Apache Ant project and is actively maintained.

Details
APBInactive

APB is a project build system that takes ideas from Ant and Maven but uses Java for project definition instead of XML. It provides default layouts, model-based builds, dependency management, full lifecycle (compile, package, test), coverage support, documentation generation, IDE project file generation (IntelliJ), and Ant tasks for integration. Build and r...

Details
AutojarInactive

Autojar builds minimal JARs by starting from one or more entry classes and recursively resolving bytecode references to other classes from input archives. It can also collect resources (e. g.

Details
CPMakeInactive

CPMake is a Java-based make utility that uses rules and dependencies like GNU make. Build files can be written in BeanShell, Rhino, Jython, or Groovy. It includes dependency tracking for C/C++ and Java and supports multi-threaded builds.

Details

CruiseControl is a continuous integration framework and toolkit with plugins for Ant, Maven, NAnt, Phing, Rake, Xcode, and exec-based builds. It supports multiple source controls and notification schemes (email, IM) and provides a web interface for build history. BSD-licensed; maintained by volunteers.

Details
InvictaInactive

Invicta is a build management tool that generates Apache Ant build scripts from simple project definition files, hiding Ant's complexity. The original project site is frames-based and largely legacy; the project is hosted on SourceForge.

Details
JMKInactive

JMK is a Java-based make utility for writing platform-independent makefiles. File names and path lists are written in a canonical form and translated by JMK into native form, so the same makefile can be used across different machines and operating systems. Distributed as an executable JAR from SourceForge.

Details
RantInactive

Rant (Remote Ant) is a distributed build system that lets an Ant build file launch builds on remote systems and receive exceptions from those runs.

Details
SchmantInactive

Schmant is a scriptable build tool for software artifacts. Build scripts can be written in Groovy, JavaScript, JRuby, or Jython and use tasks for compiling Java, building JARs, Subversion export, and text substitution. It supports parallel task execution, Ant task integration, task packages, and Eclipse and Hudson plugins.

Details
Ant HillInactive

Ant Hill is an Ant library for remote invocation of build targets over XMPP (Jabber). It provides client/server remote target invocation for coordinating builds across clusters, extensible remote commands, and error reporting via remote exception propagation. The project was hosted on Google Code and is no longer actively maintained.

Details
AntmodInactive

Antmod is an Ant-based build, release, and repository management tool with integrated CVS and Subversion support. It standardizes build files, tagging, and branching across projects and provides plugins for Java and non-Java projects. The project is no longer in active development.

Details

Apache Continuum was a continuous integration and build server with automated builds, release management, and role-based security. It supported Maven 1 and 2, Ant, and shell scripts. The project was retired in May 2016 and is maintained in the Apache Attic; last release was 1.

Details
BeeInactive

Bee is a Java-based build tool inspired by Make, with richer procedural language constructs for scripting. It is extensible and its base DTD can be changed to define custom dialects. The original project site is no longer available; linked snapshot is from 2005.

Details
HudsonInactive

Eclipse Hudson was a Java-based continuous integration server running in a servlet container (e. g. Tomcat).

Details
JAMInactive

JAM (JavaGen Ant Modules) is a collection of Ant scripts for common Java/J2EE build tasks: compilation, packaging, testing, deployment, and application server control. It combines Maven-style project description and repository features with Ant, and supports XDoclet, JUnit, Cactus, and various J2EE servers.

Details
LuntBuildInactive

LuntBuild is a build automation and management tool with a web-based interface for scheduling and running builds. It supports multiple VCSs, Ant and Maven builds, flexible scheduling, build dependencies, and role-based access. Build artifacts and logs are published for the team.

Details
ProximityInactive

Proximity (px-core) is a fetch-and-cache engine with Maven bindings (px-core-maven) that implements a Maven repository proxy. It caches and aggregates remote Maven repositories into a single logical repository and can publish in-house or external artifacts. It runs as a Java web application for intranet use.

Details
SavantInactive

Savant is an extension to Apache Ant that adds capabilities to the build system.

Details