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

sblackmon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/streams.git


The following commit(s) were added to refs/heads/master by this push:
     new 66f4537f2c Improve documentation prior to release #547
66f4537f2c is described below

commit 66f4537f2cdafed2cfc343e371913f13acb314f6
Author: sblackmon <[email protected]>
AuthorDate: Wed Jan 17 08:03:23 2024 -0600

    Improve documentation prior to release #547
---
 .asf.yaml                                          |  17 +++
 .sdkmanrc                                          |  19 ++++
 LICENSE => LICENSE.txt                             |   0
 NOTICE => NOTICE.txt                               |   0
 pom.xml                                            |   6 +-
 src/site/markdown/credentials/twitter.md           |  24 -----
 src/site/markdown/install/java.md                  |  16 ---
 src/site/markdown/install/sbt.md                   |  17 ---
 src/site/markdown/license-snippets.md              | 114 +++++++++++++++++++++
 .../markdown/processes/release-manager-setup.md    |  22 ++++
 src/site/markdown/processes/release-preparation.md |  75 ++++++++++++++
 .../{release.md => processes/release-steps.md}     |  16 +--
 .../processes/release-workstation-setup.md         |  19 ++++
 src/site/markdown/release-preparation.md           |  51 ---------
 src/site/markdown/release-setup.md                 |  74 -------------
 src/site/markdown/services/cassandra.md            |  34 ------
 src/site/markdown/services/elasticsearch.md        |  35 -------
 src/site/markdown/services/mongo.md                |  34 ------
 src/site/markdown/services/neo4j.md                |  29 ------
 src/site/markdown/{install => tools}/docker.md     |  10 +-
 src/site/markdown/tools/general.md                 |  24 +++++
 src/site/markdown/{install => tools}/git.md        |   6 +-
 src/site/markdown/tools/java.md                    |   9 ++
 src/site/markdown/{install => tools}/maven.md      |   0
 src/site/markdown/versions.md                      |  25 +++--
 src/site/site.xml                                  |  46 +++------
 .../FollowingCollectorFlatMapFunction.scala        |  18 ++++
 .../flink/twitter/collection/SpritzerSource.scala  |  18 ++++
 .../TimelineCollectorFlatMapFunction.scala         |  18 ++++
 .../UserInformationCollectorFlatMapFunction.scala  |  18 ++++
 .../streams/plugins/StreamsPojoRuleLogger.java     |  19 ++++
 31 files changed, 441 insertions(+), 372 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 6ff1a519f2..6666911fc6 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -1,3 +1,20 @@
+# 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.
+
+# https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features
+---
 github:
   del_branch_on_merge: true
   description: "Apache Streams"
diff --git a/.sdkmanrc b/.sdkmanrc
new file mode 100644
index 0000000000..97dace178f
--- /dev/null
+++ b/.sdkmanrc
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+java=17.0.9-tem
+maven=3.9.6
+
diff --git a/LICENSE b/LICENSE.txt
similarity index 100%
rename from LICENSE
rename to LICENSE.txt
diff --git a/NOTICE b/NOTICE.txt
similarity index 100%
rename from NOTICE
rename to NOTICE.txt
diff --git a/pom.xml b/pom.xml
index d13c3f5784..9a15610a33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>21</version>
+        <version>31</version>
     </parent>
 
     <groupId>org.apache.streams</groupId>
@@ -528,7 +528,7 @@
                             </goals>
                             <configuration>
                                 <resourceBundles combine.children="append">
-                                    <!-- Will generate META-INF/DEPENDENCIES 
META-INF/LICENSE META-INF/NOTICE -->
+                                    <!-- Will generate META-INF/DEPENDENCIES 
META-INF/LICENSE.txt META-INF/NOTICE -->
                                     
<resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                                 </resourceBundles>
                                 <properties>
@@ -1796,7 +1796,7 @@
                                 
<excludedGroups>^org.apache.streams.*</excludedGroups>
                                 <failOnBlacklist>true</failOnBlacklist>
                                 <failOnMissing>true</failOnMissing>
-                                
<licenseMergesFile>${session.executionRootDirectory}/src/license/licenseMerges.txt</licenseMergesFile>
+                                
<licenseMergesUrl>file://${session.executionRootDirectory}/src/license/licenseMerges.txt</licenseMergesUrl>
                                 
<missingFile>${session.executionRootDirectory}/src/license/licenseMissingFile.properties</missingFile>
                                 <outputDirectory>src/license</outputDirectory>
                                 
<thirdPartyFilename>THIRD-PARTY.txt</thirdPartyFilename>
diff --git a/src/site/markdown/credentials/twitter.md 
b/src/site/markdown/credentials/twitter.md
deleted file mode 100644
index 4960ccb1e1..0000000000
--- a/src/site/markdown/credentials/twitter.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## Twitter Credentials
-
-Create a local file `twitter.oauth.conf` with valid twitter credentials
-
-    twitter {
-      oauth {
-        consumerKey = ""
-        consumerSecret = ""
-        accessToken = ""
-        accessTokenSecret = ""
-      }
-    }
-
-Log into developer.twitter.com
-
-Visit https://apps.twitter.com and create an application.
-
-Select your application and click into 'Keys and Access Tokens'
-
-The consumerKey and consumerSecret are application-wide.
-
-The accessToken and accessTokenSecret are per-user.
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/install/java.md 
b/src/site/markdown/install/java.md
deleted file mode 100644
index 8a211966b2..0000000000
--- a/src/site/markdown/install/java.md
+++ /dev/null
@@ -1,16 +0,0 @@
-#### Java SDK
-
-Run from your command line:
-
-    java -version
-
-| Possible result | Explanation |
-|-----------------|-------------|
-| Java Version >= 1.8.0u25) | You're all good |
-| Java Version < 1.8.0u25 | You need a newer JDK |
-
-If you need to install or upgrade Java, start here:
-
-[http://www.oracle.com/technetwork/java/javase/downloads/index.html](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/install/sbt.md b/src/site/markdown/install/sbt.md
deleted file mode 100644
index b8bc684f12..0000000000
--- a/src/site/markdown/install/sbt.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## SBT
-
-Run from your command line:
-
-    sbt
-
-| Possible result | Explanation |
-|-----------------|-------------|
-| bash: sbt: command not found | You need to install sbt |
-
-You should really install sbt-extras, like this:
-
-    curl -s https://raw.githubusercontent.com/paulp/sbt-extras/master/sbt > 
/usr/bin/sbtx && chmod 0755 /usr/bin/sbtx
-
-Now you can easily run the streams examples using SBT, like a boss.
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/license-snippets.md 
b/src/site/markdown/license-snippets.md
new file mode 100644
index 0000000000..6e8695220b
--- /dev/null
+++ b/src/site/markdown/license-snippets.md
@@ -0,0 +1,114 @@
+## License Snippets
+
+The following snippets depict proper Apache License 2.0 identification for 
various file types.
+
+### Java/Scala
+#### File Header
+
+```java
+/*
+ * 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.
+ */
+```
+
+### Markdown
+#### File Footer
+
+```markdown
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
+```
+
+### XML - File Header
+#### underneath the XML declaration
+
+```xml
+<!--
+  ~ 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
+  ~
+  ~   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.
+  -->
+```
+
+### Shell Script
+#### File Header, underneath the shebang
+
+```bash
+#
+# 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.
+#
+```
+
+### JSON
+#### In-Line Property
+
+```json
+{
+  "$license": [
+    "http://www.apache.org/licenses/LICENSE-2.0";
+  ]
+}
+```
+
+### YAML
+#### File Header
+
+```yaml
+# 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.
+
+# https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features
+---
+```
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/processes/release-manager-setup.md 
b/src/site/markdown/processes/release-manager-setup.md
new file mode 100644
index 0000000000..0ebb81f7e0
--- /dev/null
+++ b/src/site/markdown/processes/release-manager-setup.md
@@ -0,0 +1,22 @@
+## Release Manager Setup
+
+These setup steps only need to be performed by each contributor once.
+
+### Create and publish a GPG key
+
+NOTE: Refer to the current steps and guides on the ASF website:
+
+  - [GPG Keys](http://www.apache.org/dev/openpgp.html#generate-key)
+  - [Release 
Signing](http://www.apache.org/dev/release-signing.html#web-of-trust)
+
+1. Generate a key-pair with gpg, using default key kind ("RSA and RSA") and 
keys size (4096).
+
+2. Add your public key to the 
[KEYS](https://github.com/apache/streams/blob/master/KEYS) file. 
+
+        gpg --list-sigs <Real Name> && gpg --armor -- export <Real Name>
+
+3. Submit your public key to a key server. 
+
+4. Ask multiple (at least 3) current Apache committers to sign your public key.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/processes/release-preparation.md 
b/src/site/markdown/processes/release-preparation.md
new file mode 100644
index 0000000000..de8aa185e4
--- /dev/null
+++ b/src/site/markdown/processes/release-preparation.md
@@ -0,0 +1,75 @@
+## Prepare for a release
+
+Certain aspects of the release managers job are less structured and amenable 
to following a script.
+
+NOTE: Refer to the current steps and guides on the ASF website:
+
+- 
[https://www.apache.org/dev/licensing-howto.html]("https://www.apache.org/dev/licensing-howto.html";)
+- 
[https://www.apache.org/legal/resolved.html]("https://www.apache.org/legal/resolved.html";)
+- 
[http://www.apache.org/foundation/license-faq.html#]("http://www.apache.org/foundation/license-faq.html";)
+
+### License, Notice, and Intellectual Property Verification
+
+NOTE: Files under src/license may be updated by maven plugins, and/or by 
project contributors.
+
+NOTE: These files should be checked in and examined by the PMC prior to each 
release.
+
+NOTE: Dependencies may publish an uncommon license text, but still be OK to 
include.
+
+NOTE: Some projects are published under multiple licenses, and the operative 
license may not be the first listed.
+
+0. Begin in working directory streams
+
+1. Run audit of all third-party dependencies
+
+        mvn -Pcheck license:aggregate-add-third-party
+
+   This task is meant to fail if blacklist licenses are found, or if any 
dependencies have an unknown license.
+
+2. Review any warnings like the following:
+
+        [WARNING] dependency [org.apache.ant--ant--1.7.0] does not exist in 
project, remove it from the missing file.
+
+   If the dependency is not in the project, it should be removed from the 
missing file.
+
+   Sometimes the dependency is in the project, but the version is different.  
In this case, the version should be updated.
+
+3. Review third-party license names and urls
+
+        cat src/license/THIRD-PARTY.txt | sort
+
+   Identify any new name variants of common licenses, and modify 
src/license/licenseMerges.txt
+
+4. Research any dependency with an unidentified license.
+
+   These dependency must be hand-labelled in 
src/license/licenseMissingFile.properties
+
+5. If the total number of licenses has legitimately changed, run
+
+        mvn license:download-licenses
+
+6. Repeat step 1 and then proceed to step 7.
+
+7. Compare src/license/THIRD-PARTY.txt to its contents during the prior 
release.
+
+   With attention to any new entries, and any entries which have changed, 
modify NOTICE.txt.
+
+   Every bundled third-party dependency must declare at least one entry in 
LICENSE.
+
+   Licenses which contain a copyright notice must include that copyright 
notice in-line.
+
+   For licenses which fall under the 'Category B' designation, each dependency 
must be enumerated, associated with its license, and a url to its homepage.
+
+8. Audit the source code for any new files added since the last release 
missing mandatory license language.
+
+         mvn -N -Pcheck apache-rat:check
+
+    If any files are missing license headers, they must be added.
+
+    If there is any question as to the intent of the contributor, the 
contributor should be consulted.
+
+    In most cases, the contributor will have intended to contribute under the 
Apache License 2.0, and/or an IP clearance form will be on file with the ASF.
+
+    Do the needful to ensure the rat check passes before proceeding.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
\ No newline at end of file
diff --git a/src/site/markdown/release.md 
b/src/site/markdown/processes/release-steps.md
similarity index 96%
rename from src/site/markdown/release.md
rename to src/site/markdown/processes/release-steps.md
index e1c89e8fdd..1ea1bca967 100644
--- a/src/site/markdown/release.md
+++ b/src/site/markdown/processes/release-steps.md
@@ -1,20 +1,24 @@
-##Release Process
+## Release Steps
 
 apache-streams artifacts include streams source code, convenience jars by 
module, and a binary/byte-code release
 
-###NOTE:
+Prior to your first release, you'll need to refer to the following process 
guides: 
 
-Prior to your first release, you'll need to refer to [Release Setup 
Information](/release-setup.html).
+ * [Release Manager Setup](release-manager-setup.html)
 
-Prior to each release you perform, you'll need to refer to [Release 
Preparation](/release-preparation.html).
+ * [Release Workstation Setup](release-workstation-setup.html)
+
+Prior to each release you perform, you'll need to refer to the following 
process guides:
+
+ * [Release Preparation](release-preparation.html).
 
 As a streams release manager, you probably want to use the release.sh and 
publish-rc.sh scripts in the root of apache-streams.
 
 To perform a release manually, or to better understand what's going on, read 
the instructions below.
 
-###Common Release Steps
+### Release Steps
 
-1. Environment setup for releasing artifacts (same for SNAPSHOTs and releases) 
   
+1. Environment setup for releasing artifacts    
 
     1. Use the latest Sun 1.8.x JDK
     2. Use Maven 3.6.3 or later
diff --git a/src/site/markdown/processes/release-workstation-setup.md 
b/src/site/markdown/processes/release-workstation-setup.md
new file mode 100644
index 0000000000..3a6f4d8466
--- /dev/null
+++ b/src/site/markdown/processes/release-workstation-setup.md
@@ -0,0 +1,19 @@
+## Release Workstation Setup
+
+These setup steps need to be performed once on each workstation being used to 
perform a release.
+
+### Install necessary tools
+
+Refer to [General Installation Instructions](install/general.md) for 
instructions on installing the necessary tools.
+ 
+### Configure Maven
+
+Update your ~/.m2/settings.xml with the properties from [Publishing Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env)
+
+If you are using an SDKMAN-managed maven, it may not use the settings.xml in 
your home directory.  
+
+You can ensure that it does by adding the following to your ~/.bash_profile:
+
+    export M2_SETTINGS=~/.m2/settings.xml
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/release-preparation.md 
b/src/site/markdown/release-preparation.md
deleted file mode 100644
index 432942f5d9..0000000000
--- a/src/site/markdown/release-preparation.md
+++ /dev/null
@@ -1,51 +0,0 @@
-##Release Preparation
-
-Certain aspects of the release managers job are less structured and amenable 
to following a script.
-
-### License, Notice, and Intellectual Property Verification
-
-    0. Begin in working directory streams
-
-    1. Run audit of all third-party dependencies
-
-            mvn -Pcheck license:aggregate-add-third-party
-
-        This task is meant to fail if blacklist licenses are found, or if any 
dependencies have an unknown license.
-
-    2. Review third-party license names and urls
-
-            cat src/license/THIRD-PARTY.txt | sort
-
-        Identify any new name variants of common licenses, and modify 
src/license/licenseMerges.txt
-
-        Any unindentified license, needs to be researched and dependency 
removed or added to src/license/licenseMissingFile.properties
-
-        Files under src/license may be updated by maven plugins, and/or by 
project contributors.
-
-        These files should be checked in and examined by the PMC prior to each 
release.
-
-        NOTE: Dependencies may publish an uncommon license text, but still be 
OK to include.
-
-        NOTE: Some projects are published under multiple licenses, and the 
operative license may not be the first listed.
-
-    3. Update binary/bytecode LICENSE file
-
-        Every bundled third-party dependency must declare at least one entry 
in streams-dist/LICENSE.
-
-        Licenses which contain a copyright notice must include that copyright 
notice in-line.
-
-        For licenses which fall under the 'Category B' designation, each 
dependency must be enumerated, associated with its license, and a url to its 
homepage.
-
-        NOTE: src/license/THIRD-PARTY.txt and src/license/licenses.xml are 
helpful during this step.
-
-    3. Update binary/bytecode NOTICE file
-
-        Instructions TBD
-
-### References
-
-    
[https://www.apache.org/dev/licensing-howto.html]("https://www.apache.org/dev/licensing-howto.html";)
-
-    
[https://www.apache.org/legal/resolved.html]("https://www.apache.org/legal/resolved.html";)
-
-    
[http://www.apache.org/foundation/license-faq.html#]("http://www.apache.org/foundation/license-faq.html";
\ No newline at end of file
diff --git a/src/site/markdown/release-setup.md 
b/src/site/markdown/release-setup.md
deleted file mode 100644
index d09a093180..0000000000
--- a/src/site/markdown/release-setup.md
+++ /dev/null
@@ -1,74 +0,0 @@
-###Release Setup
-
-These setup steps only need to be performed on a particular machine once.
-
-Developers using Linux workstations can skip over the references to Cygwin. If 
using Windows, install cygwin, including Utils/gnupg and Net/openssh packages.
-
-####Create and install a SSH key
-
-1. Open a shell window. If using Windows, open a cygwin window.
-2. Use ssh-keygen to create an SSH key.
-
-        ssh-keygen -t rsa -b 4096
-
-    - Follow the latest steps and guides on the [ASF 
website](http://www.apache.org/dev/openpgp.html#generate-key) as you should 
**NOT** be using SHA1 and new keys **MUST** be at least 4096 bits.
-    - Program defaults should be fine. No passphrase is required for the ssh 
key generation. The keys will be saved in ~/.ssh/id_dsa (private) and 
~/.ssh/id_dsa.pub (public).
-    - See [Authenticating By Public Key 
(OpenSSH)](http://www.networknewz.com/networknewz-10-20030707AuthenticatingbyPublicKeyOpenSSH.html)
 for a good description on why and how to perform this task.
-3. SCP your SSH public key ~/.ssh/id_dsa.pub created in last step to 
~/id_dsa.pub on people.apache.org.  
-
-        cd ~/.ssh  
-        scp id_dsa.pub <your userid>@people.apache.org:id_dsa.pub  
-
-    - You will be prompted for your password.
-4. Use ssh to login to people.apache.org
-
-        cd ~    
-        ssh <your userid>@people.apache.org  
-
-    - At this point, you will still be prompted for your password.
-5.  Create a ~/.ssh folder in your home directory on people.apache.org and 
change its file mode to 700.
-
-        mkdir ~/.ssh  
-        chmod 700 ~/.ssh  
-
-6. Move or append ~/id_dsa.pub to ~/.ssh/authorized_keys and change its file 
mode to 600.
-
-        mv ~/id_dsa.pub ~/.ssh/authorized_keys
-        chmod 600 ~/.ssh/authorized_keys
-
-    - Each public key in the authorized_keys spans only one line.  For 
example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
-    - *'#' in the first column is a comment line.*
-
-7. Exit out of this ssh session.
-
-8. Start a new ssh session. No login should be required this time due to the 
private ssh key on your local box matching up with the public ssh key in your 
home directory (~/.ssh).
-
-        ssh <userid>@people.apache.org
-
-    - If you are still prompted for a password, then you have not set up the 
ssh keys properly. Review the steps above and ensure that all of the steps were 
followed properly. Or, maybe the instructions are still not quite right and 
they still need some adjusting. In that case, please update the instructions 
accordingly.*
-
-####Create a GPG key
-
-1. Open a shell window. If using Windows, open a cygwin window.
-2. Generate a key-pair with gpg, using default key kind ("RSA and RSA") and 
keys size (4096).
-
-        gpg --gen-key
-
-    - The program's default values should be fine. For the "Real Name" enter 
your full name (ie. Stan Programmer). For the "e-mail address" enter your 
apache address (ie. [email protected]). You will also be required to enter 
a "passphrase" for the GPG key generation. Keep track of this as you will need 
this for the Release processing.
-    - *The generated keys are stored in $HOME/.gnupg or %HOME%\Application 
Data\gnupg subdirectory.*
-    - *Save the content in this subdirectory to a safe media. This contains 
your private key used to sign all the Streams release materials.*
-
-3. Backup your home directory to another media ||
-4. Add your public key to the 
[KEYS](https://github.com/apache/streams/blob/master/KEYS) file. See the 
commands describe at the beginning of this KEYS file to perform this task. The 
gpg key-pair is used to sign the published artifacts for the Streams releases.
-
-        gpg --list-sigs <Real Name> && gpg --armor -- export <Real Name>
-
-5. Submit your public key to a key server. E.g. 
[SURFNET](http://pgp.surfnet.nl:11371/) or [MIT](http://pgp.mit.edu/)
-
-6. Following the instructions in http://people.apache.org/~henkp/trust/ and 
ask multiple (at least 3) current Apache committers to sign your public key.
-
-####Configure Maven
-
-1. Update your ~/.m2/settings.xml with the properties from [Publishing Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env)
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/services/cassandra.md 
b/src/site/markdown/services/cassandra.md
deleted file mode 100644
index 23aabf4056..0000000000
--- a/src/site/markdown/services/cassandra.md
+++ /dev/null
@@ -1,34 +0,0 @@
-## Cassandra
-
-Start cassandra via docker with the docker maven plugin:
-
-    docker -PdockerITs docker:start
-
-Confirm that cassandra is running:
-
-    docker ps
-
-Confirm that host and post(s) are in property file:
-
-    cat cassandra.properties
-
-Create a local file `cassandra.conf` with cluster details:
-
-    cassandra {
-      hosts += ${cassandra.tcp.host}
-      port = ${cassandra.tcp.port}
-    }
-
-When configuring a stream, include these files:
-
-    include "cassandra.properties"
-    include "cassandra.conf"
-
-Supply application-specific configuration as well:
-
-    cassandra {
-        keyspace: ""
-        table: ""
-    }
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/services/elasticsearch.md 
b/src/site/markdown/services/elasticsearch.md
deleted file mode 100644
index 58d096b2d7..0000000000
--- a/src/site/markdown/services/elasticsearch.md
+++ /dev/null
@@ -1,35 +0,0 @@
-## Elasticsearch
-
-Start elasticsearch via docker with the docker maven plugin:
-
-    docker -PdockerITs docker:start
-
-Confirm that elasticsearch is running:
-
-    docker ps
-
-Confirm that host and post(s) are in property file:
-
-    cat elasticsearch.properties
-
-Create a local file `elasticsearch.conf` with cluster details:
-
-    elasticsearch {
-      hosts += ${es.tcp.host}
-      port = ${es.tcp.port}
-      clusterName = "elasticsearch"
-    }
-
-When configuring a stream, include these files:
-
-    include "elasticsearch.properties"
-    include "elasticsearch.conf"
-
-Supply application-specific configuration as well:
-
-    elasticsearch {
-        index: ""
-        type: ""
-    }
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/services/mongo.md 
b/src/site/markdown/services/mongo.md
deleted file mode 100644
index c2b182d942..0000000000
--- a/src/site/markdown/services/mongo.md
+++ /dev/null
@@ -1,34 +0,0 @@
-## Mongo
-
-Start mongo via docker with the docker maven plugin:
-
-    docker -PdockerITs docker:start
-
-Confirm that elasticsearch is running:
-
-    docker ps
-
-Confirm that host and post(s) are in property file:
-
-    cat mongo.properties
-
-Create a local file `elasticsearch.conf` with cluster details:
-
-    mongo {
-      host = ${mongo.tcp.host}
-      port = ${mongo.tcp.port}
-    }
-
-When configuring a stream, include these files:
-
-    include "mongo.properties"
-    include "mongo.conf"
-
-Supply application-specific configuration as well:
-
-    mongo {
-        db: "",
-        collection: ""
-    }
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/services/neo4j.md 
b/src/site/markdown/services/neo4j.md
deleted file mode 100644
index 1d88ed04f4..0000000000
--- a/src/site/markdown/services/neo4j.md
+++ /dev/null
@@ -1,29 +0,0 @@
-## Neo4j
-
-Start mongo via docker with the docker maven plugin:
-
-    docker -PdockerITs docker:start
-
-Confirm that elasticsearch is running:
-
-    docker ps
-
-Confirm that host and post(s) are in property file:
-
-    cat neo4j.properties
-
-Create a local file `neo4j.conf` with cluster details:
-
-    neo4j {
-      hostname = ${neo4j.tcp.host}
-      port = ${neo4j.tcp.port}
-      type = "neo4j"
-      graph = "data"
-    }
-
-When configuring a stream, include these files:
-
-    include "neo4j.properties"
-    include "neo4j.conf"
-
-###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/install/docker.md 
b/src/site/markdown/tools/docker.md
similarity index 78%
rename from src/site/markdown/install/docker.md
rename to src/site/markdown/tools/docker.md
index 996bd4ee33..1aa501c209 100644
--- a/src/site/markdown/install/docker.md
+++ b/src/site/markdown/tools/docker.md
@@ -1,5 +1,7 @@
 ## Docker
 
+Some operating systems come with git pre-installed.
+
 Run from your command line:
 
     docker version
@@ -11,14 +13,8 @@ Run from your command line:
 | Server: Version: < 1.0.0 | You need a newer version of docker |
 | Client: Version: > 1.0.0\nServer: Version: > 1.0.0 | You are all good |
 
-If you need to install docker, start here:
+If you need to install or upgrade docker, this is a good resource:
 
 
[https://docs.docker.com/engine/installation/](https://docs.docker.com/engine/installation/)
 
-Run from your command line:
-
-    docker ps
-
-If you see a (possibly empty) list of running containers, you are good.
-
 ###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/tools/general.md 
b/src/site/markdown/tools/general.md
new file mode 100644
index 0000000000..6fe7a36c10
--- /dev/null
+++ b/src/site/markdown/tools/general.md
@@ -0,0 +1,24 @@
+## General Installation Instructions
+
+SDKMAN is a tool for managing parallel versions of multiple Software 
Development Kits on most Unix based systems. 
+
+It provides a convenient Command Line Interface (CLI) and API for installing, 
switching, removing and listing Candidates.
+
+SDKMAN is a simple way to manage the versions of Java and Maven used by the 
project.
+
+To install SDKMAN, run the following command:
+
+    curl -s "https://get.sdkman.io"; | bash
+
+For more information, see 
[https://sdkman.io/install](https://sdkman.io/install).
+
+*NOTE: Release scripts rely on sdkman, so using it is highly recommended if 
you intend to perform a release at some point.*
+
+Check out the following links for more information on how to install the 
required software:
+
+* [Git](git.md)
+* [Java](java.md)
+* [Maven](maven.md)
+* [Docker](docker.md)
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/install/git.md b/src/site/markdown/tools/git.md
similarity index 78%
rename from src/site/markdown/install/git.md
rename to src/site/markdown/tools/git.md
index c1aad8572a..6cca19a3fa 100644
--- a/src/site/markdown/install/git.md
+++ b/src/site/markdown/tools/git.md
@@ -1,4 +1,6 @@
-#### Git
+## Installing Git
+
+Many operating systems come with git pre-installed.
 
     git -version
 
@@ -8,7 +10,7 @@
 | git version < 2.7 | You should upgrade git for security reasons |
 | git version > 2.7 | You are all good |
 
-If you need to install docker, start here:
+If you need to install or upgrade git, this is a good resource:
 
 
[https://git-scm.com/book/en/v2/Getting-Started-Installing-Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
 
diff --git a/src/site/markdown/tools/java.md b/src/site/markdown/tools/java.md
new file mode 100644
index 0000000000..59125ae561
--- /dev/null
+++ b/src/site/markdown/tools/java.md
@@ -0,0 +1,9 @@
+#### Java SDK
+
+Apache Streams recommends usage of a JDK version >= 17.0
+
+If you are using SDKMAN to manage your tools, you can use the project standard 
JDK by running
+
+    sdk env
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/src/site/markdown/install/maven.md 
b/src/site/markdown/tools/maven.md
similarity index 100%
rename from src/site/markdown/install/maven.md
rename to src/site/markdown/tools/maven.md
diff --git a/src/site/markdown/versions.md b/src/site/markdown/versions.md
index 8d5f28448c..c26bc6adb3 100644
--- a/src/site/markdown/versions.md
+++ b/src/site/markdown/versions.md
@@ -1,12 +1,21 @@
-##Versions Supported
+## Versions Supported
 
-Apache Streams should be able to be built and used with 
-Java 1.8, Java 11, and Java 17.
+Apache Streams intends to be buildable and usable by a wide variety of users.
 
-You'll need to activate only one of the following profiles:
+To that end, we seek for our code to be compatible with a wide variety of Java 
versions.
 
-  - java-8
-  - java-11
-  - java-17
+Typically, maven will determine the version of Java to build with based on the 
active JDK.
 
-The default active profile is java-17.
+It does so by enabling one of the following profiles:
+  
+  - jdk8
+  - jdk11
+  - jdk17
+
+The artifacts published to maven central with no classifier are built with 
JDK17.
+
+The artifacts published to maven central with the classifier `jdk11` are built 
with JDK11.
+
+The artifacts published to maven central with the classifier `jdk8` are built 
with JDK8.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0
\ No newline at end of file
diff --git a/src/site/site.xml b/src/site/site.xml
index 41eb0b1816..ac379ecce6 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -76,48 +76,30 @@
             <item name="Roadmap" href="roadmap.html" />
         </menu>
         <menu name="Users">
-            <item name="Install Java" href="install/java.html"/>
-            <item name="Install Docker" href="install/docker.html"/>
-            <item name="Install SBT" href="install/sbt.html"/>
-            <item name="Credentials">
-                <item name="Twitter" href="credentials/twitter.html" />
-            </item>
-            <item name="Services">
-                <item name="Cassandra" href="services/cassandra.html" />
-                <item name="Elasticsearch" href="services/elasticsearch.html" 
/>
-                <item name="Mongo" href="services/mongo.html" />
-                <item name="Neo4j" href="services/neo4j.html" />
-                <item name="Riak" href="services/riak.html" />
-            </item>
+            <item name="Install Java" href="tools/java.html"/>
+            <item name="Install Docker" href="tools/docker.html"/>
         </menu>
         <menu name="Developers">
-            <item name="Install Git" href="install/git.html"/>
-            <item name="Install Maven" href="install/maven.html"/>
+            <item name="Install SDKMAN" href="tools/general.html"/>
+            <item name="Install Git" href="tools/git.html"/>
+            <item name="Install Maven" href="tools/maven.html"/>
             <item name="Versions Supported" href="versions.html"/>
-            <item name="Release Setup" href="release-setup.html" />
-            <item name="Release Process" href="release.html" />
+            <item name="Release Management">
+                <item name="Release Steps" href="processes/release-steps.html" 
/>
+                <item name="Release Manager Setup" 
href="processes/release-manager-setup.html" />
+                <item name="Release Workstation Setup" 
href="processes/release-workstation-setup.html" />
+                <item name="Release Preparation" 
href="processes/release-preparation.html" />
+            </item>
             <item name="Website Management" href="website.html" />
             <item name="Coding Conventions" href="code-conventions.html"/>
             <item name="Changelog" href="changelog.html" />
         </menu>
-        <!--<menu name="Details">-->
-            <!--<item name="Mailing Lists" href="mail-lists.html" />-->
-            <!--<item name="Project Team" href="team-list.html" />-->
-            <!--<item name="Continuous Integration" 
href="integration.html"/>-->
-            <!--<item name="Issue Tracking" href="issue-tracking.html" />-->
-            <!--<item name="Source Repositories" href="source-repository.html" 
/>-->
-            <!--<item name="Dependency Info" href="dependency-info.html" />-->
-            <!--<item name="Dependency Management" 
href="dependency-management.html" />-->
-            <!--<item name="Distribution Management" 
href="distribution-management.html" />-->
-            <!--<item name="Plugin Management" href="plugin-management.html" 
/>-->
-            <!---->
-            <!--<item name="Project License" href="license.html" />-->
-        <!--</menu>-->
         <menu name="Reports" ref="reports" inherit="top"/>
         <menu name="Other Resources">
             <item name="ActivityStreams Homepage" 
href="http://activitystrea.ms"; />
-            <item name="ActivityStreams Specifications" 
href="http://activitystrea.ms/specs/"; />
-            <item name="Streams Blog" href="http://blogs.apache.org/streams/"; 
/>
+            <item name="ActivityStreams 1.0 Specifications" 
href="http://activitystrea.ms/specs/"; />
+            <item name="ActivityStreams 2.0 Specifications" 
href="http://www.w3.org/TR/activitystreams-core/"; />
+            <item name="ActivityPub Specificaion" 
href="https://www.w3.org/TR/activitypub/"; />
             <item name="Streams Proposal Wiki Page" 
href="http://wiki.apache.org/incubator/StreamsProposal"; />
             <item name="Apache Foundation Info" href="http://www.apache.org/"; 
/>
             <item name="Sponsorship" 
href="http://www.apache.org/foundation/sponsorship.html"; />
diff --git 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/FollowingCollectorFlatMapFunction.scala
 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/FollowingCollectorFlatMapFunction.scala
index f2d435ba02..5afa4b0991 100644
--- 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/FollowingCollectorFlatMapFunction.scala
+++ 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/FollowingCollectorFlatMapFunction.scala
@@ -1,3 +1,21 @@
+/*
+ * 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
+ *
+ *   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.
+ */
+
 package org.apache.streams.examples.flink.twitter.collection
 
 import java.util.concurrent.TimeUnit
diff --git 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/SpritzerSource.scala
 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/SpritzerSource.scala
index c5c1e507f1..c2fb815eb4 100644
--- 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/SpritzerSource.scala
+++ 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/SpritzerSource.scala
@@ -1,3 +1,21 @@
+/*
+ * 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
+ *
+ *   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.
+ */
+
 package org.apache.streams.examples.flink.twitter.collection
 
 import java.io.Serializable
diff --git 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/TimelineCollectorFlatMapFunction.scala
 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/TimelineCollectorFlatMapFunction.scala
index 672bab1bf8..26c198426c 100644
--- 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/TimelineCollectorFlatMapFunction.scala
+++ 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/TimelineCollectorFlatMapFunction.scala
@@ -1,3 +1,21 @@
+/*
+ * 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
+ *
+ *   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.
+ */
+
 package org.apache.streams.examples.flink.twitter.collection
 
 import java.util.concurrent.TimeUnit
diff --git 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/UserInformationCollectorFlatMapFunction.scala
 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/UserInformationCollectorFlatMapFunction.scala
index 41dde970e7..f638ed7c5f 100644
--- 
a/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/UserInformationCollectorFlatMapFunction.scala
+++ 
b/streams-examples/streams-examples-flink/flink-twitter-collection/src/main/scala/org/apache/streams/examples/flink/twitter/collection/UserInformationCollectorFlatMapFunction.scala
@@ -1,3 +1,21 @@
+/*
+ * 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
+ *
+ *   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.
+ */
+
 package org.apache.streams.examples.flink.twitter.collection
 
 import java.util.concurrent.TimeUnit
diff --git 
a/streams-plugins/streams-plugin-pojo/src/main/java/org/apache/streams/plugins/StreamsPojoRuleLogger.java
 
b/streams-plugins/streams-plugin-pojo/src/main/java/org/apache/streams/plugins/StreamsPojoRuleLogger.java
index 31316ddbf9..c15a0ed24f 100644
--- 
a/streams-plugins/streams-plugin-pojo/src/main/java/org/apache/streams/plugins/StreamsPojoRuleLogger.java
+++ 
b/streams-plugins/streams-plugin-pojo/src/main/java/org/apache/streams/plugins/StreamsPojoRuleLogger.java
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package org.apache.streams.plugins;
 
 import org.jsonschema2pojo.RuleLogger;


Reply via email to