Updating Tomcat to 9.0.65
[cxf-fediz.git] / BUILDING.txt
index 96a300863cebb365b04867cd34921b9d6c6bab60..2b43639fa23ba9a7ede6c3ac295a5ea8cd27e5a0 100644 (file)
@@ -4,14 +4,14 @@ Building Apache CXF Fediz
 Initial Setup
 -------------
 
-1) Install J2SE 6.0 SDK, which can be downloaded from 
-   http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
+1) Install J2SE 8 SDK, which can be downloaded from 
+   http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
 2) Make sure that your JAVA_HOME environment variable is set to the newly installed 
-   JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or 
-   $JAVA_HOME$/bin (unix).
+   JDK location, and that your PATH includes %JAVA_HOME%\bin (Windows) or 
+   $JAVA_HOME$/bin (*nix).
 
-3) Install Maven 2.2.1 or newer, which can be downloaded from 
+3) Install Maven 3.0.x or newer, which can be downloaded from 
    http://maven.apache.org/download.html. Make sure that your PATH includes 
    the MVN_HOME/bin directory. 
 
@@ -21,33 +21,54 @@ Building
 
 1) Change to the top level directory of Apache CXF Fediz source distribution.
 2) Run
-       $> mvn.
+       $> mvn clean install
    This will compile Apache CXF Fediz and run all of the tests in the Apache CXF Fediz source
    distribution. Alternatively, you can run
          $> mvn -Pfastinstall.
    This will compile Apache CXF Fediz without running the tests and takes less
    time to build.
    Depending on the load of remote Maven repositories, you may have 
-   to run "mvn" several times utill the required dependencies are 
-   all located in your local maven repository. It usually takes some time for 
-   maven to download required dependencies in the first build.
+   to run "mvn" multiple times until the required dependencies are 
+   all located in your local Maven repository. It usually takes some time for 
+   Maven to download required dependencies in the first build.
 
 
 Source Directory structure
 --------------------------
 
- + plugins               contains the sources of the federation plugin
+ + plugins               contains the sources of the Federation plugin
       + core             the core module contains the majority of functionality which is Servlet container agnostic
-      + tomcat           the tomcat module is the bridge of the core to the tomcat specific security engine
+      + tomcat           the Tomcat module is the bridge of the core to the
+                         Tomcat 8/9 specific security engine (container managed)
+      + jetty9           the Jetty 9 module is the bridge of the core to the
+                           Jetty 9 specific security engine (container managed)
+      + cxf              the CXF module is the bridge of the core to the
+                           CXF specific security engine (application managed)
+      + spring           the Spring module is the brige of the core to the
+                           Spring Security 4 specific security engine (application managed)
+      + spring3          the Spring3 module is the bridge of the core to the
+                           Spring Security 3 specific security engine (application managed)
+      + websphere        the IBM Websphere module is the bridge of the core to the
+                           IBM Websphere specific security engine (container managed)
 
  + services              contains the sources of the Identity Provider
-      + sts              the sts module contains the configured CXF STS which supports the usecases for Federation
-      + idp              the idp module is the bridge of the STS to a WS-Trust/SOAP unaware browser
+      + sts              the STS module contains the configured CXF STS which supports the Federation use cases
+      + idp              the IDP module is the bridge of the STS to a WS-Trust/SOAP unaware browser
 
  + examples
-      + simpleWebapp     this example shows how to protect a simple web application using the fediz plugin
-      + wsclientWebapp   this example shows how a protected web application calls a web service protected by the STS
-           + webapp      contains the web application
-           + webservice  contains the web services implementation
-
+      + simpleWebapp          this example shows how to protect a simple web application using
+                                the Fediz plugin which is configured on the container level
+      + springPreAuthWebapp   this example shows how to protect a simple web application using
+                                the Fediz plugin which is configured at the container level
+                                and creates the spring security context to use spring security features
+                                for authorization like annotations, spring security configuration, etc.
+      + springWebapp          this example shows how to protect a simple web application using
+                                the Fediz plugin which is configured within the application in
+                                the Spring Security 3 configuration
+      + spring2Webapp         this example shows how to protect a simple web application using
+                                the Fediz plugin which is configured within the application in
+                                the Spring Security 2 configuration
+      + wsclientWebapp        this example shows how a protected web application calls a web service protected by the STS
+           + webapp           contains the web application
+           + webservice       contains the web services implementation