This week's book giveaway is in the Server-Side JavaScript and NodeJS forum.
We're giving away four copies of Micro Frontends in Action and have Michael Geers on-line!
See this thread for details.
Win a copy of Micro Frontends in Action this week in the Server-Side JavaScript and NodeJS forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

Autonomate Build and Release Process...

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?

Posts: 5856
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.
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?
Posts: 3281
Mac OS X Eclipse IDE Java
  • 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 )
Saloon Keeper
Posts: 22520
Android Eclipse IDE Tomcat Server Redhat Java 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.
Consider Paul's rocket mass heater.
    Bookmark Topic Watch Topic
  • New Topic