I hope this question isn't off-topic for this forum and apologize in advance if it is.
I have written Java code that I would like to distribute as an open-source project. I am trying to set up the build, something that I haven't a lot of experience doing. I am leaning to setting up a simple ant build.xml, but there's a complication. For the most part, the project is just plain Java, but it does depend on a single external Jar file, the Apache Commons Math library. I was wondering what's the best way to handle that. Do I bundle the Apache jar with my distribution? Would it be better to automate the build to download the Jar from an outside source a build time? And, if so, is there an easy way to do that?
The code I've written is basically a class library that performs math operations and would be incorporated into bigger applications. In fact, it doesn't even have a user interface.
My overriding criteria here is that I want to make this easy for somebody who wants to build and use my code. Ideally, the build would be accomplished with tools that the average developer would already have installed and configured on his computer. So I want to avoid throwing anything new and unfamiliar at developers. I have a small project and it would be inappropriate to require a big effort on the part of somebody who wants to use it.
Thanks for the suggestion. I've noticed that a couple of the ant-based open source projects I've downloaded (i.e the PostgreSQL JDBC Driver) include maven jars in their library folder. So it seems like even the folks who use ant sometimes resort to maven.
Following up... What's the general view on bundling a third party jar with a software distribution? I can see pro's and con's.