You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2020/09/29 07:13:28 UTC

[struts-site] branch contributors-guide updated (a5f1513 -> 160cb67)

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

lukaszlenart pushed a change to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git.


 discard a5f1513  Converts new pages related to creating distro
    omit 8a51d04  Add $-syntax to announcement
    omit a6a7a22  Add Announcement 2020-08-13
    omit 3761b85  Make current 2019 announcement page archived
    omit fdd3e91  Adjust docker scripts and docs to remove start errors (bash) and allow local serving
    omit beb48b9  Add ignores for VS Code and Eclipse
    omit 2e0c2dd  Adds small Struts logo
    omit c318651  Adds Sample Announcements page
    omit 032ccc8  Adds One time steps page
    omit 2afbca8  Uses the latest Maven summary
    omit 98cfcc5  Adding section how create a release
    omit d614723  Adds Contributors Guide to the menu
    omit aaaf7e3  Adds how to build
    omit fda9a83  Drops WIP
    omit b767d8d  Creates Contributors Guide starting page
     add 5dd1805  Adds small Struts logo
     add 4accab4  Add ignores for VS Code and Eclipse
     add 6ec8abe  Adjust docker scripts and docs to remove start errors (bash) and allow local serving
     add 82f2b50  Make current 2019 announcement page archived
     add 166f72e  Add Announcement 2020-08-13
     add d7a07ec  Add $-syntax to announcement
     add 2b13f96  Adding documentation for FM and COOP/COEP (#1)
     add 18360c2  Remove individual interceptor refs
     add 85d7bbc  Merge pull request #149 from salcho/fm-coop-coep-docs
     add 35c12fd  Adds release info about Struts 2.5.25
     add d9e8d07  Merge pull request #150 from apache/release-2525
     new cfc948a  Creates Contributors Guide starting page
     new ee45534  Drops WIP
     new 44312b5  Adds how to build
     new d9bd470  Adds Contributors Guide to the menu
     new 69a7edf  Adding section how create a release
     new e45126d  Uses the latest Maven summary
     new ee8f58b  Adds One time steps page
     new de141f5  Adds Sample Announcements page
     new 160cb67  Converts new pages related to creating distro

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (a5f1513)
            \
             N -- N -- N   refs/heads/contributors-guide (160cb67)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 _config.yml                                        | 10 +++---
 source/announce.md                                 | 31 ++++++++++++++++
 source/core-developers/coep-interceptor.md         | 40 +++++++++++++++++++++
 source/core-developers/coop-interceptor.md         | 42 ++++++++++++++++++++++
 .../core-developers/fetch-metadata-interceptor.md  | 39 ++++++++++++++++++++
 source/core-developers/interceptors.md             |  3 ++
 source/index.html                                  |  2 +-
 source/releases.html                               | 13 ++++++-
 source/security/index.md                           | 24 +++++++++++++
 9 files changed, 197 insertions(+), 7 deletions(-)
 create mode 100644 source/core-developers/coep-interceptor.md
 create mode 100644 source/core-developers/coop-interceptor.md
 create mode 100644 source/core-developers/fetch-metadata-interceptor.md


[struts-site] 06/09: Uses the latest Maven summary

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit e45126da15529635a3a4ced5612de0caf3463594
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Fri Aug 14 11:26:03 2020 +0200

    Uses the latest Maven summary
---
 source/contributors/building-with-maven.md | 91 ++++++++++++------------------
 1 file changed, 37 insertions(+), 54 deletions(-)

diff --git a/source/contributors/building-with-maven.md b/source/contributors/building-with-maven.md
index 4c76bc4..7dc408c 100644
--- a/source/contributors/building-with-maven.md
+++ b/source/contributors/building-with-maven.md
@@ -52,65 +52,48 @@ core/target/struts2-core-2.0-SNAPSHOT.jar
 **Initial Build Successful**
 
 ```
+[INFO] ------------------------------------------------------------------------
 [INFO] Reactor Summary:
 [INFO]
-[INFO] Struts 2 .......................................... SUCCESS [6.016s]
-[INFO] XWork: Core ....................................... SUCCESS [1:08.086s]
-[INFO] Struts 2 Core ..................................... SUCCESS [2:42.604s]
-[INFO] Struts Plugins .................................... SUCCESS [0.944s]
-[INFO] Struts 2 Spring Plugin ............................ SUCCESS [13.523s]
-[INFO] Struts 2 Convention Plugin ........................ SUCCESS [16.473s]
-[INFO] Struts 2 JUnit Plugin ............................. SUCCESS [13.325s]
-[INFO] Webapps ........................................... SUCCESS [1.027s]
-[INFO] Blank Webapp ...................................... SUCCESS [9.572s]
-[INFO] JBoss Blank Webapp ................................ SUCCESS [7.814s]
-[INFO] Mail Reader Webapp ................................ SUCCESS [7.028s]
-[INFO] Struts 2 Portlet Plugin ........................... SUCCESS [20.995s]
-[INFO] Struts 2 DWR Plugin ............................... SUCCESS [4.432s]
-[INFO] Struts 2 Tiles Plugin ............................. SUCCESS [4.451s]
-[INFO] Struts 2 Portlet Tiles Plugin ..................... SUCCESS [3.741s]
-[INFO] Portlet Webapp .................................... SUCCESS [28.480s]
-[INFO] Struts 2 Struts 1 Plugin .......................... SUCCESS [8.353s]
-[INFO] Struts 2 Dojo Plugin .............................. SUCCESS [30.181s]
-[INFO] Struts 2 JSF Plugin ............................... SUCCESS [6.000s]
-[INFO] Struts 2 Configuration Browser Plugin ............. SUCCESS [7.531s]
-[INFO] Struts 2 Sitemesh Plugin .......................... SUCCESS [6.159s]
-[INFO] Struts 2 JSON Plugin .............................. SUCCESS [16.944s]
-[INFO] Showcase Webapp ................................... SUCCESS [20.303s]
-[INFO] Struts 2 REST Plugin .............................. SUCCESS [10.015s]
-[INFO] Struts 2 Rest Showcase Example .................... SUCCESS [6.928s]
-[INFO] Struts 2 Codebehind Plugin ........................ SUCCESS [10.394s]
-[INFO] Struts 2 Java Templates Plugin .................... SUCCESS [9.633s]
-[INFO] Struts 2 Jasper Reports Plugin .................... SUCCESS [5.920s]
-[INFO] Struts 2 JFreeChart Plugin ........................ SUCCESS [18.296s]
-[INFO] Struts 2 Pell Multipart Plugin .................... SUCCESS [3.891s]
-[INFO] Struts 2 Plexus Plugin ............................ SUCCESS [4.715s]
-[INFO] Struts 2 Sitegraph Plugin ......................... SUCCESS [8.009s]
-[INFO] Struts 2 TestNG Plugin ............................ SUCCESS [6.012s]
-[INFO] Struts 2 OVal Plugin .............................. SUCCESS [9.629s]
-[INFO] Struts 2 OSGi Plugin .............................. SUCCESS [8.118s]
-[INFO] Struts 2 Embedded JSP Plugin ...................... SUCCESS [30.524s]
-[INFO] Struts 2 GXP Plugin ............................... SUCCESS [4.878s]
-[INFO] Struts 2 CDI Plugin ............................... SUCCESS [7.620s]
-[INFO] Struts 2 Tiles 3 Plugin ........................... SUCCESS [5.132s]
-[INFO] Struts OSGi Bundles ............................... SUCCESS [0.254s]
-[INFO] Struts 2 OSGi Admin Bundle ........................ SUCCESS [5.204s]
-[INFO] Struts 2 OSGi Demo Bundle ......................... SUCCESS [4.582s]
-[INFO] Struts 2 Maven Archetypes ......................... SUCCESS [0.198s]
-[INFO] Struts 2 Archetypes - Angular JS .................. SUCCESS [10.509s]
-[INFO] Struts 2 Archetypes - Blank ....................... SUCCESS [1.440s]
-[INFO] Struts 2 Archetypes - Blank Convention ............ SUCCESS [1.324s]
-[INFO] Struts 2 Archetypes - Database Portlet ............ SUCCESS [0.990s]
-[INFO] Struts 2 Archetypes - Plugin ...................... SUCCESS [0.923s]
-[INFO] Struts 2 Archetypes - Portlet ..................... SUCCESS [0.888s]
-[INFO] Struts 2 Archetypes - Starter ..................... SUCCESS [1.992s]
-[INFO] Struts 2 Assembly ................................. SUCCESS [1:37.556s]
+[INFO] Struts 2 Bill of Materials ......................... SUCCESS [  1.188 s]
+[INFO] Struts 2 2.5.24-SNAPSHOT ........................... SUCCESS [  2.249 s]
+[INFO] Struts 2 Core ...................................... SUCCESS [01:13 min]
+[INFO] Struts Plugins ..................................... SUCCESS [  0.232 s]
+[INFO] Struts 2 Configuration Browser Plugin .............. SUCCESS [  1.374 s]
+[INFO] Struts 2 Sitemesh Plugin ........................... SUCCESS [  1.429 s]
+[INFO] Struts 2 Tiles Plugin .............................. SUCCESS [  2.303 s]
+[INFO] Struts 2 DWR Plugin ................................ SUCCESS [  0.905 s]
+[INFO] Struts 2 Spring Plugin ............................. SUCCESS [  2.232 s]
+[INFO] Struts 2 Convention Plugin ......................... SUCCESS [  4.540 s]
+[INFO] Struts 2 JUnit Plugin .............................. SUCCESS [  4.297 s]
+[INFO] Struts 2 JSON Plugin ............................... SUCCESS [  5.384 s]
+[INFO] Struts 2 Bean Validation Plugin .................... SUCCESS [  3.345 s]
+[INFO] Struts 2 Webapps ................................... SUCCESS [  0.391 s]
+[INFO] Struts 2 Showcase Webapp ........................... SUCCESS [  6.104 s]
+[INFO] Struts 2 REST Plugin ............................... SUCCESS [  4.058 s]
+[INFO] Struts 2 Rest Showcase Webapp ...................... SUCCESS [  1.524 s]
+[INFO] Struts 2 CDI Plugin ................................ SUCCESS [  2.758 s]
+[INFO] Struts 2 Embedded JSP Plugin ....................... SUCCESS [  8.111 s]
+[INFO] Struts 2 GXP Plugin ................................ SUCCESS [  1.137 s]
+[INFO] Struts 2 Jasper Reports Plugin ..................... SUCCESS [  4.392 s]
+[INFO] Struts 2 Java Templates Plugin ..................... SUCCESS [  2.666 s]
+[INFO] Struts 2 JFreeChart Plugin ......................... SUCCESS [  3.169 s]
+[INFO] Struts 2 OSGi Plugin ............................... SUCCESS [  3.209 s]
+[INFO] Struts 2 OVal Plugin ............................... SUCCESS [  3.113 s]
+[INFO] Struts 2 Pell Multipart Plugin ..................... SUCCESS [  0.842 s]
+[INFO] Struts 2 Plexus Plugin ............................. SUCCESS [  1.003 s]
+[INFO] Struts 2 Portlet Plugin ............................ SUCCESS [  5.210 s]
+[INFO] Struts 2 Portlet Tiles Plugin ...................... SUCCESS [  0.999 s]
+[INFO] DEPRECATED: Struts 2 Sitegraph Plugin .............. SUCCESS [  2.634 s]
+[INFO] Struts 2 TestNG Plugin ............................. SUCCESS [  2.081 s]
+[INFO] Struts OSGi Bundles ................................ SUCCESS [  0.083 s]
+[INFO] Struts 2 OSGi Admin Bundle ......................... SUCCESS [  1.237 s]
+[INFO] Struts 2 OSGi Demo Bundle 2.5.24-SNAPSHOT .......... SUCCESS [  1.157 s]
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
-[INFO] Total time: 12:23.728s
-[INFO] Finished at: Wed Oct 30 17:26:27 CET 2013
-[INFO] Final Memory: 57M/945M
+[INFO] Total time: 02:39 min
+[INFO] Finished at: 2020-08-14T11:24:15+02:00
 [INFO] ------------------------------------------------------------------------
 ```
 


[struts-site] 04/09: Adds Contributors Guide to the menu

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit d9bd4708575b67307cd5f692633d6ce281005c62
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Mon Jul 20 08:41:21 2020 +0200

    Adds Contributors Guide to the menu
---
 source/_includes/header.html | 1 +
 1 file changed, 1 insertion(+)

diff --git a/source/_includes/header.html b/source/_includes/header.html
index 53cb691..25b579f 100644
--- a/source/_includes/header.html
+++ b/source/_includes/header.html
@@ -79,6 +79,7 @@
                 <li><a href="/youatstruts.html">You at Struts</a></li>
                 <li><a href="/helping.html">How to Help FAQ</a></li>
                 <li><a href="/dev-mail.html">Development Lists</a></li>
+                <li><a href="/contributors/">Contributors Guide</a></li>
                 <li class="divider"></li>
                 <li><a href="/submitting-patches.html">Submitting patches</a></li>
                 <li><a href="/builds.html">Source Code and Builds</a></li>


[struts-site] 03/09: Adds how to build

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit 44312b5d5c9f925d8e19a85e3b4913717868dddb
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Tue Jul 7 11:35:59 2020 +0200

    Adds how to build
---
 .../building-the-framework-from-source.md          |  70 +++++++
 source/contributors/building-with-maven.md         | 206 +++++++++++++++++++++
 2 files changed, 276 insertions(+)

diff --git a/source/contributors/building-the-framework-from-source.md b/source/contributors/building-the-framework-from-source.md
new file mode 100644
index 0000000..0f1fe95
--- /dev/null
+++ b/source/contributors/building-the-framework-from-source.md
@@ -0,0 +1,70 @@
+---
+layout: default
+title: Building the Framework from Source
+parent:
+    title: Contributors Guide
+    url: index.html
+---
+
+# Building the Framework from Source
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+## Why Build?
+
+Most developers will never need to build the framework from source. The distribution package contains everything 
+a developer needs to get started and become productive with the framework. For more on how to go to work with 
+the distributed binaries right away, see _Ready, Set, Go\!_ . However, there are situations when someone will want 
+to build the framework from scratch. You may want to try out new tweaks and patches, or you might want to try writing 
+your own tweak or patch.
+
+> If you just want to use the latest development build, perhaps because a patch you need has been applied, you can 
+> also [download a nightly build](http://ci.apache.org/projects/struts/nightlies/).
+
+## Getting the Sources
+
+The source code for the framework is available as a distribution you can download directly and from the source code repository.
+
+## Distribution
+
+The distributions of the framework contain all sources, as well as all needed libraries for building JARs and running. 
+Distributions can be downloaded from the [Apache Struts project](../../downloads)
+
+## Repository (Git)
+
+Use [Git](https://git-scm.com/) to checkout the source code.
+
+```
+> cd Projects\Apache\
+> git clone https://gitbox.apache.org/repos/asf/struts.git 
+```
+
+## Building with Maven
+
+The default build environment is Maven. You can either install Maven 3 or use Maven Wrapper delivered with the source code.
+Change to your framework home directory: 
+
+```
+cd Projects\Apache\struts
+```
+
+and run Maven
+
+```
+mvn clean install
+```
+
+or run using Maven Wrapper
+
+```
+./mvnw clean install
+```
+
+That will take care of the basic maven build. There is a bunch more that you can do. Checkout out [Building with Maven](building-with-maven) 
+for more information.
+
+## JDK/JRE Compatibility
+
+The framework requires JDK 1.8 to build.
diff --git a/source/contributors/building-with-maven.md b/source/contributors/building-with-maven.md
new file mode 100644
index 0000000..4c76bc4
--- /dev/null
+++ b/source/contributors/building-with-maven.md
@@ -0,0 +1,206 @@
+---
+layout: default
+title: Building with Maven
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+# Building with Maven
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+[Maven 3.0.0 or later](http://maven.apache.org) is required to build Struts 2
+
+First, let's review some Maven basics. Maven uses the notion of a build _life-cycle_ to which plugins can attach. 
+Plugins are similar to Ant tasks. When a Maven build is invoked, we specify a point in the life-cycle up to which 
+the build _should_ proceed. The _compile_ phase comes before _test_ , and _test_ comes before _package_ , and _package_ 
+comes before _install_ . Once we have Maven setup, we can invoke the Struts build, and specify which phase the build should use.
+
+## Installing
+
+The _install_ phase builds up the project ("package"), and installs any JARs it needs into your local repository, e.g.: 
+
+```
+~/.m2/repository
+```
+
+Once installed, the JARs can be used by any other Maven project you build.  The _install_ phase is the **default** phase 
+if none is specified.
+
+To run a basic install, change to the root of the source distribution, and enter
+
+```
+mvn
+```
+
+That's it! Maven will download any dependencies the build needs; run all unit tests; package up the JARs; then install th
+e new JARs locally. For your convenience, copies of the JARs can be found in the _target_ directories of each module. 
+For example, after the build, the main JAR can found at 
+
+```
+core/target/struts2-core-2.0-SNAPSHOT.jar
+```
+
+> Sometimes, licensing restrictions prevent Maven from downloading all the JARs that a build might need. For example, 
+> JavaMail and Activation, can only be downloaded from Sun. When this happens, Maven will display a helpful message 
+> that explains how to install these JARs manually. After downloading the required JAR, follow the instructions 
+> to install it to the your local repository. Once installed, the JAR is available to all your Maven builds, not just Struts.
+
+**Initial Build Successful**
+
+```
+[INFO] Reactor Summary:
+[INFO]
+[INFO] Struts 2 .......................................... SUCCESS [6.016s]
+[INFO] XWork: Core ....................................... SUCCESS [1:08.086s]
+[INFO] Struts 2 Core ..................................... SUCCESS [2:42.604s]
+[INFO] Struts Plugins .................................... SUCCESS [0.944s]
+[INFO] Struts 2 Spring Plugin ............................ SUCCESS [13.523s]
+[INFO] Struts 2 Convention Plugin ........................ SUCCESS [16.473s]
+[INFO] Struts 2 JUnit Plugin ............................. SUCCESS [13.325s]
+[INFO] Webapps ........................................... SUCCESS [1.027s]
+[INFO] Blank Webapp ...................................... SUCCESS [9.572s]
+[INFO] JBoss Blank Webapp ................................ SUCCESS [7.814s]
+[INFO] Mail Reader Webapp ................................ SUCCESS [7.028s]
+[INFO] Struts 2 Portlet Plugin ........................... SUCCESS [20.995s]
+[INFO] Struts 2 DWR Plugin ............................... SUCCESS [4.432s]
+[INFO] Struts 2 Tiles Plugin ............................. SUCCESS [4.451s]
+[INFO] Struts 2 Portlet Tiles Plugin ..................... SUCCESS [3.741s]
+[INFO] Portlet Webapp .................................... SUCCESS [28.480s]
+[INFO] Struts 2 Struts 1 Plugin .......................... SUCCESS [8.353s]
+[INFO] Struts 2 Dojo Plugin .............................. SUCCESS [30.181s]
+[INFO] Struts 2 JSF Plugin ............................... SUCCESS [6.000s]
+[INFO] Struts 2 Configuration Browser Plugin ............. SUCCESS [7.531s]
+[INFO] Struts 2 Sitemesh Plugin .......................... SUCCESS [6.159s]
+[INFO] Struts 2 JSON Plugin .............................. SUCCESS [16.944s]
+[INFO] Showcase Webapp ................................... SUCCESS [20.303s]
+[INFO] Struts 2 REST Plugin .............................. SUCCESS [10.015s]
+[INFO] Struts 2 Rest Showcase Example .................... SUCCESS [6.928s]
+[INFO] Struts 2 Codebehind Plugin ........................ SUCCESS [10.394s]
+[INFO] Struts 2 Java Templates Plugin .................... SUCCESS [9.633s]
+[INFO] Struts 2 Jasper Reports Plugin .................... SUCCESS [5.920s]
+[INFO] Struts 2 JFreeChart Plugin ........................ SUCCESS [18.296s]
+[INFO] Struts 2 Pell Multipart Plugin .................... SUCCESS [3.891s]
+[INFO] Struts 2 Plexus Plugin ............................ SUCCESS [4.715s]
+[INFO] Struts 2 Sitegraph Plugin ......................... SUCCESS [8.009s]
+[INFO] Struts 2 TestNG Plugin ............................ SUCCESS [6.012s]
+[INFO] Struts 2 OVal Plugin .............................. SUCCESS [9.629s]
+[INFO] Struts 2 OSGi Plugin .............................. SUCCESS [8.118s]
+[INFO] Struts 2 Embedded JSP Plugin ...................... SUCCESS [30.524s]
+[INFO] Struts 2 GXP Plugin ............................... SUCCESS [4.878s]
+[INFO] Struts 2 CDI Plugin ............................... SUCCESS [7.620s]
+[INFO] Struts 2 Tiles 3 Plugin ........................... SUCCESS [5.132s]
+[INFO] Struts OSGi Bundles ............................... SUCCESS [0.254s]
+[INFO] Struts 2 OSGi Admin Bundle ........................ SUCCESS [5.204s]
+[INFO] Struts 2 OSGi Demo Bundle ......................... SUCCESS [4.582s]
+[INFO] Struts 2 Maven Archetypes ......................... SUCCESS [0.198s]
+[INFO] Struts 2 Archetypes - Angular JS .................. SUCCESS [10.509s]
+[INFO] Struts 2 Archetypes - Blank ....................... SUCCESS [1.440s]
+[INFO] Struts 2 Archetypes - Blank Convention ............ SUCCESS [1.324s]
+[INFO] Struts 2 Archetypes - Database Portlet ............ SUCCESS [0.990s]
+[INFO] Struts 2 Archetypes - Plugin ...................... SUCCESS [0.923s]
+[INFO] Struts 2 Archetypes - Portlet ..................... SUCCESS [0.888s]
+[INFO] Struts 2 Archetypes - Starter ..................... SUCCESS [1.992s]
+[INFO] Struts 2 Assembly ................................. SUCCESS [1:37.556s]
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESS
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 12:23.728s
+[INFO] Finished at: Wed Oct 30 17:26:27 CET 2013
+[INFO] Final Memory: 57M/945M
+[INFO] ------------------------------------------------------------------------
+```
+
+## Other phases
+
+There are other phases that can be useful when working with Maven. The _package_ phase will just JAR (or WAR) the modules. 
+The _test_ phase will only execute unit-tests. The _compile_ phase will only build the source-code (but not the test sources). 
+And the _clean_ phase will remove all artifacts, typically the entire _target_ directory.
+
+## Maven Tips
+
+A few helpful tips for using Maven are provided:
+
+### Skip exporting pages from Confluence
+
+The whole Struts2 documentation resists on Confluence and during normal build process is exported with SiteExporter tool 
+locally to html files. To perform that, you must have an account on Confluence. In most cases you don't need to export 
+the whole Confluence, so you can skip this, just type command:
+
+```
+mvn clean install -DskipWiki
+```
+
+### Skip creating assemblies
+
+During normal development cycle you don't need to create assembly packages which consist of all the libraries, 
+example apps and docs - you can skip them as well:
+
+```
+mvn clean install -DskipAssembly
+```
+
+### Offline mode
+
+If you are disconnected from the Internet or simply wish to make your build faster, pass in the **-o** argument 
+and Maven won't check for new modules to download.
+
+```
+mvn -o
+```
+
+### OutOfMemoryError
+
+If you get an OutOfMemoryError while running the tests:
+
+```
+// Bash
+export MAVEN_OPTS=-Xmx512m
+
+// Windows
+set MAVEN_OPTS=-Xmx512m
+```
+
+### Skipping test execution
+
+Although this shouldn't ever happen, sometimes tests do fail and you need to build the framework anyway. 
+If there's a problem, you can pass in the skip tests parameter.
+
+```
+mvn -Dmaven.test.skip=true
+```
+
+Of course, if you find tests are failing, please submit a patch to fix them!
+
+### Debugging build failures
+
+Struts 2 depends on the current snapshot artifact of XWork 2. Unfortunately, if XWork 2 is modified in a significant way, 
+the Struts build doesn't check for and retrieve a new version of the XWork snapshot jar, resulting in compilation or unit test failures.
+
+The solution is to clear out any stale XWork 2 jars in your local Maven repository, usually by removing the directory 
+
+```
+~/.m2/repository
+```
+
+This will force the Struts Maven build to pull down a fresh copy of XWork and hopefully resolve your problem.
+
+## First time building
+
+In some cases it has been seen that Maven will complain if a module doesn't exist, even though it is part of the current 
+build. Often, the missing module turns up when executing 
+
+```
+mvn package
+```
+
+A simple fix for this is to run 
+
+```
+mvn install
+```
+
+instead. If you have to do this, it will probably only be a one time thing.


[struts-site] 01/09: Creates Contributors Guide starting page

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit cfc948a0f54f515fb830cfd5f965c46260843704
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Tue Jul 7 11:06:02 2020 +0200

    Creates Contributors Guide starting page
---
 source/contributors/index.md | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/source/contributors/index.md b/source/contributors/index.md
new file mode 100644
index 0000000..684622b
--- /dev/null
+++ b/source/contributors/index.md
@@ -0,0 +1,43 @@
+---
+layout: default
+title: Contributors Guide
+---
+
+# Contributors Guide
+
+## Source
+
+- [Building the Framework from Source](#PAGE_13829)
+  - [Building with Maven](#PAGE_14147)
+- [Creating and Signing a Distribution](#PAGE_26375)
+- [Requirements](#PAGE_29362) and [Use Cases](#PAGE_29364) - _under construction_ 
+- [Precise Error Reporting](#PAGE_29826)
+- [Obtaining an IDEA license](#PAGE_29381)
+- [How to Write Doc Comments for the Javadoc Tool](http://java.sun.com/j2se/javadoc/writingdoccomments/) (Sun)
+
+## Documentation
+
+- [Editing the Documentation](#PAGE_27087)
+- [Documentation Colophon](#PAGE_13822)
+- [Documentation Style Guide](#PAGE_14055)
+
+## Licensing and Copyright
+
+- [Third Party Licensing Policy RFC](http://people.apache.org/~cliffs/3party.html)
+- [ASF Source Header and Copyright Notice Policy](http://www.apache.org/legal/src-headers.html)
+- [Author Tags](http://tinyurl.com/mw7t6)^[http://tinyurl.com/mw7t6]
+
+## Quick Links
+
+- [How to Help FAQ](../../helping)
+- [Project Charter](../../bylaws)
+- [Volunteers](../../volunteers)
+- [Release Guidelines](../../releases)
+- [Javadocs](http://people.apache.org/~mrdon/action2-api/)
+- [Source code repository](https://svn.apache.org/repos/asf/struts/action2)
+- [Our WebWork roots](http://today.java.net/pub/a//today/2005/02/25/opensymphony.html)
+
+## Bleeding Edge
+
+- [Struts 2.0.2 Release Plan](http://wiki.apache.org/struts/StrutsActionRelease202)
+- [Struts Ti Proposal](http://wiki.apache.org/struts/StrutsTi)


[struts-site] 08/09: Adds Sample Announcements page

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit de141f509af377bfd0e376fb96d107eccd486d90
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Mon Aug 24 08:17:10 2020 +0200

    Adds Sample Announcements page
---
 .../creating-and-signing-a-distribution.md         |   2 +-
 source/contributors/sample-announcements.md        | 196 +++++++++++++++++++++
 2 files changed, 197 insertions(+), 1 deletion(-)

diff --git a/source/contributors/creating-and-signing-a-distribution.md b/source/contributors/creating-and-signing-a-distribution.md
index 2d6e11f..0957667 100644
--- a/source/contributors/creating-and-signing-a-distribution.md
+++ b/source/contributors/creating-and-signing-a-distribution.md
@@ -30,7 +30,7 @@ parent:
 Depends on what you want to achieve, please select topic from the list below:
 
 - [One time steps](one-time-steps) - before you start preparing a distribution
-- [Sample announcements](#PAGE_27832957) - announcements used to communicate the achievement
+- [Sample announcements](sample-announcements) - announcements used to communicate the achievement
 - [Building Struts Master](#PAGE_27839549) - how to release Struts Master
 - [Building Struts Annotations](#PAGE_27832965) - when you want to prepare a new distribution of Struts Annotations (if something changed)
 - [Building Struts 2 - Normal release](#PAGE_27832970) - the most common used path
diff --git a/source/contributors/sample-announcements.md b/source/contributors/sample-announcements.md
new file mode 100644
index 0000000..f8cf544
--- /dev/null
+++ b/source/contributors/sample-announcements.md
@@ -0,0 +1,196 @@
+---
+layout: default
+title: Sample announcements
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+# Sample announcements
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+## Sample Struts Annotations Release/Quality Vote
+
+```
+Subject: [VOTE] Struts Annotations 1.0.x Vote
+The Struts Annotations 1.0.x test build is now available as a Maven
+artifact. It is a dependency of Struts 2.x.y.
+
+If you have had a chance to review the test build, please respond with
+a vote on its quality:
+
+[ ] Leave at test build
+[ ] Alpha
+[ ] Beta
+[ ] General Availability (GA)
+
+Everyone who has tested the build is invited to vote. Votes by PMC members are considered binding. A vote passes 
+if there are at least three binding +1s and more +1s than -1s.
+
+The vote will remain open for at least 72 hours, longer upon request.
+```
+
+## Sample Test Build Announcement
+
+> Test builds are only announced to the dev list. Announcements to the user list can only be made pursuant to a release 
+> vote with the consent of the PMC.
+
+```
+The test build of Struts 2.0.3 is available.
+
+No determination as to the quality ('alpha,' 'beta,' or 'GA') of Struts 2.0.3 has been made, and at this time it is 
+simply a "test build".  We welcome any comments you may have, and will take all feedback into account if a quality vote 
+is called for this build.
+
+Release notes:
+* [https://cwiki.apache.org/confluence/display/WW/Version+Notes+#.#.#]
+
+Distribution:
+* [https://dist.apache.org/repos/dist/dev/struts/#.#.#/]
+
+Maven 2 staging repository:
+* [https://repository.apache.org/content/groups/staging/]
+
+We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing 
+lists, and logging issues.
+```
+
+## Sample Release/Quality Vote
+
+```
+Subject: [VOTE] Struts #.#.# Vote
+The Struts #.#.# test build is now available.
+
+Release notes:
+* [https://cwiki.apache.org/confluence/display/WW/Version+Notes+#.#.#]
+
+Distribution:
+* [https://dist.apache.org/repos/dist/dev/struts/#.#.#/]
+
+Maven 2 staging repository:
+* [https://repository.apache.org/content/groups/staging/]
+
+Once you have had a chance to review the test build, please respond with a vote on its quality:
+
+[ ] Leave at test build
+[ ] Alpha
+[ ] Beta
+[ ] General Availability (GA)
+
+Everyone who has tested the build is invited to vote. Votes by PMC members are considered binding. A vote passes if 
+there are at least three binding +1s and more +1s than -1s.
+
+The vote will remain open for at least 72 hours, longer upon request. A vote can be amended at any time to upgrade 
+or downgrade the quality of the release based on future experience. If an initial vote designates the build as "Beta", 
+the release will be submitted for mirroring and announced to the user list. Once released as a public beta, subsequent 
+quality votes on a build may be held on the user list.
+
+As always, the act of voting carries certain obligations. A binding vote not only states an opinion, but means that 
+the voter is agreeing to help do the work
+```
+
+## Sample Release Announcement
+
+```
+Subject: [ANN] Struts #.#.# [GA | Beta] release available
+
+The Apache Struts group is pleased to announce that Struts #.#.# is available as a "[Beta | General Availability]" 
+release. [[The Beta designation indicates that we believe the distribution needs wider testing before being upgraded 
+to a "General Availability" release. Your input is essential.] The GA designation is our highest quality grade.]
+
+Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework 
+is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.
+
+[This release includes one important security fix:]
+
+All developers are strongly advised to update existing Struts 2 applications to Struts #.#.#.
+
+Struts #.#.# is available in a full distribution, or as separate library, source, example and documentation distributions, 
+from the releases page.
+* http://struts.apache.org/download.cgi#struts###
+
+The release is also available from the central Maven repository under Group ID "org.apache.struts".
+
+The #.#.x series of the Apache Struts framework has a minimum requirement of the following specification versions:
+* Java Servlet 2.4 and JavaServer Pages (JSP) 2.0
+* Java 2 Standard Platform Edition (J2SE) 7
+
+The release notes are available online at:
+* https://cwiki.apache.org/confluence/display/WW/Version+Notes+#.#.#
+
+Should any issues arise with your use of any version of the Struts framework, please post your comments to the user list,
+and, if appropriate, file a tracking ticket.appropriate, file a tracking ticket:
+* https://issues.apache.org/jira/browse/WW
+
+- The Apache Struts group.
+```
+
+## Fast-Tracking an Important Security Release
+
+> When a serious security issue  arises, we should try to create a #.#.#.# branch from the last GA release, and apply 
+> to that branch only the security patch.
+
+- If the patch first applies to some other dependency, implore the other group to do the same, to avoid side-effects 
+  from other changes.
+- If the release manager would like to "fast track" a vote, so as to make a security fix available quickly, the preferred 
+  procedure is to
+  - Include the term "fast-track" in the subject, as in `[VOTE] Struts 2.0.9.1 quality (fast track)`
+  - In the vote message, specify voting terms like:
+
+```
+The Struts #.#.#.# test build is now available.
+
+(optional (in case of the presence of security bulletin)
+It includes the latest security patches which fix two possible vulnerabilities:
+* ...
+* ...
+
+For details and the rationale behind these changes, please consult the
+corresponding security bulletins:
+* https://cwiki.apache.org/confluence/display/WW/S2-XXX
+* https://cwiki.apache.org/confluence/display/WW/S2-XXX
+
+Please note that currently these bulletins and the release notes are
+only visible to logged-in users with the struts-committer role. This is
+a needed requirement to control disclosure until the actual release is
+announced.
+(/optional)
+
+Release notes:
+* [https://cwiki.apache.org/confluence/display/WW/Version+Notes+#.#.#.#]
+
+Distribution:
+* [https://dist.apache.org/repos/dist/dev/struts/#.#.#.#/]
+
+Maven 2 staging repository:
+* [https://repository.apache.org/content/groups/staging/]
+
+Once you have had a chance to review the test build, please respond with a vote on its quality:
+
+[ ] Leave at test build
+[ ] Alpha
+[ ] Beta
+[ ] General Availability (GA)
+
+Everyone who has tested the build is invited to vote. Votes by PMC members are considered binding. A vote passes 
+if there are at least three binding +1s and more +1s than -1s.
+
+This is a "fast-track" release vote. If we have a positive vote after 24 hours (at least three binding +1s and more +1s 
+than -1s), the release may be submitted for mirroring and announced to the usual channels.
+
+The website download link will include the mirroring timestamp parameter [1], which limits the selection of mirrors 
+to those that have been refreshed since the indicated time and date. (After 24 hours, we *must* remove the timestamp
+parameter from the website link, to avoid unnecessary server load.) In the case of a fast-track release, the email 
+announcement will not link directly to <download.cgi>, but to <downloads.html>, so that we can control use of the timestamp 
+parameter.
+
+[1] <[http://apache.org/dev/mirrors.html#use|http://apache.org/dev/mirrors.html#use]>
+
+- The Apache Struts group.
+```
+
+Please be sure to update [Security Bulletins](https://cwiki.apache.org/confluence/display/WW/Security+Bulletins) accordingly 
+as described above.


[struts-site] 02/09: Drops WIP

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit ee45534328eb9f6331afd65d68ca665dcd8300db
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Tue Jul 7 11:06:07 2020 +0200

    Drops WIP
---
 source/core-developers/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/core-developers/index.md b/source/core-developers/index.md
index 6a8c396..fdd2b0c 100644
--- a/source/core-developers/index.md
+++ b/source/core-developers/index.md
@@ -1,6 +1,6 @@
 ---
 layout: default
-title: Core Developers Guide (WIP)
+title: Core Developers Guide
 ---
 
 # Core Developers Guide


[struts-site] 07/09: Adds One time steps page

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit ee8f58b4d358a348ddaf62e7f1b6e4bf7e73fbed
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Mon Aug 24 07:48:58 2020 +0200

    Adds One time steps page
---
 .../creating-and-signing-a-distribution.md         |   2 +-
 source/contributors/index.md                       |   2 +-
 source/contributors/one-time-steps.md              | 128 +++++++++++++++++++++
 3 files changed, 130 insertions(+), 2 deletions(-)

diff --git a/source/contributors/creating-and-signing-a-distribution.md b/source/contributors/creating-and-signing-a-distribution.md
index 372c003..2d6e11f 100644
--- a/source/contributors/creating-and-signing-a-distribution.md
+++ b/source/contributors/creating-and-signing-a-distribution.md
@@ -29,7 +29,7 @@ parent:
 
 Depends on what you want to achieve, please select topic from the list below:
 
-- [One time steps](#PAGE_27832952) - before you start preparing a distribution
+- [One time steps](one-time-steps) - before you start preparing a distribution
 - [Sample announcements](#PAGE_27832957) - announcements used to communicate the achievement
 - [Building Struts Master](#PAGE_27839549) - how to release Struts Master
 - [Building Struts Annotations](#PAGE_27832965) - when you want to prepare a new distribution of Struts Annotations (if something changed)
diff --git a/source/contributors/index.md b/source/contributors/index.md
index 4cad522..fa24924 100644
--- a/source/contributors/index.md
+++ b/source/contributors/index.md
@@ -9,7 +9,7 @@ title: Contributors Guide
 
 - [Building the Framework from Source](building-the-framework-from-source)
   - [Building with Maven](building-with-maven)
-- [Creating and Signing a Distribution](#PAGE_26375)
+- [Creating and Signing a Distribution](creating-and-signing-a-distribution)
 - [Requirements](#PAGE_29362) and [Use Cases](#PAGE_29364) - _under construction_ 
 - [Precise Error Reporting](#PAGE_29826)
 - [Obtaining an IDEA license](#PAGE_29381)
diff --git a/source/contributors/one-time-steps.md b/source/contributors/one-time-steps.md
new file mode 100644
index 0000000..4b98cc2
--- /dev/null
+++ b/source/contributors/one-time-steps.md
@@ -0,0 +1,128 @@
+---
+layout: default
+title: One time steps
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+# One time steps
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+## Keys and configuration
+
+### Create and install a SSH key
+
+| See [OpenSSH Public Key Authentication](http://sial.org/howto/openssh/publickey-auth/)
+
+If you get hung up during release:perform because Maven can't verify the authenticity of a host, then there could be 
+one of two  different problems. The first problem, which is an easy fix, is to go to the command line and use SSH 
+to log in to that host. You should receive a prompt to add the host to your known_hosts file. If you add the host 
+to your `known_hosts` file from the command line  SSH, then you should be able to try `release:perform` again 
+and have more success. There is a chance though that this won't fix maven.
+
+Maven doesn't appear to understand hashed `known_hosts` files. There is some information here - [known_hosts file Hashing](http://itso.iu.edu/Hashing_the_OpenSSH_known__hosts_File). 
+
+If your `known_hosts` file is hashed, you can solve this one of a few different ways. If you perform a `deploy:deploy` 
+instead of `release:perform`, then maven will leave a prompt open for you to type `yes` and have maven add the host 
+(in a way that Jsch, the library which provides Maven Wagon with the SSH/SCP functionality, understands) 
+to your `known_hosts` file. Another option is to remove your `known_hosts` file, update your SSH configuration so that 
+it does not hash the hostname in `known_hosts` and try to log in from the command line. 
+
+```
+mkdir ~/.ssh
+chmod 700 ~/.ssh
+ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
+#Enter a passphrase
+chmod go-rwx ~/.ssh/*
+
+#copy the public key to people.apache.org
+scp ~/.ssh/id_rsa.pub people.apache.org:/home/$USERNAME
+
+# next, setup the public key on server
+ssh people.apache.org
+mkdir ~/.ssh
+chmod 700 ~/.ssh
+cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
+chmod 600 ~/.ssh/authorized_keys
+rm ~/id_rsa.pub
+```
+
+### Create a PGP key
+
+```
+svn co https://svn.apache.org/repos/asf/struts/maven/trunk/build struts-maven-build
+cd struts-maven-build
+(gpg --fingerprint --list-sigs <your name> && gpg --armor --export <your name>) >> KEYS
+scp KEYS people.apache.org:/www/www.apache.org/dist/struts
+svn commit KEYS -m "Add public key"
+```
+
+### Update Maven settings for our servers
+
+Create a `settings.xml` under `~/.m2` and follow below instructions:
+- create profile - [Releasing a Maven-based](http://maven.apache.org/developers/release/apache-release.html\#Prerequisites)
+- enable Apache servers [Committer Settings](http://maven.apache.org/developers/committer-settings.html)
+
+```xml
+<settings xmlns="http://maven.apache.org/POM/4.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+  <servers>
+    <!-- To publish a snapshot of some part of Maven -->
+    <server>
+      <id>apache.snapshots.https</id>
+      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
+      <password> <!-- YOUR APACHE LDAP PASSWORD --> </password>
+    </server>
+    <!-- To stage a release of some part of Maven -->
+    <server>
+      <id>apache.releases.https</id>
+      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
+      <password> <!-- YOUR APACHE LDAP PASSWORD --> </password>
+    </server>
+  </servers>
+  <profiles>
+    <profile>
+      <id>apache-release</id>
+      <properties>
+        <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
+      </properties>
+    </profile>
+  </profiles>
+</settings>
+```
+
+### Increase Memory Settings for Maven
+
+To complete a full build and all the tests, it may be necessary to increase the amount of memory available to Maven. 
+The simplest thing is to set an environment variable.
+
+```
+MAVEN_OPTS=-Xmx512m
+```
+
+or even 
+
+```
+MAVEN_OPTS=-Xmx1024m
+```
+
+## Resources
+
+- Apache Struts [Release Guidelines](http://struts.apache.org/releases.html\#Releases)
+- [Struts Maintenance Guide for Maven ](http://wiki.apache.org/struts/StrutsMaintenanceMaven)
+- [Signing Releases](http://apache.org/dev/release-signing.html)
+- [Wendy's notes on Release Signing](http://wiki.wsmoak.net/cgi-bin/wiki.pl?ReleaseSigning)
+- Apache [Mirroring Guidelines](http://apache.org/dev/mirrors.html)
+
+## Retagging
+
+If a tagged build needs to be retagged, be sure to delete the old tag first.
+
+```
+git push --delete origin STRUTS_#_#_#
+```


[struts-site] 05/09: Adding section how create a release

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit 69a7edf08e55b7656b4a47d6c5a088f4e27bfefb
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Mon Jul 20 08:59:20 2020 +0200

    Adding section how create a release
---
 .../creating-and-signing-a-distribution.md         | 37 ++++++++++++++++++++++
 source/contributors/index.md                       |  4 +--
 2 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/source/contributors/creating-and-signing-a-distribution.md b/source/contributors/creating-and-signing-a-distribution.md
new file mode 100644
index 0000000..372c003
--- /dev/null
+++ b/source/contributors/creating-and-signing-a-distribution.md
@@ -0,0 +1,37 @@
+---
+layout: default
+title: Creating and Signing a Distribution
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+#Creating and Signing a Distribution
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+## How to prepare a normal release ?
+
+- create a Version Notes page and start adding important changes to it
+- create a filter in JIRA with `Fix Version` pointing to the release version you want to prepare
+- review JIRA issues and re-organise them, move the `Fix Version` to the next release or `Future`, mark what should be 
+  solved in the release you're working on
+
+## How to prepare a fast track release ?
+
+- keep all the information confidential as possible, communicate throughout security@struts.a.o group
+- restrict access to all the related pages created in Confluence to struts-committers group only, they can be made 
+  public available after a fix or workaround has been released
+
+## What do you want to build ?
+
+Depends on what you want to achieve, please select topic from the list below:
+
+- [One time steps](#PAGE_27832952) - before you start preparing a distribution
+- [Sample announcements](#PAGE_27832957) - announcements used to communicate the achievement
+- [Building Struts Master](#PAGE_27839549) - how to release Struts Master
+- [Building Struts Annotations](#PAGE_27832965) - when you want to prepare a new distribution of Struts Annotations (if something changed)
+- [Building Struts 2 - Normal release](#PAGE_27832970) - the most common used path
+- [Building Struts 2 - Fast track release](#PAGE_27834014) - how to prepare a fast track release with important security patch
diff --git a/source/contributors/index.md b/source/contributors/index.md
index 684622b..4cad522 100644
--- a/source/contributors/index.md
+++ b/source/contributors/index.md
@@ -7,8 +7,8 @@ title: Contributors Guide
 
 ## Source
 
-- [Building the Framework from Source](#PAGE_13829)
-  - [Building with Maven](#PAGE_14147)
+- [Building the Framework from Source](building-the-framework-from-source)
+  - [Building with Maven](building-with-maven)
 - [Creating and Signing a Distribution](#PAGE_26375)
 - [Requirements](#PAGE_29362) and [Use Cases](#PAGE_29364) - _under construction_ 
 - [Precise Error Reporting](#PAGE_29826)


[struts-site] 09/09: Converts new pages related to creating distro

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch contributors-guide
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit 160cb672248e21b8cbebdf03af45af8f4c9ce76b
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Tue Sep 29 09:07:10 2020 +0200

    Converts new pages related to creating distro
---
 source/contributors/building-struts-master.md      | 112 +++++++++++++++++++++
 .../creating-and-signing-a-distribution.md         |   2 +-
 source/contributors/index.md                       |   7 +-
 source/contributors/obtaining-an-idea-license.md   |  29 ++++++
 source/contributors/one-time-steps.md              |   2 +-
 source/contributors/precise-error-reporting.md     |  31 ++++++
 6 files changed, 177 insertions(+), 6 deletions(-)

diff --git a/source/contributors/building-struts-master.md b/source/contributors/building-struts-master.md
new file mode 100644
index 0000000..d1a60f9
--- /dev/null
+++ b/source/contributors/building-struts-master.md
@@ -0,0 +1,112 @@
+---
+layout: default
+title: Building Struts Master
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+# Building Struts Master
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+## Building Steps (Struts)
+
+### Obtain a fresh checkout
+
+```
+git clone https://gitbox.apache.org/repos/asf/struts-master.git
+```
+
+### Change site target
+
+Apply needed changes, in most cases it will be upgrade to the latest Apache Parent POM, eg. from 9 to 10,
+commit the change.
+
+### Prepare release
+
+Tag the release by using the "release:prepare" goal of Maven: 
+
+```
+mvn release:prepare -DautoVersionSubmodules=true
+```
+
+For a [dry run](http://maven.apache.org/plugins/maven-release-plugin/usage.html), add `-DdryRun=true`. If you do a dry run,
+use `mvn release:clean` to clean up after you have looked at the output. 
+
+When prompted for the SCM tag name, follow this pattern: `STRUTS_MASTER_[PATCH_VERSION]`
+
+If for some reason, the release plugin might fail to tag the release, if it fails, run:
+
+```
+mvn release:prepare -Dresume 
+```
+
+This step will ([more information](http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html)):
+
+- Check that there are no uncommitted changes in the sources
+- Check that there are no SNAPSHOT dependencies
+- Change the version in the poms from x-SNAPSHOT to a new version (you will be prompted for the versions to use)
+- Transform the SCM information in the POM to include the final destination of the tag
+- Run the project tests against the modified POMs to confirm everything is in working order
+- Commit the modified POMs
+- Tag the code in the SCM with a version name (this will be prompted for)
+- Bump the version in the POMs to a new value y-SNAPSHOT (these values will also be prompted for)
+- Commit the modified POMs
+
+### Perform the release
+
+```
+mvn release:perform
+```
+
+This step will ([more information](http://maven.apache.org/plugins/maven-release-plugin/examples/perform-release.html)):
+
+- Checkout from an SCM URL with optional tag
+- Run the predefined Maven goals to release the project (by default, deploy site-deploy)
+
+After this step the artifacts will be hosted by [Nexus](http://repository.apache.org/)
+
+If you need to run perform again, (or in a different box), do:
+
+```
+git co tags/$VERSION
+mvn deploy site-deploy --no-plugin-updates -DperformRelease=true 
+```
+
+Next, log in to [Nexus](http://repository.apache.org/) and **close** staging repository.
+
+### Announce availability
+
+Send a short e-mail to `dev@struts.a.o` informing about the new packages and to give people enough time to test 
+the distribution (actual bits). Wait around a week before posting Vote. If no show-stoppers reported, start a vote 
+thread for build quality designation.
+
+The new build is available from staging repository: `https://repository.apache.org/content/groups/staging/org/apache/struts/struts-master/[PATCH_VERSION]/`
+
+### Vote on it
+
+Post a release/quality vote to the dev list (and **only** the dev list). The example mail is on [Sample Announcements](sample-announcements) page. 
+
+If the vote result is for an ASF release (i.e. not test build), update site, announce. If the vote result is for GA, push to central.
+
+### Promote release
+
+Log in again to [Nexus](http://repository.apache.org/) and **release** the repository, it will be automatically replicated across Maven Repositories
+
+See [Releasing a Maven-based project](http://maven.apache.org/developers/release/apache-release.html) for further details.
+
+### Wait for rsync
+
+Wait 2-6 hours before proceeding. 
+
+### Post announcements
+
+We leave this as the last step, once the artifacts have had time to sync up on the mirrors. Target it to:
+
+- user@struts.a.o
+- announcements@struts.a.o
+ 
+samples are available at [Sample announcements](sample-announcements) page.
diff --git a/source/contributors/creating-and-signing-a-distribution.md b/source/contributors/creating-and-signing-a-distribution.md
index 0957667..a50d744 100644
--- a/source/contributors/creating-and-signing-a-distribution.md
+++ b/source/contributors/creating-and-signing-a-distribution.md
@@ -31,7 +31,7 @@ Depends on what you want to achieve, please select topic from the list below:
 
 - [One time steps](one-time-steps) - before you start preparing a distribution
 - [Sample announcements](sample-announcements) - announcements used to communicate the achievement
-- [Building Struts Master](#PAGE_27839549) - how to release Struts Master
+- [Building Struts Master](building-struts-master) - how to release Struts Master
 - [Building Struts Annotations](#PAGE_27832965) - when you want to prepare a new distribution of Struts Annotations (if something changed)
 - [Building Struts 2 - Normal release](#PAGE_27832970) - the most common used path
 - [Building Struts 2 - Fast track release](#PAGE_27834014) - how to prepare a fast track release with important security patch
diff --git a/source/contributors/index.md b/source/contributors/index.md
index fa24924..049602d 100644
--- a/source/contributors/index.md
+++ b/source/contributors/index.md
@@ -9,10 +9,9 @@ title: Contributors Guide
 
 - [Building the Framework from Source](building-the-framework-from-source)
   - [Building with Maven](building-with-maven)
-- [Creating and Signing a Distribution](creating-and-signing-a-distribution)
-- [Requirements](#PAGE_29362) and [Use Cases](#PAGE_29364) - _under construction_ 
-- [Precise Error Reporting](#PAGE_29826)
-- [Obtaining an IDEA license](#PAGE_29381)
+- [Creating and Signing a Distribution](creating-and-signing-a-distribution) 
+- [Precise Error Reporting](precise-error-reporting)
+- [Obtaining an IDEA license](obtaining-an-idea-license)
 - [How to Write Doc Comments for the Javadoc Tool](http://java.sun.com/j2se/javadoc/writingdoccomments/) (Sun)
 
 ## Documentation
diff --git a/source/contributors/obtaining-an-idea-license.md b/source/contributors/obtaining-an-idea-license.md
new file mode 100644
index 0000000..539e661
--- /dev/null
+++ b/source/contributors/obtaining-an-idea-license.md
@@ -0,0 +1,29 @@
+---
+layout: default
+title: Obtaining an IDEA license
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+# Obtaining an IDEA license
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+## How do ASF Committers obtain an IDEA license?
+
+Please read the following blog post about JetBrains support for Apache - [JetBrains Supports the Apache Software Foundation](https://blog.jetbrains.com/blog/2019/05/30/jetbrains-supports-the-apache-software-foundation/) 
+
+### How do I get a apache.org email account to get the IDEA License?
+
+The Apache Software Foundation is an organization, and not a free web host. An ASF account is earned by making sustained 
+and welcome contributions to a project. For more, see:
+
+- [http://apache.org/foundation/faq.html#joining](http://apache.org/foundation/faq.html#joining)
+- [http://apache.org/foundation/how-it-works.html#meritocracy](http://apache.org/foundation/how-it-works.html#meritocracy)
+- [http://struts.apache.org/helping.html](http://struts.apache.org/helping.html)
+
+The reason JetBrains (among others) give committers licenses is because we have earned them by helping to create open 
+source products, many of which JetBrains uses internally.
diff --git a/source/contributors/one-time-steps.md b/source/contributors/one-time-steps.md
index 4b98cc2..efb55b1 100644
--- a/source/contributors/one-time-steps.md
+++ b/source/contributors/one-time-steps.md
@@ -16,7 +16,7 @@ parent:
 
 ### Create and install a SSH key
 
-| See [OpenSSH Public Key Authentication](http://sial.org/howto/openssh/publickey-auth/)
+> See [OpenSSH Public Key Authentication](http://sial.org/howto/openssh/publickey-auth/)
 
 If you get hung up during release:perform because Maven can't verify the authenticity of a host, then there could be 
 one of two  different problems. The first problem, which is an easy fix, is to go to the command line and use SSH 
diff --git a/source/contributors/precise-error-reporting.md b/source/contributors/precise-error-reporting.md
new file mode 100644
index 0000000..f505cc1
--- /dev/null
+++ b/source/contributors/precise-error-reporting.md
@@ -0,0 +1,31 @@
+---
+layout: default
+title: Precise Error Reporting
+parent:
+  title: Contributors Guide
+  url: index.html
+---
+
+# Precise Error Reporting
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+With the multiple levels of configuration, constant overrides, and bean selection, it can be confusing as to how 
+the framework is configured and how it got there. To assist debugging and provide the ability to continue to provide 
+more line-precise error reporting, the configuration loader remembers the location of not only XML elements, 
+but also Java Properties file properties.
+
+How it works is instead of storing configuration properties in a plain `java.util.Properties` object, we have a special 
+`LocatableProperties` class. This class leverages the location classes to store location information for the whole 
+properties file but also individual properties.  We use this to gather configuration properties during configuration loading. 
+This will allow us to display at any given point the location of each property setting. This capability should be very 
+useful when trying to determine what XML or Properties file overwrote what and when.
+
+Interestingly, in addition to remembering the URI and line number of Properties properties, the parser we "borrowed" 
+from Commons Configuration even gathers preceding comments, which are also stored in the Location object. This means 
+we can leverage the Properties comment-based documentation that we have in the o.a.s.default.properties file
+or the user's struts.properties file to further provide useful information in error reports.
+
+There are some very interesting possibilities here to increase the transparency of the framework in error and debugging conditions.