Pants is a build system for Java, Scala and Python. It works particularly well for a source code repository that contains many distinct projects.
- Builds Java, Scala, and Python.
- Adding support for new languages is straightforward.
- Supports code generation: thrift, protocol buffers, custom code generators.
- Resolves external JVM and Python dependencies.
- Runs tests.
- Spawns Python and Scala REPLs with appropriate load paths.
- Creates deployable packages.
- Scales to large repos with many interdependent modules.
- Designed for incremental builds.
- Support for local and distributed caching.
- Especially fast for Scala builds, compared to alternatives.
- Builds standalone python executables (PEX files)
- Has a plugin system to add custom features and override stock behavior.
- Runs on Linux and Mac OS X.
Build, Test, Deploy
tools that are known for: