I am new in the forum and would like little help from you ...
I am experiencing some problems in order to liberate the systems produced by the company where I work. What happens is: We have a model of manufacturing that is divided into modules that interact but are not necessarily dependent on each other. this way, each area is responsible for delivering its system, according to the needs of the client. For marketing reasons, the company agreed to sell all the modules as a single system, creating a single package with the system of each area.
How do you think that we could manage this project in the "Subversion" / Maven? As a main project with subprojects below or as several projects? Is there a way to manage the builds running tests of integration and finally mounting a package with all the jar (packages) generated and its dependencies in an automated manner?
I did some testing with Maven + Some of Continuous Integration tools that were very effective in the initial (builds, tests ...), but in the end they couldn�t mount a package of release, or at least generate all the jars in a single folder to make it easier to treat.
I think what I want is a little difficult to achieve, but I wish that you could suggest me a better way to do it or share your experiences ...
I had a similar situation. Though our components lived in a multitude of different source control systems, were built with a variety of tools, some of them continuous integration tools, others from very complicated make files (our package contained C/C++, PHP, and Java apps), and other components were supplied "as-is" by third parties. I created an Ant script that packaged all of this together into a single package that could be burned onto a CD. Fortunately, each component's build process placed the build results into a well-known directory. I used a properties file to identify those locations - those locations did tend to change between major releases. This script, and all of the files that were package-specific such as the package readme file, were stored in a separate project under source control.
Mhh, sounds to me as if what you want sounds perfectly well possible with a combination of Ant and Cruise Control. What made you think that you couldn't do it?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Maven is designed with the idea of "one POM, one product" in mind. So it tends to work best when each JAR, WAR, EAR, or whatever is a distinct Maven project. Which, in turn, tends to work out as a project for whatever IDE (if any) you use. However, it's perfectly reasonable that each of these projects be sub-projects or even sub-sub-projects on your source version control tree.
Alongside the projects that are simple Java components, you can also have assembly projects, however. Basically, that's a Maven project whose dependencies are the components you want to bundle together as a package for delivery. So one of the things you can do if you're shipping a limited number of standard assemblies is to simply make projects for each assembly.
An IDE is no substitute for an Intelligent Developer.