Sebastian, the version is a similar situation. We have our own
git based versioning/changelog plugin So basically trying to sync versions for all sub-projects
based on the main one. Eventually allowing each project to
have its own version, but still reference the parent version.
As for the concrete example of needing eclipsemodel.project.name, Building the launch configurations
classpath requires the exact
eclipse project name
Version numbers and project name are needed at configuration time.
The current concrete examples of arbitrary data is our
run configurations where a convention plugin will apply them to each specific project, But I want a way to 'run datagen with all other projects that have data runs' I'll probably end up making a json file that only gets added in dev (non-ci) that spits out some form of marker for output locations and mod is per project. Or ideally, find a way to get the eclipse project name so I can build the launch group run config. The extra info could probably be used at runtime, so I can provide some metadata file. But would be nice for some arbitrary way to pass information between projects.
Perhaps gradle needs some form of light-weight configuration phase that just allows gathering data to be stored in a global config build service. Which then can be used in the normal configuration phase of each sub-project individually.
And ya i looked into build services, but with project isolation it seems that way is going to be dyeing off.