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