This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pom. See http://git.nuiton.org/pom.git commit 71b7d44039dcdea74127a0cef5a4677f66ca02ef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Feb 28 16:33:37 2016 +0100 Improve documentation --- README.md | 142 ++++++++++++++++++++++++++++++++++++++----------- chorempom/README.md | 56 ++----------------- codelutinpom/README.md | 53 +----------------- nuitonpom/README.md | 56 ++----------------- 4 files changed, 119 insertions(+), 188 deletions(-) diff --git a/README.md b/README.md index 84e23c2..c8e7135 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,123 @@ -Abstract --------- +#Abstract -This is the shared pom ancestor of all maven projects hosted on our forge -(nuiton.org, chorem.org, codelutin.com) using only *Git*; don't use it if you -still using *SVN*. +##Requirements -This one should not be used directly on any of the forge projects. Use -instead the dedicated pom of the forge (see nuitonpom, chorempom or -codelutinpom). +* Use on a redmine platform with *JRedmine* plugin +* Use *git* +* Use *gitflow* +* (optional) Host scm on *gitlab* -Build ------ +##What can I do for you, sir? -Since version 1.9, this is a regular project, no need to add any longer the -*-Dinternal* parameter, it will be added for you. +* infrastructure configuration (redmine, ci, git) +* maven plugins versions +* release configuration +* some usefull configuration in profiles -Release -------- +##No I don't do this! -This project does not support any site generation to make easier the other -project configurations. +* dependancies version +* scm configuration (?) +* site deployment at release release +* svn -To release this project all must be done by hand. +#Use pom -mvn jgitflow:release-start -mvn jgitflow:release-finish +##Which pom to use? -This will (only): +* For a project hosted on *nuiton.org*, use *org.nuiton:nuitonpom* +* For a project hosted on *chorem.org*, use *org.nuiton:chorempom* +* For a project hosted on *codelutin.com*, use *org.nuiton:codelutinpom* -o deploy artifacts on maven central repository -o publish attachments in forge.nuiton.org -o close version on forge.nuiton.org -o publish a news on forge.nuiton.org -o send a email to the commits list if the project -o create the git merge to master -o create the git release tag +##Mandatory configuration -Documentation -------------- +* Mandatory property **projectId** project's redmine id +* Mandatory property **ciViewId** project's ci view id -Note that the pom project does not have any maven site. -Documentation can be found here: https://forge.nuiton.org/projects/pom/wiki \ No newline at end of file +##To deploy artifacts on *Nexus* + Add in maven pom: + +``<maven.deploy.skip>false</maven.deploy.skip>`` + +##To build javadoc + Add in maven pom: + +``<maven.javadoc.skip>true</maven.javadoc.skip>`` + +##To build sources + Add in maven pom: + +``<source.skip>true</source.skip>`` + +###Note + +For projects using *nuitonpom*, **javadoc** and **sources** are included at release time, and **all modules are deployed** to *Nexus*. + +#Do a release + +###Initialize release + +``mvn jgitflow:release-start`` + +###Check before release + +``mvn clean verify -DperformRelease`` + +###Optional commit any changes on the release branch (license headers, third parties files, ...) + +``git commit -am"Fix release ..."`` + +###Launch release + +``mvn jgitflow:release-finish `` + +###What is done? + +* deploy artifacts on nexus repository +* publish attachments in redmine +* close version on redmine +* publish a news on redmine +* send a email to the commits list +* create the git merge to master +* create the git release tag + +###What is not done? + +* generate the maven site +* deploy the maven site + +#Deploy a maven site + +##Using ci + The project should declare two ci jobs: + + * *technical-site* to build and deploy maven site from *master* branch + * *technical-site-snapshot* to build and deploy maven site from *develop* branch + +##Using Maven + + Go where you need to be on git, and launch + +``mvn clean verify site-deploy -DperformRelease`` + +### Where is deployed the site ? + + If the project is in *Snapshot* version, the maven site is deployed to *develop* version, otherwise it is deployed to the project version. + +###Example + + * [ci job jaxx-technical-site] (https://ci.nuiton.org/jaxx-technical-site) → [maven site] (http://jaxx.nuiton.org/v/latest) + * [ci job jaxx-technical-site-snapshot] (https://ci.nuiton.org/jaxx-technical-site-snapshot) → [maven site] (http://jaxx.nuiton.org/v/develop) + +#Howto write a site + +[See] (https://forge.nuiton.org/projects/pom/wiki/Comment_%C3%A9crire_un_site) + +**TODO Migrate this documentation here** + + +#FAQ + +[See] (https://forge.nuiton.org/projects/pom/wiki/FAQ) + +**TODO Migrate this documentation here** diff --git a/chorempom/README.md b/chorempom/README.md index 74ca85e..1c3e6e2 100644 --- a/chorempom/README.md +++ b/chorempom/README.md @@ -1,55 +1,5 @@ -Abstract --------- +#Abstract -The ancestor pom for all maven projects hosted on https://forge.chorem.org +The ancestor pom for all maven projects hosted on [Redmine **chorem.org**] ( https://forge.chorem.org ). -Release -------- - -To perform a release of a project using this pom: - -# check release start, create release branch -mvn jgitflow:release-start - -# launch a build to check everything is ok before doing real release -mvn clean verify -DperformRelease - -# check if there is some modifications to commit on the release branch -git status - -# do commit if necessary -git commit -am"Fix release ..." - -# perform the release -mvn jgitflow:release-finish - -This will: - -o deploy artifacts on maven central repository -o publish attachments in forge.chorem.org -o close version on forge.chorem.org -o publish a news on forge.chorem.org -o send a email to the commits list if the project -o create the git merge to master -o create the git release tag - -This will not: - -o generate the maven site -o deploy the maven site - -Deploy release site -------------------- - -The site is now deployed by a Jenkins job named *projectId-doc* at each commit on master, so nothing for you to do here. - -Just make sure that the job exists. - -Deploy snapshot site --------------------- - -git checkout develop -mvn clean verify site-deploy -DperformRelease -Psnapshot-site - -o build maven site -o deploy it to https://projectId.chorem.org/v/develop +See [Pom main documentation] ( https://gitlab.nuiton.org/nuiton/pom ). diff --git a/codelutinpom/README.md b/codelutinpom/README.md index 3be3ce0..32e8df9 100644 --- a/codelutinpom/README.md +++ b/codelutinpom/README.md @@ -1,55 +1,6 @@ Abstract -------- -The ancestor pom for all maven projects hosted on https://forge.codelutin.com +The ancestor pom for all maven projects hosted on [Redmine **codelutin.com**] ( https://forge.codelutin.com ). -Release -------- - -To perform a release of a project using this pom: - -# check release start, create release branch -mvn jgitflow:release-start - -# launch a build to check everything is ok before doing real release -mvn clean verify -DperformRelease - -# check if there is some modifications to commit on the release branch -git status - -# do commit if necessary -git commit -am"Fix release ..." - -# perform the release -mvn jgitflow:release-finish - -This will: - -o deploy artifacts on maven central repository -o publish attachments in forge.codelutin.com -o close version on forge.codelutin.com -o publish a news on forge.codelutin.com -o send a email to the commits list if the project -o create the git merge to master -o create the git release tag - -This will not: - -o generate the maven site -o deploy the maven site - -Deploy release site -------------------- - -The site is now deployed by a Jenkins job named *projectId-doc* at each commit on master, so nothing for you to do here. - -Just make sure that the job exists. - -Deploy snapshot site --------------------- - -git checkout develop -mvn clean verify site-deploy -DperformRelease -Psnapshot-site - -o build maven site -o deploy it to https://projectId.codelutin.com/v/develop +See [Pom main documentation] ( https://gitlab.nuiton.org/nuiton/pom ). diff --git a/nuitonpom/README.md b/nuitonpom/README.md index bdfe497..827e46c 100644 --- a/nuitonpom/README.md +++ b/nuitonpom/README.md @@ -1,55 +1,5 @@ -Abstract --------- +#Abstract -The ancestor pom for all maven projects hosted on https://forge.nuiton.org +The ancestor pom for all maven projects hosted on [Redmine **nuiton.org**] ( https://forge.nuiton.org ). -Release -------- - -To perform a release of a project using this pom: - -# check release start, create release branch -mvn jgitflow:release-start - -# launch a build to check everything is ok before doing real release -mvn clean verify -DperformRelease - -# check if there is some modifications to commit on the release branch -git status - -# do commit if necessary -git commit -am"Fix release ..." - -# perform the release -mvn jgitflow:release-finish - -This will: - -o deploy artifacts on maven central repository -o publish attachments in forge.nuiton.org -o close version on forge.nuiton.org -o publish a news on forge.nuiton.org -o send a email to the commits list if the project -o create the git merge to master -o create the git release tag - -This will not: - -o generate the maven site -o deploy the maven site - -Deploy release site -------------------- - -The site is now deployed by a Jenkins job named *projectId-doc* at each commit on master, so nothing for you to do here. - -Just make sure that the job exists. - -Deploy snapshot site --------------------- - -git checkout develop -mvn clean verify site-deploy -DperformRelease -Psnapshot-site - -o build maven site -o deploy it to https://projectId.nuiton.org/v/develop +See [Pom main documentation] ( https://gitlab.nuiton.org/nuiton/pom ). -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.