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;