I've thought a little bit more about the model and I came up with a slightly different syntax. A file with examples can be found here: https://svn.apache.org/repos/asf/sling/trunk/launchpad/slingstart/src/main/model/example.txt
The previous version messed up features and run modes and made them the same. But that's not true, a feature can have artifacts in different run modes. So I changed the model and now each file represents a single feature, a feature has a name which is usually derived from the file name of the model file. A feature has variables that can be used for the values of settings and configurations and also to specify artifacts. A feature consists of run modes - the global one is the default run mode and always active. A run mode can have settings, configurations, and artifacts. In the txt file, each part is introduced with a section notation, like [configurations], [artifacts] etc. An artifact is just a single line with the maven coordinates of the artifact. it can have additional information like the sha1 etc. A configuration is started with a line containing the pid or factory pid + alias, followed by the contents of the configuration and ends with an empty line. Each object in the model can have comments preceding the object. Based on this we'll have two utility methods: one for agregating a model based on features. This is e.g. reading a directory of model files in alphabetical order. The aggregation checks for unique variables etc. The second utility method is merging - it merges a complete (aggregated model) with another aggregated one. This allows for overlaying or customing. WDYT? Regards Carsten 2014-09-30 8:11 GMT+02:00 Carsten Ziegeler <[email protected]>: > Hi, > > 2014-09-29 15:36 GMT+02:00 Carsten Ziegeler <[email protected]>: > >> Hi Bertrand, >> >> >> 2014-09-29 14:42 GMT+02:00 Bertrand Delacretaz <[email protected]>: >> >>> >>> Can we call this "startup model" BTW? It's more descriptive than >>> slingstart. >>> >>> I'm fine with nearly any name, I just picked the first thing running >> through my brain... >> While "startup model" is more descriptive, the model can also be used to >> describe partial systems (being it a subsystem etc.), therefore "startup" >> is slightly missleading. >> The same goes with "instance model". I thought about "runtime model" but >> that seems to be not 100% correct, either :) >> > > What about Sling Provisioning Model (SPM) ? > > Carsten > > > -- > Carsten Ziegeler > Adobe Research Switzerland > [email protected] > -- Carsten Ziegeler Adobe Research Switzerland [email protected]
