------ Development ------ Dan Tran ------ 20014-06-10 ------ ~~ NOTE: For help with the syntax of this file, see: ~~ http://maven.apache.org/doxia/references/apt-format.html Introduction Eclipse IDE Setup It is assumed that you already have Maven 3.2.x, Eclipse Kepler SR2 with P4Eclipse and AnyEdit installed. Run the following command under a directory thats host your eclipse workspace (which must on under the same directory of P4Maven source tree) ------------------------------ mvn com.perforce.p4maven:p4maven-dev:configure-eclipse-workspace ------------------------------ This hooks up your eclipse workspace with our local Maven and proper Java/XML code styles. P4IGNORE Setup Run the following Maven command line goal to setup P4IGNORE files under P4Maven source tree ---------------------------- mvn com.perforce.p4maven:p4maven-dev:configure-p4ignore ---------------------------- Test Setup The following contains one time setup of a local/personal Perforce server (P4D) in order to run P4Maven's TCK and integration test suites * Install the {{{http://info.perforce.com/software-version-control.html}free Perforce server P4D}}. * Create a Perforce account with username/password as admin/admin. You can create this user on the first access using P4Admin at localhost:1666 * Create new depot and named it as * Configugre your local's settings.xml to contain the following \ element --------------------------------------------- localhost:1666 admin admin --------------------------------------------- [] * Add initial data to test server by running the following IT test under p4maven-provider module. --------------------------------------------- mvn clean install -Prun-its -Pinvoker.pom=src/it/initial-data --------------------------------------------- The TCK suite will take longer to run after many runs with many committs. To speed up the test, obliterate depot's contents, and run this step again. [] Test Suites * To invoke TCK suite --------------------------------------------- mvn -Prun-tck --------------------------------------------- [] * To invoke Integration (IT) suite --------------------------------------------- mvn -Prun-its -------------------------------------------- * To invoke both test suites --------------------------------------------- mvn -Prun-tck,run-its -------------------------------------------- Setting up Release Automation Prior to cutting P4Maven release, you must have the following configured. * Add your workshop.perforce.com credential into local settings.xml. No need to configure password since p4tickets is used ----------------------------------------- workshop.perforce.com:1666 your.workshop.perforce.com.user.name ----------------------------------------- * Install your gpg key using the {{{http://mojo.codehaus.org/development/performing-a-release.html#Making_GPG_Keys}following instructions}} as your guideline * Add your gpg private key's credential to p4maven-release profile under your local settings.xml -------------------------------- p4maven-release your-pass-phase [...] ------------------------------------- [] * Add your Sonatype's deploy Maven repository credential into local settings.xml ------------------------------------- sonatype-nexus-staging your sonatype user name password sonatype-nexus-snapshots your sonatype user name password ------------------------------------- Releasing P4Maven * Run all TCK and IT test suites mentioned in this doc * Run the release plugin ------------------------ mvn -B release:prepare release:perform ------------------------ When this fails, carefully revert all the changelist and run ------------------------ mvn -B release:clean ------------------------