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: