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:[EMAIL PROTECTED] 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


------------------------------------------------------------------
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to