This is an automated email from the ASF dual-hosted git repository.

gk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/turbine-fulcrum-build.git

commit 6b86220e8df31b66e77fdee3b9c4e72744b7e06a
Author: Georg Kallidis <[email protected]>
AuthorDate: Tue Oct 5 15:06:40 2021 +0100

    Update Readme with new git workflows and cleanup.
---
 README.md | 104 +++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 65 insertions(+), 39 deletions(-)

diff --git a/README.md b/README.md
index 9b22ca5..628d473 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
 # [Apache F U L C R U M](https://turbine.apache.org/fulcrum/)
---------------------------------------------------------------------------
 
 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
@@ -14,10 +13,10 @@ most components work best in an environment which uses the 
Fulcrum Yaafi service
 You can find a web framework, which is powered by Fulcrum here: [Apache 
Turbine](https://turbine.apache.org/).
 
 ## B U I L D I N G
---------------------------------------------------------------------------
+
 You must have Maven 3.x
 
-Building the Fulcrum from SVN is very easy.  Fulcrum has been
+Building the Fulcrum from GIT 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:
 
@@ -25,7 +24,7 @@ https://maven.apache.org/guides/getting-started/
 
 
 ### GIT 
--------------------------------------------
+
 
 You could use git to checkout current trunk:
 
@@ -42,18 +41,18 @@ To merge and fast-forward
 
     
 ## Documentation
---------------------------------------------------------------------------
+
 
 Each component has its section [here](https://turbine.apache.org/fulcrum/).
 
 ## Requirements
---------------------------------------------------------------------------
+
 
 Fulcrum Components requires Java 8. Older components might require Java 7 only.
     
-    -----------------------------------------------------------------------
+  
 ## COMPONENT DEVELOPMENT  
---------------------------------------------------------------------------
+
 ### Publishing Workflow
 
 #### Prerequisites
@@ -69,14 +68,14 @@ More Information:
   
 ##### Steps
 
+
 1. Local Testing
 
-    Verify gpg.homedir, gpg.useagent, gpg.passphrase. Check, if 
-Dgpg.useagent=false is needed,  see below comment to pinentry.
-    You may need to add additional profiles, e.g. -Papache-release,java8 or 
add -Dgpg.passphrase=<xx> 
-  
-```sh  
-mvn clean site install -Papache-release 
-```
+Verify gpg.homedir, gpg.useagent, gpg.passphrase. Check, if 
-Dgpg.useagent=false is needed,  see below comment to pinentry.
+You may need to add additional profiles, e.g. -Papache-release,java8 or add 
-Dgpg.passphrase=<xx> 
+
+    
+    mvn clean site install -Papache-release 
   
 **Multi Module**
  
@@ -99,21 +98,24 @@ And finally:
 
 2. Remote Testing
 
-- May require explicit authentication with -Dusername=<username> 
-Dpassword=<pw>
+As we using git as svn, be sure that you execute the steps in 
master/trunk/main branch as git commands are applied to the current branch.
+
+Find more Information in [Turbine Release 
Manual](https://cwiki.apache.org/confluence/display/TURBINE/Publishing+a+Release).
+
+If you have not set ssh-key or gpg authentication,  the tasks may require that 
you explicitely authenticate with -Dusername=<username> -Dpassword=<pw>. 
 
 **Multi Module**
 
-    mvn release:prepare -DautoVersionSubmodules=true -P apache-release
+    mvn release:prepare -DautoVersionSubmodules=true -Papache-release 
-Dtag=<project.artifact>-<version>-candidate
+    
 
  
 Important: Success will be on the master build, the others are skipped.
 
 **Single**
 
-    mvn release:prepare -Papache-release
+    mvn release:prepare -Papache-release 
-Dtag=<project.artifact>-<version>-candidate
 
-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.
   
 3. Release Preparing
 
@@ -123,7 +125,7 @@ that your mvn security settings are in place 
~/.m2/settings.xml and ~/.m2/settin
 For more information on setting up security see the encryption guide:
  - [GUIDE 
ENCRYPTION](http://maven.apache.org/guides/mini/guide-encryption.html).
 
-This performs an upload to 
repository.apache.org/service/local/staging/deploy/maven2/
+This performs an upload to https://repository.apache.org/#stagingRepositories
 
 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 ..
@@ -142,8 +144,11 @@ Login and close in Nexus Repo:
  
  Fetch the URL for the tagged Repo from target/checkout with
   
-    svn info
-    git remote -v
+    git pull --prune --tags
+    git tag -l 
+    git checkout <tag>
+    
+You will be in detached mode.    
 
   
 5. Prepare Voting Information and Voting
@@ -165,13 +170,24 @@ Login and close in Nexus Repo:
 
     mvn release:rollback
 
-which will delete the tag in git branch/svn repo tag (since version 3.0.0.-M1, 
it does a svn delete ..) and revert to the pre-release state.
-Otherwise revert the commits in your checked out workspace and delete the tag 
manually.
+which will delete the tag in git repo tag and revert to the pre-release state.
+
+Otherwise reset the commit in master in your checked out trunk/master/main 
branch 
+
+    git reflog
+    // find commit previous to release
+    git reset –hard <shacommit>
+    git commit "Reset to state previous RC due to <Message-ID>"
+    git push -f origin master
+
+and update master repo and delete the tag manually.
+
+    git push origin :refs/tags/<project.artifact>-<version>-candidate
 
 - Drop staged repository in nexus and start again with step 1.
 
 
-- Don't forget to refer to the failed vote Message-ID in the commit messages 
(svn, nexus).
+- Don't forget to refer to the failed vote Message-ID in the commit messages 
(git, nexus).
 
  
 7. Distribution 
@@ -193,11 +209,11 @@ Checkout the tagged released release and run:
     mvn clean install package -Papache-release 
 
  
-Generate checksums with UNIX tool shasum, Windows certutil or other tools and 
+Generate checksums with UNIX tool shasum (2022 at least sha512), Windows 
certutil or other tools and 
 copy artifacts and sha-files to dist source/binaries folder.
 
 If not all jars are included (assembly plugin _SHOULD_ run after jar 
generation), run a second time without clean.
-If no sha1 files are in the target folder, check local repo.
+If no sha512 files are in the target folder, check local repo.
       
 - SVN Add <binaries>, <sources> artifacts (jar/zip/tar.gz,asc,sha512 files) to 
target repo.
 - SVN Remove old releases binaries and sources 
@@ -213,24 +229,27 @@ If no sha1 files are in the target folder, check local 
repo.
 
 Git Checkout <tagged release version> source. Generate and Publish Site
 
-### Description of the process
+### Description of the process using asf-site branch using GIT commands
+
+Hint: If checking out the branch asf-site you find an .asf.yaml file, where 
the exact configuration is found, what happens after site generation.
+
+Find more information 
[here](https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features).
 
 - Generate the site (mvn site, single module, mvn site site:stage multi module)
 
-- checkout branch asf-site (verify proper settings in .asf.yaml)
+- Save target/site into another folder (target may be ignored, but to be sure)
 
-- copy content of target/site (single module), target/staging (multi module) 
to the root of the branch
+- checkout branch asf-site. Verify proper settings in .asf.yaml providing at 
least this line:
 
-- commit and push (this trigers the site update, if not contact INFRA)
+    whoami: asf-site
 
-### Maven (not used for Git)
+- copy content of saved copy or target/site (single module), target/staging 
(multi module) to *the root of the branch*
 
-IMPORTANT: You may have to clean up the checkoutDirectory of 
maven-scm-publish-plugin plugin after doing a dry run!
-This directory is configured in turbine-parent bydefault outside target folder:
+- commit and push (this triggers the site update, if not contact INFRA)
 
-    turbine.site.cache: ${user.home}/turbine-sites
-    
-But check pom.xml configuration of properties.
+### ~~Maven Publishing~~
+
+The second steps are not yet tested with git repos (2021). Use instead the 
workflow above (using GIT commands). 
 
 **Multi Module**
 
@@ -244,12 +263,19 @@ 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>
 
+### Deployment 
    
-To deploy the site execute:
+To deploy the site execute
 
     mvn site-deploy
 
+IMPORTANT: You may have to clean up the checkoutDirectory of 
maven-scm-publish-plugin plugin after doing a dry run!
+This directory is configured in turbine-parent by default outside target 
folder:
+
+    turbine.site.cache: ${user.home}/turbine-sites
+    
+Check pom.xml configuration of properties.
 
 ## License
 
-Apache Fulcrum is distributed under the [Apache License, version 
2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
+Apache Fulcrum Components are distributed under the [Apache License, version 
2.0](http://www.apache.org/licenses/LICENSE-2.0.html).

Reply via email to