You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by gk...@apache.org on 2021/10/05 14:18:39 UTC
[turbine-fulcrum-build] branch master updated (be45853 -> 54f0219)
This is an automated email from the ASF dual-hosted git repository.
gk pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/turbine-fulcrum-build.git.
from be45853 describe how to add a new moduel(maven/git), add fulcrum upload component to default modules
new 6b86220 Update Readme with new git workflows and cleanup.
new 54f0219 update README.md, cleanup, add more git relevant hints
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README.md | 107 +++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 61 insertions(+), 46 deletions(-)
[turbine-fulcrum-build] 01/02: Update Readme with new git workflows
and cleanup.
Posted by gk...@apache.org.
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 <gk...@apache.org>
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).
[turbine-fulcrum-build] 02/02: update README.md, cleanup,
add more git relevant hints
Posted by gk...@apache.org.
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 54f021905d3b2b090261db23c1718099ad312f95
Merge: 6b86220 be45853
Author: Georg Kallidis <gk...@apache.org>
AuthorDate: Tue Oct 5 15:15:36 2021 +0100
update README.md, cleanup, add more git relevant hints
.gitmodules | 3 +++
README.md | 30 +++++++++++++++++-------------
pom.xml | 3 +--
upload | 1 +
4 files changed, 22 insertions(+), 15 deletions(-)
diff --cc README.md
index 628d473,c235b4f..cb53e98
--- a/README.md
+++ b/README.md
@@@ -22,15 -23,15 +22,12 @@@ instructions on building. This documen
https://maven.apache.org/guides/getting-started/
--
### GIT
--------------------------------------------
-
You could use git to checkout current trunk:
git clone --recurse-submodules https://github.com/apache/turbine-fulcrum-build.git
--
To update submodules:
git pull --recurse-submodules
@@@ -38,21 -39,34 +35,29 @@@
To merge and fast-forward
git submodule update --remote --merge
--
## 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
---------------------------------------------------------------------------
+ ### Adding Fulcrum component
+
+ git submodule add https://gitbox.apache.org/repos/asf/turbine-fulcrum-upload.git upload
+
+ This will immediately clone the repo into folder upload.
+
+ Edit in pom and add module
+
+ <module>upload</module>
+
+ Test it, by running mvn install
+
### Publishing Workflow
#### Prerequisites
@@@ -98,17 -112,12 +103,16 @@@ 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.
-**Multi Module**
+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>.
- mvn release:prepare -DautoVersionSubmodules=true -P apache-release
+**Multi Module**
+ mvn release:prepare -DautoVersionSubmodules=true -Papache-release -Dtag=<project.artifact>-<version>-candidate
+
-
Important: Success will be on the master build, the others are skipped.
@@@ -144,12 -155,9 +148,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
@@@ -227,29 -224,28 +230,30 @@@ If no sha512 files are in the target fo
- [DEPLOY DOCU](http://maven.apache.org/developers/website/deploy-component-reference-documentation.html)
--Git Checkout <tagged release version> source. Generate and Publish Site
++## Git Checkout <tagged release version> source. Generate and Publish Site
+
+### 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)
-### Description of the process (GIT)
+
+ - Generate the site (mvn site, single module, mvn site site:stage multi module) in master and optionally save it somewhere
-- Git checkout branch asf-site (verify .asf.yaml has similar key/value asc
+- Save target/site into another folder (target may be ignored, but to be sure)
+
+- checkout branch asf-site. Verify proper settings in .asf.yaml providing at least this line:
whoami: asf-site
- - copy content of saved copy or target/site (single module), target/staging (multi module) to *the root of the branch*
-- Copy generated content to the root of the branch
++- Copy content of saved copy or target/site (single module), target/staging (multi module) to *the root of the branch*
- - commit and push (this triggers the site update, if not contact INFRA)
+ - Commit and push (this triggers the site update, if not contact INFRA)
-### Maven (may or may not be used with Git)
+### ~~Maven Publishing~~
-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:
-
- turbine.site.cache: ${user.home}/turbine-sites
-
-But check pom.xml configuration of properties.
+The second steps are not yet tested with git repos (2021). Use instead the workflow above (using GIT commands).
**Multi Module**