propensive / fury-old

A new build tool for JVM languages
Apache License 2.0
413 stars 34 forks source link

provide shading API #49

Open propensive opened 5 years ago

propensive commented 5 years ago

We need to support shading as a solution to conflicting projects. This is a step which should happen following compilation, and involves rewriting the classfiles of both the dependency and the dependent.

This issue covers the implementation of the shading task, whose API should take two directories corresponding to the dependency's and dependent's classfiles, and a further two directories to put the rewritten shaded classfiles.

martinpallmann commented 5 years ago

Don’t forget that you probably have to move/copy resources as well when you shade libraries.

propensive commented 5 years ago

Ah, that could add significant complexity. But if all resources have to be declared in the Fury build file, we can at least detect these conflicts. There's currently no support for resources in Fury at all. That's not going to suffice for much longer, I presume. I'll add a new issue to support adding resources to modules.