It is essentially the same sort of idea as test classes needing to be able to find the classes that they test. One stage of the build process depends on another stage of the build process.

Plugins that allow a compiler compiler to be incorporated into a build is another similar sort of idea where one stage of the build process depends on another stage of the build process and it is beyond the stages of compile and test.

An approach that requires me to change the layout of the software in order to accommodate the build system makes me think that that is not the best approach.

Using UrlClassLoader seems hackish, but maybe not that bad. It is reflection that I am trying to use.

Can I set the class path used by the build script from the output of a task instead?