Platform Model
The file extension for platform models in JoinedWorkz is: 'profile'.
Platform Model Elements
Stereotypes
The basic syntax for definition a stereotype:
stereotype name applicable for modelElementType
[specialization of baseStereoType]
[propagated by propagationType]
Some basic stereotypes defined in base-common platform:

Outlets
An outlet is the definition for an output which can be used by generators.
The basic syntax for definition an outlet:
[abstract] outlet name [specialization of baseOutput]
[createNotExistingDirectory = booleanValue]
[overwriteExistingFiles = booleanValue]
[markAsDerived = booleanValue]
[deleteFilesOnCleanBuild = booleanValue]
[cleanWholdDirectoryOnCleanBuild = booleanValue]
[keepLocalHistory = booleanValue]
[directory = directory]
Definition of a standard outlet and a specialized outlet for OpenApi files:

Cartridges
A cartridge consists of one or more generators which belongs together. Cardridges and Generators Java-classes which can be coded by the templating framework of you choice or in plain Java.
The basic syntax for the definition a cartridge:
cartridge name implementation = JavaClassNameOfImplementation
(outlets = OutletName)+
Definition of a cartridge:

Settings
The basic syntax for definition of a platform setting:
setting name implementation = JavaClassNameOfDependencyInjectionModule
Definition of a cartridge:

Platform
The basic syntax for definition of a platform :
platform name setting = SettingName {
(apply cartridge CartridgeName)*
(contribute to modelElementType { (property propertyName: propertyType)* })*
}
Definition of a cartridge:

