How to get multiple open-source projects to use a standard way of doing something.
- by Marco
Problem
In the last couple weeks, I've used 3 different "repository" tools (listed in alphabetical order):
gradle
ivy
maven
I'm calling them "repository" tools because I've also used sbt -- which fortunately uses ivy to manage it's cache or local repository.
Each of these tools will create it's own repository. The defaults are:
~/.m2/repository for maven
~/.gradle/cache
~/.ivy2/cache
Why can't they all use the same cache?
Goal
I'd like to change the world so that all three build tools could use the same cache. I'm looking for advice about issues I'm likely to run into and smart ways to get around them.
By "use the same cache", I do not mean "retrieve from another build tool's cache".
I mean "retrieve from and store in another build tool's cache".
While I could go ahead and submit issues to the three projects, I know from experience (as a developer on an open source project), that if you want something done, you're best off getting it done yourself.
Also, it seems like I need to get all 3 communities on board to some degree.
What is the recommended approach for getting this kind of thing done? How do I approach the different communities? Do I work on patches for the 3 different projects, or would it be better off to create my own "interface" project that deals with these issues and have the 3 tools interface with that? Is this a standards question that I need to address on that front?
Lastly, if I'm missing something and this is possible (in an globally configurable fashion), then please let me know.