Mirror of Apache Turbine Fulcrum Components
Switch branches/tags
initial fulcrum-yaafi-crypto-1.0.7 fulcrum-yaafi-1.0.7 fulcrum-testcontainer-1.0.7 fulcrum-security-1.1.2 fulcrum-security-1.1.1 fulcrum-security-1.1.0 fulcrum-parser-1.0.3 fulcrum-json-parent-1.1.0 fulcrum-json-1.1.1 fulcrum-json-1.1.0 fulcrum-json-1.0.0 fulcrum-intake-1.2.3 fulcrum-intake-1.2.2 fulcrum-intake-1.2.1 fulcrum-intake-1.2.0 fulcrum-intake-1.1.0 fulcrum-factory-1.1.0 arelease YAAFI_1_0_6_RC1 SCARAB_20031125 PRE_PLEXUS_IMPORT PRE_AVALON FULCRUM_3_0_0 FULCRUM_3_0_B1 FULCRUM_1_0 FULCRUM_YAAFI_1_0_6 FULCRUM_YAAFI_1_0_5 FULCRUM_YAAFI_1_0_4 FULCRUM_YAAFI_1_0_3 FULCRUM_YAAFI_CRYPTO_1_0_6 FULCRUM_YAAFI_CRYPTO_1_0_6_RC1 FULCRUM_XSLT_1_1_0 FULCRUM_XSLT_1_0_3 FULCRUM_XMLRPC_1_0_5 FULCRUM_UPLOAD_1_0_5 FULCRUM_UPLOAD_1_0_4 FULCRUM_UPLOAD_1_0_3 FULCRUM_TESTCONTAINER_1_0_6 FULCRUM_TESTCONTAINER_1_0_5 FULCRUM_TESTCONTAINER_1_0_4 FULCRUM_TEST_CONTAINER_1_0_6 FULCRUM_SPRING_1_0_0 FULCRUM_SECURITY_1_0_7 FULCRUM_SCRIPT_1_0_0 FULCRUM_RESOURCEMANAGER_1_0_1 FULCRUM_RESOURCEMANAGEER_1_0_1 FULCRUM_QUARTZ_1_1_0 FULCRUM_QUARTZ_1_0 FULCRUM_POOL_1_0_4 FULCRUM_POOL_1_0_3 FULCRUM_PBE_1_0_1 FULCRUM_PARSER_1_0_2 FULCRUM_PARENT_1 FULCRUM_PARENT_1_RC1 FULCRUM_OSWORKFLOW_1_0_1 FULCRUM_NAMING_1_0_2 FULCRUM_MIMETYPE_1_0_5 FULCRUM_MIMETYPE_1_0_4 FULCRUM_LOCALIZATION_1_0_6 FULCRUM_LOCALIZATION_1_0_5 FULCRUM_JETTY_1_0_0 FULCRUM_INTAKE_1_0_6 FULCRUM_HSQLDB_1_0_0 FULCRUM_FACTORY_1_0_4 FULCRUM_FACTORY_1_0_3 FULCRUM_DVSL_1_0_5 FULCRUM_CRYPTO_1_0_7 FULCRUM_CRYPTO_1_0_6 FULCRUM_CRYPTO_1_0_5 FULCRUM_CACHE_1_1_0 FULCRUM_CACHE_1_0_5 FULCRUM_BSF_1_0_2 DUMMY
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bsf
cache
commonsemail
configuration
crypto
dvsl
factory
groovy
hsqldb
intake
jetty
json
localization
mimetype
naming
osworkflow
parent
parser
pbe
pool
proposals/db_security_service
quartz
resourcemanager
script
security
servicemanager
site
spring
template
testcontainer
upload
xdocs
xmlrpc
xslt
yaafi-crypto
yaafi
.cvsignore
KEYS
LICENSE.txt
README.txt
README_MORE_WEBSITE_MULTI_MODULES
pom.xml

README.txt

--------------------------------------------------------------------------
 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.
--------------------------------------------------------------------------

F U L C R U M
--------------------------------------------------------------------------

Fulcrum is a collection of components originally part of the Turbine core
project that are suitable for use in any environment.  They are designed to
be used within any Avalon-compatible container.


--------------------------------------------------------------------------
B U I L D I N G
--------------------------------------------------------------------------
You must have Maven 2.x. or 3.x

Building the Fulcrum from SVN is very easy.  Fulcrum has been
Maven-enabled.  Please refer to the Maven Getting Started document for
instructions on building.  This document is available here:

https://maven.apache.org/guides/getting-started/

-------------------------------------------
GIT READONLY
-------------------------------------------

You could use git to checkout current trunk:

git clone https://github.com/apache/turbine-fulcrum.git
git checkout -b remote-trunk remotes/origin/trunk

--------------------------------------------------------------------------
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. Check, if -Dgpg.useagent=false is needed,  see below comment to pinentry.
  mvn clean site install -Papache-release -Dgpg.passphrase=<xx> 
  // multi module
  mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true -Papache-release 
  // single
  mvn release:prepare -DdryRun=true -Papache-release 
  // 
  mvn release:clean

2) Remote Testing
  // explicit authentication with -Dusername=<username> -Dpassword=<pw>
  // multi module
  mvn release:prepare -DautoVersionSubmodules=true -P apache-release
  // success will be on the master build, the others are skipped
  // single
  mvn release:prepare -P apache-release
  // 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 
  // .. this may happen, if you do not define the pinentry-program in gpg-agent.conf correctly ..
  mvn release:perform 
  
  // You could find more information here: http://www.sonatype.com/books/nexus-book/reference/staging.html
  
5) Close the staging
  // Login and close in Nexus Repo
  https://repository.apache.org/index.html#stagingRepositories
  // More information available: https://www.apache.org/dev/publishing-maven-artifacts.html#close-stage
  
6) Prepare Voting Information and Voting
  ....
  
7) Either Promote / Publish or Drop and Restage
  // http://www.apache.org/dev/publishing-maven-artifacts.html#promote
  // http://www.apache.org/dev/publishing-maven-artifacts.html#drop
  // After Drop "reverse merge the release prepare (i.e. mvn release:rollback if possible),
  // manually delete tag in svn repo (svn delete ..) 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
  // SVN Checkout <tagged release version> source
  // Generate and Publish Site
  // multi module 
  mvn site site:stage scm-publish:publish-scm -Dscmpublish.dryRun=true
  mvn clean site site:stage scm-publish:publish-scm -Dusername=<username> -Dpassword=<pw>
  // single module (omit site:stage, which reqires site element definition in distributionManagement)
  mvn site scm-publish:publish-scm -Dscmpublish.dryRun=true
  mvn clean site scm-publish:publish-scm -Dusername=<username> -Dpassword=<pw>
 
9) Distribution 
  // http://www.apache.org/dev/release#upload-ci,
  // http://www.apache.org/dev/release.html#host-GA and 
  // http://www.apache.org/dev/release-publishing.html#distribution
  // - SVN checkout target distribution from https://dist.apache.org/repos/dist/release/turbine/<...>/<...>
  // - SVN checkout released source from https://svn.apache.org/repos/asf/turbine/<..>/tags/<..>
  // - Generate artifacts (check local repo and target for artifacts) from released version:
  mvn clean install package -Papache-release -DcreateChecksum=true
  // generate checksums in dist source/binaries folde. More information here: https://checker.apache.org/doc/README.html and 
  // https://checker.apache.org/dist/verify.html
  
  
  // If not all jars are included (assembly plugin _SHOULD_ run after jar generation), run a second time without clean
  // If no md5 files are in the target folder, check local repo
  
  // - SVN Add <binaries>, <sources> artifacts (jar/zip/tar.gz,asc,md5,sha1 files) to target repo
  // - SVN Remove old releases binaries and sources 
  // After repos/dist is updated an automatic email will be generated, if no update of the release database is done:
  https://reporter.apache.org/addrelease.html?turbine