maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raúl Arabaolaza Barquín <raul.arabaol...@mundivia.net>
Subject RE: A beginner´s question
Date Tue, 15 May 2007 17:14:27 GMT
Hello Daniel:

Thanks for the answer. So you think the best way is to let developers commit manually and
use the integration Server to make the builds once the SCM repository has change and inform
in case of error?

I´ve think in that too, but I would like to consider all available options before make a
decision.

Best Regards,Raúl 

-----Mensaje original-----
De: Siegmann Daniel, NY [mailto:Daniel.Siegmann@fja-us.com] 
Enviado el: martes, 15 de mayo de 2007 18:58
Para: Maven Users List
Asunto: RE: A beginner´s question

<<1º Compile using the pom´s declared dependencies>>

Basic Maven2 functionality. Use the "compile" phase. This will download dependencies from
the remote repository into your local repository, and execute the goal "compile:compile" [1]

<<2º Execute some functional test>>

Maven2 can execute JUnit tests through Surefire, I'm not sure about other test frameworks.
Again, this is basic Maven2 functionality, just execute the "test" phase. Note that this will
compile everything and grab necessary dependencies before running the tests [2].

<<3º If and only if all test are correct update code to SVN repository
...
I don´t know if it is possible to automate step 3>>

The SCM plugin [3] can commit your changes to an SVN repository (among other uses), using
the goal "scm:checkin". You could bind this to a lifecycle phase [4] if you wanted it to run
automatically, but I would recommend against doing so.

<<4º Execute functional and integration test against the SVN repository updated code
...
and if I can "rollback" the SVN code update if step 4 gives an error>>

You should set up some continuous integration (CI) [5] application, such as Continuum [6]
or CruiseControl [7] (I use the latter). Typically these are configured to check for any changes
in the repository, and if there are changes, to update the local copy and execute Maven2 with
the desired goal(s) ("clean test" would be typical).

I don't know if there is any way to automatically roll back the changes, but it's probably
possible. However, the CI systems provide ways of notifying the developers (via email, for
example) if the build is broken.

<<5º if and only if all test are correct build the project and install it into the
team´s maven private repository>>

Clarification on Maven terminology: you "install" to your local repository; you "deploy" to
the remote repository. So what you want here is to deploy, not install. Once that's done,
other developers will be able to pull it down.

This can be done quite easily, just have your CI system run the "deploy" phase, which will
do pretty much everything (compile, test, install, etc.) and then run "deploy:deploy" [8].

Note that you should only do this with snapshot versions (just append "-SNAPSHOT" to the version,
and Maven2 will recognize it as such).

I hope this helps.

--
Daniel Siegmann
FJA-US, Inc.
512 Seventh Ave., New York, NY  10018
(212) 840-2618 ext. 139

[1] http://maven.apache.org/plugins/maven-compiler-plugin/

[2] http://maven.apache.org/plugins/maven-surefire-plugin/

[3] http://maven.apache.org/scm/plugins/

[4] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

[5] http://www.martinfowler.com/articles/continuousIntegration.html

[6] http://maven.apache.org/continuum/

[7] http://cruisecontrol.sourceforge.net/

[8] http://maven.apache.org/plugins/maven-deploy-plugin/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


------------------------------------------------------------------
This e-mail and the documents attached are confidential and intended solely
for the addressee; it may also be privileged. If you receive this e-mail
in error, please notify the sender immediately and destroy it.
As its integrity cannot be secured on the Internet, the Atos Origin group
liability cannot be triggered for the message content. Although the
sender endeavours to maintain a computer virus-free network, the sender does
not warrant that this transmission is virus-free and will not be liable for
any damages resulting from any virus transmitted.

Este mensaje y los ficheros adjuntos pueden contener informacion
confidencial destinada solamente a la(s) persona(s) mencionadas
anteriormente. Pueden estar protegidos por secreto profesional Si usted
recibe este correo electronico por error, gracias de informar inmediatamente
al remitente y destruir el mensaje.
Al no estar asegurada la integridad de este mensaje sobre la red, Atos
Origin no se hace responsable por su contenido. Su contenido no constituye
ningun compromiso para el grupo Atos Origin, salvo ratificacion escrita por
ambas partes.
Aunque se esfuerza al maximo por mantener su red libre de virus, el emisor
no puede garantizar nada al respecto y no sera responsable de cualesquiera
danos que puedan resultar de una transmision de virus
------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message