Hello,

Let me  continue this discussion [0].

I review :
 *  continuous integration tool Hudson[1];
 *  some solutions for building java project  Ant+Ivy[2], Maven[3] and 
Buckminster[4];
 *  maven repositories Artifactory[23] and Nexus[24].


Hudson is  extensible continuous integration engine. It has native support for 
maven and subversion and It has many useful plug-ins [5], so i setup it  on 
rh156 [6] for testing.   

I started from auto-building azigo RPPS [7], which uses higgins2ant generated 
ant files. Hudson checks out sources from higgins and azigo svn servers and 
build deploy-able war file. 

Then i added Cardsync  [8]  which uses maven for building Cardsync modules  and 
higgins2ant generated ant files for building rpps dependencies.  Hudson checks 
out sources, build and run tests for each project (if they exist) deploy  war 
file on rh155 dev server [9] and run  tests for CardSync Rest WS endpoint. 
After build it adds comment to jira tickets according to svn comments like  
[15].

Then i added job for grinder stress tests of Rpps WS endpoint. It auto-run 
after  Cardsync build, so it tests latest war.  You may see main trend [10] or 
detail per build [11]. 

Hudson has  buckminster  plug-in, so i added job [12] for building buckminster  
Hello_XML_World_Example [13].

It seams, hudson satisfy all requirements [0], so i didn't test Cruise Control 
[16] (i used it early). 

Also, eclipse already has hudson on build machine [26]. You can request a job 
to be added to hudson by opening a bugzilla ticket [25] (thanks Jeesmon).


It was really difficult  to compare Maven[3] and  Buckminster[4] (I didn't use 
buckminster before. buckminster documentation is not so good.) So pls, fix me 
if something wrong.

Both,  Maven (maven-antrun-plugin [18]) and  Buckminster may invoke wherever 
already existed higgins2ant generated build scripts. So both are satisfy first 
5  requirements [1]. 

But, requirement  #6  "Azigo build service SHOULD pull binaries wherever 
possible from the Higgins download site. Only compile from source if no-such 
Higgins binary gets autobuilt." require to modify already existed "home-made" 
Higgins build  script or replace it on hudson.  Hudson may deploy maven 
projects to maven repository or  via SCP plugin[19] all other artifacts. Then 
both  maven and Buckminster may download dependencies from maven repository. 

Hudson has few plug-ins for run native builders[], so it satisfy to requirement 
 #7 "[Valery] The solution should support builds for native solutions (Windows, 
Linux and OSX)". 

In my opinion Buckminster has one advantage, you need just one url (.cquery)  
for download and build project with all dependencies. Something similar  
maven-scm-plugin (scm:bootstrap) [20] can do, but not so good.  However 
Buckminster depends on  Eclipse, so we need eclipse for building.  

But I'd  like to use  maven due to:
 *   it's  great dependency management tool. I spend a lot of hours for merging 
conflict dependencies in war projects. But it's really easy with maven (just 
see attached m2 screen shots ). 
 *  maven is really flexible tool, it  has many useful plug-ins, but 
buckminster just few.


Please, see couple other review [21] and [22].

Today, i start working with third problem "higgins repository" (download 
server), it may be p2 or maven repository, both buckminster and maven may 
support them, but i  didn't test maven with p2, so tends to use maven 
repository.  I setup  Artifactory[23] and i going to setup  Nexus[24]. 

Please don't hesitate to review it and let me know your opinion and 
recommendations. 




[0] http://wiki.eclipse.org/Automated_Solution-Level_Builds
[1] https://hudson.dev.java.net/
[2] http://ant.apache.org/ivy/index.html
[3] http://maven.apache.org/
[4] http://www.eclipse.org/buckminster/
[5] http://wiki.hudson-ci.org/display/HUDSON/Plugins
[6] http://rh156.azigo.net/
[7] http://rh156.azigo.net/job/Rpps/
[8] http://rh156.azigo.net/job/CardSyncAndRpps/
[9] http://rh155.sohosmart.net/cardsync-new/
[10] http://rh156.azigo.net/job/RppsStressTest155-2user/grinder/
[11] http://rh156.azigo.net/job/RppsStressTest155-2user/39/grinder/
[12] http://rh156.azigo.net/job/BuckminsterHelloWorld/
[13] http://wiki.eclipse.org/Hello_XML_World_Example_(Buckminster)
[14] 
http://rh156.azigo.net/job/Make-org.eclipse.higgins.configuration.api/3/console
[15] 
http://jira.azigo.net/browse/WWM-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel
[16] http://cruisecontrol.sourceforge.net/
[17] http://ant.apache.org/ivy/m2comparison.html
[18] http://maven.apache.org/plugins/maven-antrun-plugin/
[19] http://wiki.hudson-ci.org/display/HUDSON/SCP+plugin
[20] http://maven.apache.org/scm/maven-scm-plugin/bootstrap-mojo.html
[21] http://stackoverflow.com/questions/579603/why-choose-buckminster-over-maven
[22] http://ant.apache.org/ivy/m2comparison.html
[23] http://www.jfrog.org/products.php
[24] http://nexus.sonatype.org/
[25] 
http://wiki.eclipse.org/Common_Build_Infrastructure/Getting_Started/Build_In_Hudson
[26] https://build.eclipse.org/hudson/

-- 
thanks,
Alexander Yuhimenko

On Thu, 16 Jul 2009 16:54:57 +0300
Alexander Yuhimenko <[email protected]> wrote:

> Thanks Paul,
> 
> I quick review Buckminster, it seams to be really powerful tool, but  Valery 
> concerned about non java projects.
> 
> Let us few days for play with it.
>  
> -- 
> thanks,
> Alexander Yuhimenko <[email protected]>
> 
> On Thu, 16 Jul 2009 09:31:11 -0400
> Paul Trevithick <[email protected]> wrote:
> 
> > Hi Alex,
> > 
> > Moving this conversation to this list
> > ## inline
> > 
> > On 7/16/09 8:49 AM, "Alexander Yuhimenko" <[email protected]>
> > wrote:
> > 
> > > Hello,
> > > 
> > > Item #3 still requires to use Buckminster ("Any component that requires 
> > > new
> > > features in our home-made build system MUST instead create and deploy a
> > > Buckminster build script").
> > > 
> > > ## FIXED #3 thanks. I now consider the Higgins build system to be ³TBD² 
> > > not
> > > necessarily Buckminster
> > > 
> > > It seems we need at least 3 OS (Mac/Win/Linux) for building all 
> > > components,
> > > Win and Linux may be installed like geust OS into VirtualBox, but MacOS 
> > > can
> > > not. So it may  make sense to use a Mac server with 2 (or more) VM's.
> > > 
> > > ## Added this as a new bullet here [1]
> > > 
> >         ## [1] http://wiki.eclipse.org/Automated_Solution-Level_Builds
> > 
> > 
> 
> _______________________________________________
> higgins-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/higgins-dev
> 

_______________________________________________
higgins-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/higgins-dev

Reply via email to