Docs / Build

Build system

S8-meta-build

Developers work under dev.stack. S8StackBuilder walks the dependency DAG, compiles each module with javac --module-path against already-built jars on prod.stack, packages {target}.jar, and mirrors web/static assets into prod.

Per-module pipeline

  1. Working dir = {dev}/{target}.
  2. Clean forge/; create forge/java, forge/classes.
  3. Copy sources (and optional demos, tools, dev-ops) into forge/java/{module.java}/.
  4. Compile: javac --module-path {prod jars of deps} -d forge/classes --module-source-path forge/java --module {module.java}.
  5. Write MANIFEST.MF (Build-Mode: prod, optional Main-Class, Class-Path).
  6. Jar into {prod}/{target}/classes/{target}.jar.
  7. Copy build.properties, sources/, optional guidelines/, web-sources/ → web-classes/, static-assets/.

See build.properties and S8StackBuilder.