You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2016/01/25 15:40:39 UTC

[15/50] [abbrv] isis git commit: ISIS-1287: move toolchains under the apache-release profile so that is only enforced when a release is being cut.

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 <da...@haywood-associates.co.uk>
Authored: Sun Jan 24 11:44:54 2016 +0000
Committer: Dan Haywood <da...@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>