Hello guys I have a question related to how includedBuilds and dependency substition works when related to the configuration phase.
We develop a plugin that functions as an MDK plugin for gradle.
During build of the master project we publish an MDK jar as a variant of our primary artifact. This MDK Jar contains information on for example how to run tests, what dependencies are needed etc. Basically everything needed to create, compile, build and run a project that uses our system.
During normal operation we use a dummy configuration during the projects configuration phase to pull in that MDK jar from a repository. Generally our maven. This jar contains a config.json which is then parsed and read in. Creating a set of tasks that the modder can then invoke to run the game, or configure a set of dependencies when needed.
In general this works all very well. Caching is a bit sensitive to changes to the classpath but working pretty nicely. However when the master project is included as a build via "includeBuild" and we try to resolve the mdk jar then the resolve targets the right location on disk (aka build/libs/mdk-version.jar in the master project) yet the task that generates that jar is not run so it results in a file not found exception when we try to parse it.
Is a construct like this even possible?