What is Pottery
Pottery is a build system for Java designed to be simple, fast and easy to use.
- Easy to use: Just a YAML file, no XMLs, no DSLs, no complex configuration.
- Fast: Parallel downloads and incremental compilation by default.
- Lightweight: The pottery fatJar is less than 2MB, the pottery wrapper is 1KB.
- Ready to use: Can compile to a library, a fatJar, a container or a native image by default.
Getting Started
You can find the documentation here.
An example pottery file:
parameters:
junit.version: "5.9.1"
snakeyaml.version: "1.33"
chalk.version: "1.0.2"
picocli.version: "4.7.0"
junit.platform.version: "1.9.0"
junit.engine.version: "5.9.1"
artifact:
group: "cat.pottery"
id: "pottery"
version: "0.3.2"
platform:
version: "17"
produces: "fatjar"
manifest:
main-class: "cat.pottery.ui.cli.Bootstrap"
dependencies:
- production: "org.yaml:snakeyaml:${snakeyaml.version}"
- production: "com.github.tomas-langer:chalk:${chalk.version}"
- production: "info.picocli:picocli:${picocli.version}"
- production: "org.junit.platform:junit-platform-launcher:${junit.platform.version}"
- production: "org.junit.jupiter:junit-jupiter-engine:${junit.engine.version}"
- test: "org.junit.jupiter:junit-jupiter-api:${junit.version}"