This tutorial describes how to create a release using CVSNT. |
You will need to add the SCM and Release plug-in to your POM.
<project>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.2</version>
<configuration>
<connectionType>developerconnection</connectionType>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-9</version>
<configuration>
<tagBase>scm:cvs:sserver:${cvs.username}@host:/cvsrepo:myproject/core</tagBase>
</configuration>
</plugin>
</plugins>
...
</project>
|
You will need to change the tagBase for your cvs repository.
Now you need to define the SCM connector in your Maven POM.
<project>
...
<scm>
<developerConnection>scm:cvs:sserver:${cvs.username}@host:/cvsrepo:myproject/core</developerConnection>
<url>http://host/ViewVC/viewvc.cgi/</url>
</scm>
...
</project>
|
When maven does the final step of performing the release, it will push the release to your organizations maven repository.
In order for maven to deploy to your organization's maven repository you have to have a settings.xml file in the .m2 folder under your home directory. Here is an example of how one can be set up.
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<interactiveMode>true</interactiveMode>
<servers>
<server>
<id>organization_releases</id>
<username>username</username>
<password>password</password>
</server>
<server>
<id>organization_snapshots</id>
<username>username</username>
<password>password</password>
</server>
</servers>
<profiles>
<profile>
<id>username</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<cvs.username>username</cvs.username>
</properties>
</profile>
</profiles>
</settings>
|
We are going to do this from the command line. First we will need to check out the project.
cvs -d :sserver:username@host:/cvsrepo login |
Once successfully logged in we will check out the project.
cvs -d :sserver:username@host:/cvsrepo co myproject/core |
Now that the project is checked out I would recommend the first time you try it on a project to do a dry run. What Maven will do is simulate the release but will not commit anything into CVS. Navigate to the pom and run the following command.
mvn release:prepare -DdryRun=true -Dmaven.scm.provider.cvs.implementation=cvs_native |
If it all seems to go as planned then clean the release by calling the following command.
mvn release:clean |
Now you can really prepare the release by removing the -DdryRun=true.
mvn release:prepare -Dmaven.scm.provider.cvs.implementation=cvs_native |
Once the release is successfully prepared you can finalize the release by using the following Maven command
mvn release:perform -Dmaven.scm.provider.cvs.implementation=cvs_native |
That is it, you have successfully created a release.