Contributors Guide

This guide provides guidance to those looking to build the platform from source, either to contribute back pull requests and enhancements, or just to fork for their own purposes.

Directory Structure

_mothballed/           # unused from previous demo apps (eg fake SOAP external system)
adocs/
├── documentation/     # docs and website source
├── search/            # node.js scripts to generate searchable index
└── template/          # HTML template/styling for website
ex/
├── app/
│   └── quickstart/    # quickstart application
└── arch/
    └── quickstart/    # quickstart archetype
mavenmixins/
modules/               # modules making up the platform
├── pom.xml            # org.incode:incode-parent
├── dom/               # generic subdomains
├── ext/               # extensions
├── lib/               # libraries
├── mml/               # metamodel facets
├── spi/               # Core framework SPI (hook) implementations
└── wkt/               # Wicket viewer components

Building

The platform must be built in the following order:

  • mavenmixins/ - maven mixins, which is depended on by:

  • modules/ - modules, which is depended on by:

  • ex/app/quickstart/ - quickstart example app, which is used as the template for:

  • ex/app/archetype/ - quickstart archetype

Building the mavenmixins

These must be built first, because the modules depend upon them.

mvn clean install -Dskip.isis-validate -Dskip.isis-swagger -o

Building Modules

To build all modules, use:

mvn clean install -o

Running in parallel requires disabling the Apache Isis Maven plugin (it is currently not thread-safe):

mvn clean install -o -T1C -Dskip.isis-validate -Dskip.isis-swagger

To build an individual module, use:

mvn clean install  -D dom-alias -Dskip.default -o -Dskip.isis-validate -Dskip.isis-swagger