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/09/21 15:37:41 UTC
[turbine-fulcrum-build] branch master created (now a6b6d52)
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.
at a6b6d52 init master build Turbine Fulcrum maven multi module with git submodules
This branch includes the following new commits:
new a6b6d52 init master build Turbine Fulcrum maven multi module with git submodules
The 1 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.
[turbine-fulcrum-build] 01/01: init master build Turbine Fulcrum
maven multi module with git submodules
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 a6b6d52e64f4c180084f0d2efca013639c34d56a
Author: Georg Kallidis <gk...@apache.org>
AuthorDate: Tue Sep 21 16:36:50 2021 +0100
init master build Turbine Fulcrum maven multi module with git submodules
---
.gitignore | 8 ++
.gitmodules | 60 ++++++++++++++
README.md | 255 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cache | 1 +
crypto | 1 +
factory | 1 +
intake | 1 +
json | 1 +
localization | 1 +
parser | 1 +
pom.xml | 100 +++++++++++++++++++++++
pool | 1 +
quartz | 1 +
security | 1 +
site | 1 +
testcontainer | 1 +
yaafi | 1 +
yaafi-crypto | 1 +
18 files changed, 437 insertions(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8135ba5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+target/
+*.log
+.classpath
+.project
+*.iml
+*.patch
+*.ser
+*~
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..99baeb3
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,60 @@
+[submodule "turbine-fulcrum-cache"]
+ path = turbine-fulcrum-cache
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-cache.git
+ branch = master
+[submodule "cache"]
+ path = cache
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-cache.git
+ branch = master
+[submodule "factory"]
+ path = factory
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-factory.git
+ branch = master
+[submodule "json"]
+ path = json
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-json.git
+ branch = master
+[submodule "localization"]
+ path = localization
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-localization.git
+ branch = master
+[submodule "parser"]
+ path = parser
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-parser.git
+ branch = master
+[submodule "pool"]
+ path = pool
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-pool.git
+ branch = master
+[submodule "quartz"]
+ path = quartz
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-quartz.git
+ branch = master
+[submodule "security"]
+ path = security
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-security.git
+ branch = master
+[submodule "site"]
+ path = site
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-site.git
+ branch = master
+[submodule "testcontainer"]
+ path = testcontainer
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-testcontainer.git
+ branch = master
+[submodule "yaafi"]
+ path = yaafi
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-yaafi.git
+ branch = master
+[submodule "yaafi-crypto"]
+ path = yaafi-crypto
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-yaafi-crypto.git
+ branch = master
+[submodule "crypto"]
+ path = crypto
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-crypto.git
+ branch = master
+[submodule "intake"]
+ path = intake
+ url = https://gitbox.apache.org/repos/asf/turbine-fulcrum-intake.git
+ branch = master
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9b22ca5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,255 @@
+# [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
+be used within any Avalon-compatible container.
+
+## U S A G E
+
+Apache Fulcrum components might be used standalone, e.g. Fulcrum Crypto, but
+most components work best in an environment which uses the Fulcrum Yaafi service framework
+(which is using the Avalon service lifecycle interfaces aka Avalon container).
+
+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
+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
+-------------------------------------------
+
+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
+
+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
+--------------------------------------------------------------------------
+### Publishing Workflow
+
+#### Prerequisites
+
+Deploy 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
+ - https://infra.apache.org/publishing-maven-artifacts.html
+
+##### 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
+```
+
+**Multi Module**
+
+ mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true -Papache-release
+
+Optional security check after mvn clean install:
+
+ mvn org.owasp:dependency-check-maven:aggregate -Ddependency.check.skip=false -DskipTests=true.
+
+**Single**
+
+If dependency check is skipped by default, do mvn org.owasp:dependency-check-maven:check -Ddependency.check.skip=false
+Since Turbine Parent 8 security check is enabled by default.
+
+ mvn release:prepare -DdryRun=true -Papache-release
+
+And finally:
+
+ mvn release:clean
+
+2. Remote Testing
+
+- May require explicit authentication with -Dusername=<username> -Dpassword=<pw>
+
+**Multi Module**
+
+ mvn release:prepare -DautoVersionSubmodules=true -P apache-release
+
+
+Important: Success will be on the master build, the others are skipped.
+
+**Single**
+
+ mvn release:prepare -Papache-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.
+
+3. Release Preparing
+
+If you get a 401 error on the upload to repository.apache.org, make sure
+that your mvn security settings are in place ~/.m2/settings.xml and ~/.m2/settings-security.xml
+
+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/
+
+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: [Book Reference Staging](http://www.sonatype.com/books/nexus-book/reference/staging.html)
+
+4. Close the staging
+
+Login and close in Nexus Repo:
+
+ - [Staging](https://repository.apache.org/index.html#stagingRepositories)
+
+ More information available: [CLOSE STAGE](https://www.apache.org/dev/publishing-maven-artifacts.html#close-stage).
+
+ Fetch the URL for the tagged Repo from target/checkout with
+
+ svn info
+ git remote -v
+
+
+5. Prepare Voting Information and Voting
+
+ ....
+
+6. Either Promote / Publish or Drop and Restage
+
+ - [PROMOTE INFO](http://www.apache.org/dev/publishing-maven-artifacts.html#promote)
+ - [DROP INFO](http://www.apache.org/dev/publishing-maven-artifacts.html#drop)
+
+6a Promote / Release
+
+- Release staged repository in nexus and proceed with next step.
+
+6b Revert
+
+- Drop "reverse merge" the release prepare. If backup files (from release:prepare) are still there:
+
+ 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.
+
+- 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).
+
+
+7. 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
+
+
+ - Update branch asf-site in Fulcrum component root: Copy files from target/staging to the root of branch asf-site and commit.
+ This will trigger (with .asf.yaml configuration) an update to the distribution site.
+
+ - 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:
+
+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
+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.
+
+- SVN Add <binaries>, <sources> artifacts (jar/zip/tar.gz,asc,sha512 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:
+
+ - [ADD TO TURBINE RELEASE APACHE](https://reporter.apache.org/addrelease.html?turbine)
+
+
+ 8. Stage the latest documentation
+
+- [DEPLOY DOCU](http://maven.apache.org/developers/website/deploy-component-reference-documentation.html)
+
+Git Checkout <tagged release version> source. Generate and Publish Site
+
+### Description of the process
+
+- Generate the site (mvn site, single module, mvn site site:stage multi module)
+
+- checkout branch asf-site (verify proper settings in .asf.yaml)
+
+- copy content of target/site (single module), target/staging (multi module) to the root of the branch
+
+- commit and push (this trigers the site update, if not contact INFRA)
+
+### Maven (not used for Git)
+
+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.
+
+**Multi Module**
+
+ mvn clean site site:stage
+ mvn scm-publish:publish-scm -Dscmpublish.dryRun=true
+
+**Single**
+
+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>
+
+
+To deploy the site execute:
+
+ mvn site-deploy
+
+
+## License
+
+Apache Fulcrum is distributed under the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
diff --git a/cache b/cache
new file mode 160000
index 0000000..ad6c836
--- /dev/null
+++ b/cache
@@ -0,0 +1 @@
+Subproject commit ad6c8362dd73c795b31a1feb9010ef60fd66c289
diff --git a/crypto b/crypto
new file mode 160000
index 0000000..ac6f4e9
--- /dev/null
+++ b/crypto
@@ -0,0 +1 @@
+Subproject commit ac6f4e9739e3d8a9a7d6f25561ac2322eadbec4a
diff --git a/factory b/factory
new file mode 160000
index 0000000..2876657
--- /dev/null
+++ b/factory
@@ -0,0 +1 @@
+Subproject commit 287665732b7ca32bae30c6d4307cbba56362fe18
diff --git a/intake b/intake
new file mode 160000
index 0000000..c83c3f4
--- /dev/null
+++ b/intake
@@ -0,0 +1 @@
+Subproject commit c83c3f43e6c906852b3b68bbbbecc641e9079eca
diff --git a/json b/json
new file mode 160000
index 0000000..29a4a0f
--- /dev/null
+++ b/json
@@ -0,0 +1 @@
+Subproject commit 29a4a0f56fd9d8e18f31d7db454db3e6479a08c9
diff --git a/localization b/localization
new file mode 160000
index 0000000..f21dde1
--- /dev/null
+++ b/localization
@@ -0,0 +1 @@
+Subproject commit f21dde1c80476d0e707ad26f6d2762916880da94
diff --git a/parser b/parser
new file mode 160000
index 0000000..196fc7d
--- /dev/null
+++ b/parser
@@ -0,0 +1 @@
+Subproject commit 196fc7df5058518b826e0d1d34ec8fcd997d8f40
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..7e5f07f
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+ 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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>turbine-parent</artifactId>
+ <groupId>org.apache.turbine</groupId>
+ <version>9-SNAPSHOT</version>
+ </parent>
+ <artifactId>fulcrum</artifactId>
+ <packaging>pom</packaging>
+ <version>1</version>
+ <name>Fulcrum Master Build</name>
+ <url>http://turbine.apache.org/fulcrum</url>
+ <inceptionYear>2001</inceptionYear>
+
+ <modules>
+
+ <!-- turbine / torque dependencies -->
+
+ <module>cache</module>
+ <module>crypto</module>
+ <module>factory</module>
+ <module>intake</module>
+ <module>json</module>
+ <module>localization</module>
+ <module>parser</module>
+ <module>pool</module>
+ <module>quartz</module>
+ <module>security</module>
+ <module>testcontainer</module>
+ <!--TODO add as git
+ module>upload</module-->
+ <module>yaafi-crypto</module>
+ <module>yaafi</module>
+
+ <!-- Potentially dormant modules -->
+ <!--module>commonsemail</module>
+ <module>configuration/impl</module>
+ <module>hsqldb</module>
+ <module>mimetype</module>
+ <module>pbe</module>
+ <module>resourcemanager</module>
+ <module>groovy</module>
+ <module>script</module>
+ <module>servicemanager</module>
+ <module>spring</module>
+ <module>xmlrpc</module>
+ <module>xslt</module-->
+
+ <!-- needs upgrade to eclipse jetty -->
+ <!--module>jetty</module-->
+
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!-- run optionally
+ mvn org.owasp:dependency-check-maven:aggregate
+ do not use it as reporting plugin, as it exposes file paths to artifacts
+ check each possible vulnerability carefully, find more info about how to read, false positives et al. here: https://jeremylong.github.io/DependencyCheck/dependency-check-maven/plugin-info.html
+ -->
+ <plugin>
+ <groupId>org.owasp</groupId>
+ <artifactId>dependency-check-maven</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ <!--configuration>
+ <suppressionFiles>true</suppressionFiles>
+ </configuration-->
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project>
+
diff --git a/pool b/pool
new file mode 160000
index 0000000..76d3e6c
--- /dev/null
+++ b/pool
@@ -0,0 +1 @@
+Subproject commit 76d3e6ca85a15d0f3be4ce6ad1392c60282f1277
diff --git a/quartz b/quartz
new file mode 160000
index 0000000..237e494
--- /dev/null
+++ b/quartz
@@ -0,0 +1 @@
+Subproject commit 237e4944dd35bec70d456d14e7c171db23ce55f2
diff --git a/security b/security
new file mode 160000
index 0000000..55f0104
--- /dev/null
+++ b/security
@@ -0,0 +1 @@
+Subproject commit 55f0104855ae0c22bec4a08bf917d7f8291c6872
diff --git a/site b/site
new file mode 160000
index 0000000..90e99aa
--- /dev/null
+++ b/site
@@ -0,0 +1 @@
+Subproject commit 90e99aa38431c4da369e8a7467596066a727d062
diff --git a/testcontainer b/testcontainer
new file mode 160000
index 0000000..b64234a
--- /dev/null
+++ b/testcontainer
@@ -0,0 +1 @@
+Subproject commit b64234ae9085d98be752ffe95dee7be33328d56c
diff --git a/yaafi b/yaafi
new file mode 160000
index 0000000..f59c727
--- /dev/null
+++ b/yaafi
@@ -0,0 +1 @@
+Subproject commit f59c7279716e9ce5643fbccac9e8bd6cc7d34456
diff --git a/yaafi-crypto b/yaafi-crypto
new file mode 160000
index 0000000..452870f
--- /dev/null
+++ b/yaafi-crypto
@@ -0,0 +1 @@
+Subproject commit 452870f306f8528c41b198897a53224e755da6c6