← All languages

wildling

Groovy library and CLI for pattern-based string generation. Zero third-party dependencies (Groovy/Java stdlib only — hand-rolled JSON parser). Requires Groovy 4+ / JVM 17+.

Example

Install

From this repository:

cd groovy
./build.sh
./bin/wildling "Year 19##"

From a release tag:

git clone --branch v2.0.0 --depth 1 https://github.com/dotmonk/wildling.git
cd wildling
./build.sh groovy

Registry: Maven Central — io.github.dotmonk:wildling-groovy

implementation 'io.github.dotmonk:wildling-groovy:2.0.2'

Produces dist/wildling.jar via ./build.sh. Requires a JRE to run (java -jar), or Docker (the launcher falls back to the Temurin image if java is not on PATH).

import wildling.Wildling

def w = Wildling.createWildling(["Year 19##"])
def value = w.next()
while (value != false) {
    println value
    value = w.next()
}

CLI

./bin/wildling "Year 19##"
./bin/wildling --dictionary planets:../dictionaries/planets.txt "%{'planets'}"
./bin/wildling --template ./config.json

Help text and --check output follow docs/cli.md / docs/help.txt.

Build

./build.sh   # Docker (eclipse-temurin:21-jdk-jammy + Apache Groovy): copy help.txt + groovyc

Project tests live in ../tests/ and are run with ../test.sh.