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/24 12:48:09 UTC

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

Repository: isis-site
Updated Branches:
  refs/heads/asf-site 53fa004ef -> ac507390e


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-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis-site/commit/ac507390
Tree: http://git-wip-us.apache.org/repos/asf/isis-site/tree/ac507390
Diff: http://git-wip-us.apache.org/repos/asf/isis-site/diff/ac507390

Branch: refs/heads/asf-site
Commit: ac507390ee8a8524a65d57d824e2e519cec8671d
Parents: 53fa004
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun Jan 24 11:45:36 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun Jan 24 11:45:36 2016 +0000

----------------------------------------------------------------------
 content/guides/cgcom.html |   9 ++++
 content/guides/cgcon.html | 109 ++++++++++++++++++++++-------------------
 2 files changed, 68 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis-site/blob/ac507390/content/guides/cgcom.html
----------------------------------------------------------------------
diff --git a/content/guides/cgcom.html b/content/guides/cgcom.html
index ac4dc7e..a47e4bc 100644
--- a/content/guides/cgcom.html
+++ b/content/guides/cgcom.html
@@ -3342,6 +3342,14 @@ gpg --armor --export nnnnnnnn &gt;&gt;KEYS</code></pre>
 <p>This section (appendix) describes the prerequisites for the <a href="#_cgcom_release-process">release process</a>.</p>
 </div>
 <div class="sect2">
+<h3 id="_configure_toolchains_plugin">Configure toolchains plugin</h3>
+<div class="paragraph">
+<p>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
+<a href="#_cgcon_building-isis_configure-maven-toolchains-plugin">contributors' guide</a>.</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="_public_private_key">Public/private key</h3>
 <div class="paragraph">
 <p>The most important configuration you require is to set up public/private key pair. This is used by the <code>maven-release-plugin</code> to sign the code artifacts. See the page on <a href="#_cgcom_key-generation">key generation</a> for more details.</p>
@@ -3667,6 +3675,7 @@ modify_committee.pl gump --remove joebloggs</code></pre>
 </li>
 <li><a href="#_cgcom_release-process-prereqs">Appendix: Release Prereqs</a>
 <ul class="sectlevel2">
+<li><a href="#_configure_toolchains_plugin">Configure toolchains plugin</a></li>
 <li><a href="#_public_private_key">Public/private key</a></li>
 <li><a href="#_maven_code_settings_xml_code">Maven <code>settings.xml</code></a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/isis-site/blob/ac507390/content/guides/cgcon.html
----------------------------------------------------------------------
diff --git a/content/guides/cgcon.html b/content/guides/cgcon.html
index 326d7b1..bb68804 100644
--- a/content/guides/cgcon.html
+++ b/content/guides/cgcon.html
@@ -3080,68 +3080,42 @@ git config user.email &lt;i&gt;myusername@apache.org&lt;/i&gt;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_cgcon_building-isis_installing-java-7">6.2. Installing Java 7</h3>
+<h3 id="_cgcon_building-isis_installing-java">6.2. Installing Java</h3>
 <div class="paragraph">
-<p>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 <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">Maven toolchains plugin</a>.
-(The discussion of toolchains itself is discussed <a href="#_cgcon_building-isis_configure-maven-toolchains-plugin">below</a>).</p>
+<p>Apache Isis is compatible with Java 7 and Java 8.  For every-day use, the framework is usually compiled against Java 8.</p>
 </div>
 <div class="paragraph">
-<p>Therefore install Java 7 JDK (and optionally Java 8 JDK as well).  Note that the JRE is <em>not</em> sufficient.</p>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>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.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_cgcon_building-isis_installing-maven">6.3. Installing Maven</h3>
-<div class="paragraph">
-<p>Install Maven 3.0.x, downloadable <a href="http://maven.apache.org/download.html">here</a>.</p>
+<p>Releases however are <a href="#_cgcom_cutting-a-release">cut</a> using Java 7, leveraging the link
+:http://maven.apache.org/plugins/maven-toolchains-plugin/[Maven toolchains plugin]).</p>
 </div>
 <div class="paragraph">
-<p>Set <code>MAVEN_OPTS</code> environment variable:</p>
+<p>Therefore install either/both of Java 7 JDK and Java 8 JDK.  Note that the JRE is <em>not</em> sufficient.</p>
 </div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">export MAVEN_OPTS=&quot;-Xms512m -Xmx1024m&quot;</code></pre>
-</div>
-</div>
-<div class="admonitionblock note">
+<div class="admonitionblock tip">
 <table>
 <tr>
 <td class="icon">
-<i class="fa icon-note" title="Note"></i>
+<i class="fa icon-tip" title="Tip"></i>
 </td>
 <td class="content">
 <div class="paragraph">
-<p>Previously we suggested <code>-XX:MaxPermSize=256m</code>, 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).</p>
+<p>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.</p>
 </div>
 </td>
 </tr>
 </table>
 </div>
-</div>
-<div class="sect2">
-<h3 id="_cgcon_building-isis_configure-maven-toolchains-plugin">6.4. Configure Maven toolchains plugin</h3>
+<div class="sect3">
+<h4 id="_cgcon_building-isis_configure-maven-toolchains-plugin">6.2.1. Configure Maven toolchains plugin</h4>
 <div class="paragraph">
-<p>As noted <a href="#_cgcon_building-isis_installing-java-7">earlier</a>, Apache Isis is built using Java 7, leveraging the
-<a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">toolchains</a> plugin.  This is configured by placing the
-<code>toolchains.xml</code> file in <code>~/.m2</code> directory.</p>
+<p>If you are a committer that will be performing releases of Apache Isis, then you <em>must</em> configure the
+<a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">toolchains</a> plugin so that releases can be built using
+Java 7.</p>
 </div>
 <div class="paragraph">
-<p>You can use the following file as a template, adjusting paths for your platform:</p>
+<p>This is done by placing the <code>toolchains.xml</code> file in <code>~/.m2</code> directory.  Use the following file as a template,
+adjusting paths for your platform:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -3184,9 +3158,41 @@ make changes.  Just be sure not to use any Java 8 APIs.</p>
 </tr>
 </table>
 </div>
+<div class="paragraph">
+<p>The Apache Isis parent <code>pom.xml</code> activates this plugin whenever the <code>apache-release</code> profile is enabled.</p>
+</div>
+</div>
 </div>
 <div class="sect2">
-<h3 id="_cgcon_building-isis_building-all-of-apache-isis">6.5. Building all of Apache Isis</h3>
+<h3 id="_cgcon_building-isis_installing-maven">6.3. Installing Maven</h3>
+<div class="paragraph">
+<p>Install Maven 3.0.x, downloadable <a href="http://maven.apache.org/download.html">here</a>.</p>
+</div>
+<div class="paragraph">
+<p>Set <code>MAVEN_OPTS</code> environment variable:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">export MAVEN_OPTS=&quot;-Xms512m -Xmx1024m&quot;</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Previously we suggested <code>-XX:MaxPermSize=256m</code>, 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).</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_cgcon_building-isis_building-all-of-apache-isis">6.4. Building all of Apache Isis</h3>
 <div class="paragraph">
 <p>To build the source code from the command line, simply go to the root directory and type:</p>
 </div>
@@ -3215,7 +3221,7 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_cgcon_building-isis_checking-for-vulnerabilities">6.6. Checking for Vulnerabilities</h3>
+<h3 id="_cgcon_building-isis_checking-for-vulnerabilities">6.5. Checking for Vulnerabilities</h3>
 <div class="paragraph">
 <p>Apache Isis configures the <a href="https://www.owasp.org/index.php/Main_Page">OWASP</a> <a href="https://www.owasp.org/index.php/OWASP_Dependency_Check">dependency check</a> <a href="http://jeremylong.github.io/DependencyCheck/dependency-check-maven/index.html">Maven plugin</a> to determine whether the framework uses libraries that are known to have security vulnerabilities.</p>
 </div>
@@ -3249,7 +3255,7 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_cgcon_building-isis_checking-for-use-of-internal-jdk-apis">6.7. Checking for use of internal JDK APIs</h3>
+<h3 id="_cgcon_building-isis_checking-for-use-of-internal-jdk-apis">6.6. Checking for use of internal JDK APIs</h3>
 <div class="paragraph">
 <p>Apache Isis configures the <a href="https://maven.apache.org/plugins-archives/maven-jdeps-plugin-3.0.0/">jdeps maven plugin</a> to check for any usage of internal JDK APIs.  This is in preparation for Java 9 module system (Jigsaw) which will prevent such usage of APIs.</p>
 </div>
@@ -5492,12 +5498,15 @@ xxx<br>
 <li><a href="#_cgcon_building-isis_git_getting-help">6.1.2. Getting help</a></li>
 </ul>
 </li>
-<li><a href="#_cgcon_building-isis_installing-java-7">6.2. Installing Java 7</a></li>
+<li><a href="#_cgcon_building-isis_installing-java">6.2. Installing Java</a>
+<ul class="sectlevel3">
+<li><a href="#_cgcon_building-isis_configure-maven-toolchains-plugin">6.2.1. Configure Maven toolchains plugin</a></li>
+</ul>
+</li>
 <li><a href="#_cgcon_building-isis_installing-maven">6.3. Installing Maven</a></li>
-<li><a href="#_cgcon_building-isis_configure-maven-toolchains-plugin">6.4. Configure Maven toolchains plugin</a></li>
-<li><a href="#_cgcon_building-isis_building-all-of-apache-isis">6.5. Building all of Apache Isis</a></li>
-<li><a href="#_cgcon_building-isis_checking-for-vulnerabilities">6.6. Checking for Vulnerabilities</a></li>
-<li><a href="#_cgcon_building-isis_checking-for-use-of-internal-jdk-apis">6.7. Checking for use of internal JDK APIs</a></li>
+<li><a href="#_cgcon_building-isis_building-all-of-apache-isis">6.4. Building all of Apache Isis</a></li>
+<li><a href="#_cgcon_building-isis_checking-for-vulnerabilities">6.5. Checking for Vulnerabilities</a></li>
+<li><a href="#_cgcon_building-isis_checking-for-use-of-internal-jdk-apis">6.6. Checking for use of internal JDK APIs</a></li>
 </ul>
 </li>
 <li><a href="#_cgcon_contributing">7. Contributing</a>