------ 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 <scmtck> * Configugre your local's settings.xml to contain the following \<server\> element --------------------------------------------- <server> <id>localhost:1666</id> <username>admin</username> <password>admin</password> </server> --------------------------------------------- [] * 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 <scmtck> 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 ----------------------------------------- <server> <id>workshop.perforce.com:1666</id> <username>your.workshop.perforce.com.user.name</username> </server> ----------------------------------------- * 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 -------------------------------- <profiles> <profile> <id>p4maven-release</id> <!-- donot change this, see p4maven's parent pom for detail --> <properties> <gpg.passphrase>your-pass-phase</gpg.passphrase> </properties> </profile> [...] </profiles> ------------------------------------- [] * Add your Sonatype's deploy Maven repository credential into local settings.xml ------------------------------------- <server> <id>sonatype-nexus-staging</id> <username>your sonatype user name</username> <password>password</password> </server> <server> <id>sonatype-nexus-snapshots</id> <username>your sonatype user name</username> <password>password</password> </server> ------------------------------------- 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 ------------------------
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 11272 | jkovisto |
Populate //guest/joel_kovisto/p4maven/... from //guest/perforce_software/p4maven/.... |
||
//guest/perforce_software/p4maven/main/p4maven-provider/src/site/apt/development.apt | |||||
#1 | 10055 | Matt Attaway | Pull over numerous changes from @dantran's branch. | ||
//guest/dantran/p4maven/p4maven-provider/src/site/apt/development.apt | |||||
#11 | 10047 | dantran | add docs for workshop.perforce.com credential using p4tickets | ||
#10 | 9765 | dantran | pickup maven-scm-1.9.1 | ||
#9 | 9680 | dantran | cleanup | ||
#8 | 9659 | dantran | add p4maven-dev to help with Eclipse IDE development environemnt | ||
#7 | 9653 | dantran | update dev doc | ||
#6 | 9597 | dantran |
- minor cleanup - doc update |
||
#5 | 9590 | dantran |
- add option to fail tag when it already exist - add P4ScmUrl parser test - cleanup |
||
#4 | 9572 | dantran | Introduce run-its-at-release profile so that we can run release automation IT test at release time | ||
#3 | 9570 | dantran | dev doc update | ||
#2 | 9561 | dantran |
- it/release now can be used to test after release:perform - only deploy site during release:perform - more dev and user doc |
||
#1 | 9548 | dantran |
- pickup P4PORT form env and system properties to support multi site using proxy - add development doc - check for error after each action |