Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Autonomate Build and Release Process...

 
William de Oliveira
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello everybody,

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 ...

Have you already gone through something similar?

Thank�s.
 
Peter Johnson
author
Bartender
Posts: 5852
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Martijn Verburg
author
Bartender
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Maven 2 with its assembly plugin also gives you a large amount of flexibility (We've got multiple EARs that contain SARs and RARs and WARs and HARs and JARs, so we've stretched Maven a fair bit )
 
Tim Holloway
Saloon Keeper
Pie
Posts: 18277
56
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic