At present my work is a little weird. I work on an unofficial engineering team that creates tools / solutions to problems that arise. A lot of our work is incrementally building on older work from team members for rapid development. But as our codebase grows there is an Informational management nightmare.
At present we’re using Ant-Libraries and storing all the libraries for project in an “includes” folder. This means that we have lots of outdated / bad libraries for quick inclusion in projects. I’ve been looking into a way to incorporate something into Subversion that would keep our libraries up to date and would help get us standardized and up to date with minimal intrusion to workflow (editing pom.xml to make a maven project is somewhat intimidating to people that haven’t worked with it before.
Does anyone know of any solutions that handle dependencies and allow simply uploading / downloading of libs / projects for team use / work?
Thanks!
It sounds like you just need a dependency manager. You already referenced one of the most popular, Maven. Maven is easier to use then it may seem. If you use standardized directory structures for source code and test source code, you can build/test/deploy with a single command.
Even if you don’t use standardized structure, there are still benefits. My work’s development shop also uses Ant for building and our build is very old, brittle, and immobile (lot of hard coded paths). However, there are ant plugins for maven that allow you to use Maven for just dependency management while still using your ant build scripts. This will allow you to eliminate the includes directory and just reference your pom file.
Maven Ant Plugins
Another option that I have heard about is Apache Ivy which works tightly with Ant. I have no experience with that though.