Some maven features require acces to private information. For example,
deploying website from Maven via scp requires
Sourceforge's shell credentials. Following describes how to set-up
Maven's settings.xml file.
Maven settings.xml file is located in the root of the Maven
home directory (on ***xes it is ~/.m2/settings.xml).
Following shows the settings content that facilitate access to Sourceforge's web space (credentials are used for site:deploy goal that installs new version of project's website on sourceforge).
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<servers>
<server>
<id>sourceforge</id>
<username>username</username>
<password>password</password>
</server>
</servers>
</settings>
Checkout current trunk from subversion:
$ svn co https://otfeed.svn.sourceforge.net/svnroot/otfeed/trunk/otfeed-all
Change dir to
$ cd otfeed-all
Set-up Eclipse descriptors:
$ mvn eclipse::eclipse
Compile and install all packages:
$ mvn install
Generate site:
$ mvn site
target/otfeed-all-X.X.X-src.zip target/otfeed-all-X.X.X-javadoc.zip
Package main binary artefacts:
$ mvn package
otfeed-driver/target/otfeed-driver-X.X.X.jar otfeed-script/target/otfeed-script-X.X.X-bin.zip
Convenient command to do a complete local build:
$ mvn clean package site
Deploy site to the sourceforge (need private
settings.xml configured, as described above):
$ mvn site-deploy
Releasing a software version includes:
$ mvn -Dusername=username -Dpassword=password release:prepare
$ mvn -Dusername=username -Dpassword=password release:perform
ftp'ed to the
sourceforge and released via sourceforge file release manager:
$ cd target/checkout $ ls target/otfeed-all-X.X.X-src.zip $ ls target/otfeed-all-X.X.X-javadoc.zip $ ls otfeed-driver/otfeed-driver-X.X.X.jar $ ls otfeed-script/otfeed-script-X.X.X-bin.zip
$ mvn release:clean