Is it possible for an sbt plugin to hook into sbt's project loading mechanism, and alter the properties of the current root project further after it is processed?
In other words, automatically:
- Take the root project
- Transform it in some way. For example, with a call to
dependsOn
. - Make the transformed project the new root project
An application for this would be to automatically check for a "checkouts" directory inside any loaded project's base directory, and call dependsOn
for each directory inside it that is symlinked. (Similar to Leiningen's checkouts feature).
See Setting up sbt environment to hack on multiple libraries at once
I would like to write (or consume) a plugin that does this automatically, but first need to know if this is viable.