Build Tools

I had tow motivations of getting rid of the All view

  1. The All view is quite annoying don't you think? After using Hudson for a while you have tens/hundreds of jobs lined up in a huge list - who needs that right.
  2. I wanted a "hidden jobs section" - Jobs no one but myself (and who ever needs access to it) can see.

 

In order to get rid of it (the All view) simply:

hagzag 01/09/2010 - 10:09

As a big fan of hudson-ci I would like to take a note of the most commonly used hudson plug-ins (at least by me) needed in order to maintain a good build environment.

This list was collected as part of my experience in the last couple of years. I am sure your may differ then mine mine :).

 

Setenv plugin

hagzag 27/08/2010 - 15:30

FAKE is a clone of Make/Rake using F# as the DSL, making it useful for building .Net applications.

 

Here is an example build.fsx script (from http://www.navision-blog.de/2009/04/01/getting-started-with-fake-a-f-sha...):

ittayd 19/10/2009 - 07:47

Sonar enables you to collect, analyze and report metrics on source code.

Sonar not only offers consolidated reporting on and across projects throughout time, but it becomes the central place to manage code quality.

Sonar currently covers Java and PL/SQL languages. However, Sonar is highly extensible and can therefore embark plugins to cover new languages.

 

http://sonar.codehaus.org/

 

Very simple to install: http://docs.codehaus.org/display/SONAR/Install+Sonar

and use:

http://docs.codehaus.org/display/SONAR/Analyzing+Java+Projects

 

There is also Hudson plugin that makes it even simplier to run sonar on the build server: http://wiki.hudson-ci.org/display/HUDSON/Sonar+plugin

 

 

liya 14/10/2009 - 15:20

BuildR and Gradle are tools for multi-module builds where the build files are defined using a real language and task based (Ruby for BuildR, Groovy for Gradle). The benefits of a real language is that it is easy to create utility methods, control structures etc. Being task based (where 'task' is not the same as in ant, but rather as a Make target) means fine grained dependencies and lifecycle through invocation of dependencies.

 

In this writeup, I try to compare the tools, to help people choose the one they want.

 

ittayd 22/07/2009 - 07:07
liya 17/07/2009 - 09:34

I have multiple modules project built partially with Maven (pure Java modules) and partially with ANT with IVY dependencies management (mixed Java and other technologies modules).
I have an IVY module that depends on another IVY module, which depends on Maven module.
('IVY module X' <- 'IVY module Y' <- 'Maven module Z')

When Y is coming from maven repository (Nexus) , X doesn't get the transitive dependency Z as I would expect expect.

I couldn't find anything on the net, so the workaround for now is to define Z as another dependency of X...

Have anyone dealt with this problem?

liya 09/07/2009 - 12:23

Hello, guys.

Once me and my friend, we have counted number of languages, dialects and syntaxes that you have to be familiar with to handle one simple web site project and I was amazed. We got numbers like 10 to 15. Java, HTML, XML (minimum 5 dialects), SQL, PHP, Python, Javascript, Ruby, Annotations... This is crazy. It is too much even for very genius programmer.

Then I thought "why ANT?". Why build project is not described in our lovely java? What about pure Java Build Tool?

Here I want to discuss with you possibility of building pure Java Build tool which will be able to do everything ANT, MAVEN, BUILDR or whatever build tool does, plus it will get all strength of Java as programming language. Imagine writing build project with all intellisense Eclipse does for your java classes, with all automation you already have for java, with simple, serial and very familiar code, with availability of thousands of useful libraries and tools.

tofig 07/07/2009 - 11:54

It happens many times that you need to set a property using path defined in the build process and convert slashes according to the relevant OS, and do it while coping the property file to the target directory during build.
Here is a simple example how to do it with Ant:

let's say mypath is defined as "module\conf\xml"
in your my.properties the path should appear as:
MY_NEW_PATH=@mypath@/more/xxx

liya 14/06/2009 - 12:46

EasyAnt, a new build system based on Apache Ant and Apache Ivy

Concepts
This section will walk you through basic concepts of EasyAnt.

lior.kanfi 08/12/2010 - 14:37
Syndicate content