blob: db41d760b06328c2f11a5d3aef13e69d83fd66b7 [file] [log] [blame]
--------------------------------------------------------------------------
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
$Id$
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Component Description
--------------------------------------------------------------------------
Usage Information
This is the Fulcrum JSON Component. For more information about this component, look at the HTML documentation in the site/ directory or
generate the documentation using
mvn site:site
Top level directories
dist/target/ contains the zipped binary jars *
gson, jackson, jackson2 / contains the different JSON implementation project files
api/ contains the interface project files
src / contains project building files
xdoc / contains the documentation
target/ contains the packaged project files, which allow to build the project **
* after running mvn install
** after running mvn clean site install -P apache-release, see below
--------------------------------------------------------------------------
Component Development
--------------------------------------------------------------------------
Publishing Workflow
Prerequisites
// jars
mvn deploy -Papache-release
More Information
https://www.apache.org/dev/publishing-maven-artifacts.html#prepare-poms
http://maven.apache.org/developers/website/deploy-component-reference-documentation.html
Steps
1) Local Testing
// Verify gpg.homedir, gpg.useagent, gpg.passphrase
mvn clean site install -Papache-release -Dgpg.useagent=false -Dgpg.passphrase=<xx>
mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true -Papache-release
2) Remote Testing
mvn release:clean
mvn release:prepare -DautoVersionSubmodules=true -P apache-release -Dusername=<username> -Dpassword=<pw>
// Helpful hint from Apache Website: If you're located in Europe then release:prepare may fail with 'Unable to tag SCM' and ' svn: No such revision X '. Wait 10 seconds and run mvn release:prepare again.
4) Release Preparing
// performs an upload to repository.apache.org/service/local/staging/deploy/maven2/
// Hint: Add -Dgpg.useagent=false helps, if running from a windows machine to avoid hanging while gpg plugin signing process ..
mvn release:perform
More Information
http://www.sonatype.com/books/nexus-book/reference/staging.html
5) Close the staging
Login and close
https://repository.apache.org/index.html#stagingRepositories
More Information
https://www.apache.org/dev/publishing-maven-artifacts.html#close-stage
6) Prepare Voting Information and Voting
....
7) a)
//Promote / Publish
http://www.apache.org/dev/publishing-maven-artifacts.html#promote
b)
//Drop and Restage
http://www.apache.org/dev/publishing-maven-artifacts.html#drop
- Reverse merge the release prepare, manually delete tag in svn repo and drop staged repository in nexus and start again with step 1.
8) // Stage the latest documentation
// http://maven.apache.org/developers/website/deploy-component-reference-documentation.html
mvn site site:stage scm-publish:publish-scm -Dscmpublish.dryRun=true
mvn clean site site:stage scm-publish:publish-scm -Dusername=<username> -Dpassword=<pw>
--------------------------------------------------------------------------
Licence
--------------------------------------------------------------------------
This software is licensed under the Apache 2 license, quoted below.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.