Nanoware/Terasology

Order of dependency resolution can fetch something twice

Closed this issue · 2 comments

With a module A set up locally that has a dependency on module B the following execution of Gradle will amusingly first fetch the binary version of B for the command that fetches the source version of B

gradlew fetchModuleB

Nothing actually breaks, but it seems goofy. Example may be off if alpha-sorting matters, actual example was having Portals locally but not LightAndShadowResources

On a slightly related note I've encountered a time or two when dependency resolution for newly fetched modules can cause failures, probably when there's more than one dependency (I believe Cities can encounter the problem). Running "gradlew" again gets past the issue and everything works.

There are still some quirks (like engine-source being fetched ...) but the transitive dependency handling should cover/improve on this decently