ISIS-1287: move toolchains under the apache-release profile so that is only 
enforced when a release is being cut.

also update the docs.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bff1f71f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bff1f71f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bff1f71f

Branch: refs/heads/ISIS-993
Commit: bff1f71fdd0fa8b581b1d1bbd52c76bfb15216bf
Parents: 261f859
Author: Dan Haywood <d...@haywood-associates.co.uk>
Authored: Sun Jan 24 11:44:54 2016 +0000
Committer: Dan Haywood <d...@haywood-associates.co.uk>
Committed: Sun Jan 24 11:46:20 2016 +0000

----------------------------------------------------------------------
 adocs/documentation/pom.xml                     |  2 +-
 .../guides/_cgcom_release-process-prereqs.adoc  | 10 +++
 .../asciidoc/guides/_cgcon_building-isis.adoc   | 72 ++++++++++----------
 core/pom.xml                                    | 51 ++++++++------
 example/archetype/simpleapp/pom.xml             |  2 +-
 5 files changed, 77 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/bff1f71f/adocs/documentation/pom.xml
----------------------------------------------------------------------
diff --git a/adocs/documentation/pom.xml b/adocs/documentation/pom.xml
index c43f20c..5982ca8 100644
--- a/adocs/documentation/pom.xml
+++ b/adocs/documentation/pom.xml
@@ -33,7 +33,7 @@
 
     <groupId>org.apache.isis.docs</groupId>
     <artifactId>isis-documentation</artifactId>
-    <version>1.11.0-SNAPSHOT</version>
+    <version>1.12.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache Isis Docs</name>

http://git-wip-us.apache.org/repos/asf/isis/blob/bff1f71f/adocs/documentation/src/main/asciidoc/guides/_cgcom_release-process-prereqs.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/_cgcom_release-process-prereqs.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/_cgcom_release-process-prereqs.adoc
index bb798f1..bdfd565 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/_cgcom_release-process-prereqs.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/_cgcom_release-process-prereqs.adoc
@@ -11,6 +11,14 @@ This section (appendix) describes the prerequisites for the 
xref:cgcom.adoc#_cgc
 
 
 
+== Configure toolchains plugin
+
+Apache Isis releases are built using Java 7, enforced using the maven 
toolchains plugin.  Ensure that Java 7 is
+installed and the toolchains plugin is configured, as described in the
+xref:_cgcon_building-isis_configure-maven-toolchains-plugin[contributors' 
guide].
+
+
+
 == Public/private key
 
 The most important configuration you require is to set up public/private key 
pair. This is used by the `maven-release-plugin` to sign the code artifacts. 
See the page on xref:cgcom.adoc#_cgcom_key-generation[key generation] for more 
details.
@@ -76,3 +84,5 @@ Also, set up keyphrase for `gpg`; this avoids being prompted 
during release:
 ----
 
 
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/bff1f71f/adocs/documentation/src/main/asciidoc/guides/_cgcon_building-isis.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/_cgcon_building-isis.adoc 
b/adocs/documentation/src/main/asciidoc/guides/_cgcon_building-isis.adoc
index 3dd2675..c381709 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_cgcon_building-isis.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_cgcon_building-isis.adoc
@@ -136,53 +136,31 @@ For further reading, see:
 * http://git-scm.com/docs/gitattributes[.gitattributes git-scm.com docs]
 
 
-[[_cgcon_building-isis_installing-java-7]]
-== Installing Java 7
+[[_cgcon_building-isis_installing-java]]
+== Installing Java
 
-Apache Isis is compatible with Java 7 and Java 8.  To ensure backward 
compatibility with Java 7 the framework is built
-using Java 7, leveraging the 
link:http://maven.apache.org/plugins/maven-toolchains-plugin/[Maven toolchains 
plugin].
-(The discussion of toolchains itself is discussed 
xref:_cgcon_building-isis_configure-maven-toolchains-plugin[below]).
+Apache Isis is compatible with Java 7 and Java 8.  For every-day use, the 
framework is usually compiled against Java 8.
 
+Releases however are xref:_cgcom_cutting-a-release[cut] using Java 7, 
leveraging the link
+:http://maven.apache.org/plugins/maven-toolchains-plugin/[Maven toolchains 
plugin]).
 
-Therefore install Java 7 JDK (and optionally Java 8 JDK as well).  Note that 
the JRE is _not_ sufficient.
-
+Therefore install either/both of Java 7 JDK and Java 8 JDK.  Note that the JRE 
is _not_ sufficient.
 
 [TIP]
 ====
-If you intend to contribute back patches to Apache Isis, note that you can 
still use Java 8 within your IDE to
-make changes.  Just be sure not to use any Java 8 APIs.
-====
-
-
-
-
-[[_cgcon_building-isis_installing-maven]]
-== Installing Maven
-
-Install Maven 3.0.x, downloadable http://maven.apache.org/download.html[here].
-
-Set `MAVEN_OPTS` environment variable:
-
-[source,bash]
-----
-export MAVEN_OPTS="-Xms512m -Xmx1024m"
-----
-
-
-[NOTE]
-====
-Previously we suggested `-XX:MaxPermSize=256m`, but this option has been 
removed in Java 8.  (As of 1.9.0, Apache Isis is built using Java 8 but with 
source and target set to JDK 1.7).
+If you intend to contribute back patches to Apache Isis, note that while you 
can develop using Java 8 within your IDE,
+be sure not to use any Java 8 APIs.
 ====
 
-
 [[_cgcon_building-isis_configure-maven-toolchains-plugin]]
-== Configure Maven toolchains plugin
+=== Configure Maven toolchains plugin
 
-As noted xref:_cgcon_building-isis_installing-java-7[earlier], Apache Isis is 
built using Java 7, leveraging the
-link:http://maven.apache.org/plugins/maven-toolchains-plugin/[toolchains] 
plugin.  This is configured by placing the
-`toolchains.xml` file in `~/.m2` directory.
+If you are a committer that will be performing releases of Apache Isis, then 
you _must_ configure the
+link:http://maven.apache.org/plugins/maven-toolchains-plugin/[toolchains] 
plugin so that releases can be built using
+Java 7.
 
-You can use the following file as a template, adjusting paths for your 
platform:
+This is done by placing the `toolchains.xml` file in `~/.m2` directory.  Use 
the following file as a template,
+adjusting paths for your platform:
 
 [source,xml]
 ----
@@ -218,6 +196,28 @@ You can use the following file as a template, adjusting 
paths for your platform:
 ----
 <1> The Apache Isis build is configured to search for the (`1.7, oracle`) JDK 
toolchain.
 
+The Apache Isis parent `pom.xml` activates this plugin whenever the 
`apache-release` profile is enabled.
+
+
+
+
+[[_cgcon_building-isis_installing-maven]]
+== Installing Maven
+
+Install Maven 3.0.x, downloadable http://maven.apache.org/download.html[here].
+
+Set `MAVEN_OPTS` environment variable:
+
+[source,bash]
+----
+export MAVEN_OPTS="-Xms512m -Xmx1024m"
+----
+
+
+[NOTE]
+====
+Previously we suggested `-XX:MaxPermSize=256m`, but this option has been 
removed in Java 8.  (As of 1.9.0, Apache Isis is built using Java 8 but with 
source and target set to JDK 1.7).
+====
 
 
 [[_cgcon_building-isis_building-all-of-apache-isis]]

http://git-wip-us.apache.org/repos/asf/isis/blob/bff1f71f/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index bdb7e32..d5873ab 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -963,34 +963,14 @@
             </plugins>
         </pluginManagement>
 
+
+
         <!-- build plugins; apply to all inheriting modules. Note that some 
             plugins also come from the "super-POM" for the default bindings. 
For example, 
             in the 'default' lifecycle, the resources, compiler, surefire, 
jar, install 
             and deploy plugins are automatically included because they provide 
the default 
             bindings. For the 'site' lifecycle, the site plugin is 
automatically included. -->
         <plugins>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-toolchains-plugin</artifactId>
-                <version>1.1</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>toolchain</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <toolchains>
-                        <jdk>
-                            <version>1.7</version>
-                            <vendor>oracle</vendor>
-                        </jdk>
-                    </toolchains>
-                </configuration>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-enforcer-plugin</artifactId>
@@ -1992,6 +1972,33 @@ ${license.additional-notes}
 
     <profiles>
         <profile>
+            <id>apache-release</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-toolchains-plugin</artifactId>
+                        <version>1.1</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>toolchain</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <toolchains>
+                                <jdk>
+                                    <version>1.7</version>
+                                    <vendor>oracle</vendor>
+                                </jdk>
+                            </toolchains>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
             <id>m2e</id>
             <activation>
                 <property>

http://git-wip-us.apache.org/repos/asf/isis/blob/bff1f71f/example/archetype/simpleapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/pom.xml 
b/example/archetype/simpleapp/pom.xml
index e884eab..fa653ef 100644
--- a/example/archetype/simpleapp/pom.xml
+++ b/example/archetype/simpleapp/pom.xml
@@ -44,7 +44,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.11.1</version>
+        <version>1.12.0-SNAPSHOT</version>
         <relativePath>../../../core/pom.xml</relativePath>
     </parent>
 </project>

Reply via email to