sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r908122 - in /websites/staging/sis/trunk/content: ./ build.html index.html source.html
Date Mon, 05 May 2014 17:16:38 GMT
Author: buildbot
Date: Mon May  5 17:16:37 2014
New Revision: 908122

Log:
Staging update by buildbot for sis

Added:
    websites/staging/sis/trunk/content/build.html
Modified:
    websites/staging/sis/trunk/content/   (props changed)
    websites/staging/sis/trunk/content/index.html
    websites/staging/sis/trunk/content/source.html

Propchange: websites/staging/sis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon May  5 17:16:37 2014
@@ -1 +1 @@
-1587395
+1592575

Added: websites/staging/sis/trunk/content/build.html
==============================================================================
--- websites/staging/sis/trunk/content/build.html (added)
+++ websites/staging/sis/trunk/content/build.html Mon May  5 17:16:37 2014
@@ -0,0 +1,240 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>Build from source</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <link rel="stylesheet" type="text/css" media="screen" href="css/bootstrap.min.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/code.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="css/sis.css">
+
+    
+
+    
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE file distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file to you under the Apache License,
Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0
. Unless required by applicable law or agreed to in writing, software distributed under the
License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied.  See the License for the specific language governing
permissions and limitations under the License. -->
+  </head>
+
+  <body>
+    <div class="navbar navbar-inverse navbar-fixed-top">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="/index.html"> Apache SIS&trade; </a>
+          <div class="nav-collapse">
+            <ul class="nav">
+              <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown">About<b
class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="mail-lists.html">Mailing Lists</a></li>
+                  <li><a href="license.html">Project License</a></li>
+                  <li><a href="team-list.html">Project Team</a></li>
+                </ul>
+              </li>
+              <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown">Project
Documentation<b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="apidocs/index.html">Online Javadoc</a></li>
+                  <li><a href="downloads.html">Downloads</a></li>
+                  <li><a href="source.html">Source Code</a></li>
+                  <li><a href="code-patterns.html">Code patterns</a></li>
+                  <li><a href="https://issues.apache.org/jira/browse/SIS">Issue
Tracker</a></li>
+                  <li><a href="faq.html">FAQ</a></li>
+                  <li><a href="release-management.html">Release Management</a></li>
+                  <li><a href="site-management.html">Edit WebSite</a></li>
+                </ul>
+              </li>
+              <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown">ASF
<b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="http://www.apache.org">The Foundation</a></li>
+                  <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                  <li><a href="http://www.apache.org/foundation/sponsorship.html">Become
a Sponsor</a></li>
+                  <li><a href="http://www.apache.org/security/">Security</a></li>
+                </ul>
+              </li>
+            </ul>
+          </div> <!-- /.nav-collapse -->
+        </div><!-- /.container -->
+      </div><!-- /.navbar-inner -->
+    </div>
+
+    <div class="container-fluid">
+      <div class="row-fluid">
+        <div class="span2">
+          <img src="img/logo.png"/>
+          <div class="well sidebar-nav">
+            <ul class="nav nav-list">
+              <li class="active"><a href="index.html">Home</a></li>
+              <li><a href="mail-lists.html">Mailing Lists</a></li>
+              <li><a href="license.html">Project License</a></li>
+              <li><a href="team-list.html">Project Team</a></li>
+              <li class="nav-header">Project Documentation</li>
+              <li><a href="apidocs/index.html">Online Javadoc</a></li>
+              <li><a href="downloads.html">Downloads</a></li>
+              <li><a href="source.html">Source Code</a></li>
+              <li><a href="code-patterns.html">Code patterns</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/SIS">Issue Tracker</a></li>
+              <li><a href="faq.html">FAQ</a></li>
+              <li><a href="release-management.html">Release Management</a></li>
+              <li><a href="site-management.html">Edit WebSite</a></li>
+              <li class="nav-header">ASF</li>
+              <li><a href="http://www.apache.org">The Foundation</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html">Become
a Sponsor</a></li>
+              <li><a href="http://www.apache.org/security/">Security</a></li>
+            </ul>
+          </div><!--/.well -->
+        </div><!--/span-->
+        <div class="span10">
+          <section id="content" class="row">
+            <article class="span12">
+              <p class="page-title">Build from source</p>
+              <p>Apache SIS is built by Maven.
+For installing the JAR files in the local Maven repository, execute the following command
+from the SIS project root:</p>
+<div class="codehilite"><pre>mvn install
+</pre></div>
+
+
+<p>The remaining of this page provides more advanced tips for SIS developers.</p>
+<div class="toc">
+<ul>
+<li><a href="#dist">Distribution file and Pack200 bundle</a><ul>
+<li><a href="#pack200">Generating the Pack200 file alone</a></li>
+<li><a href="#limitations">Known limitations</a></li>
+</ul>
+</li>
+<li><a href="#build-helper">SIS-specific Maven plugin</a><ul>
+<li><a href="#resources">Localized resources compiler</a></li>
+<li><a href="#jar-collect">JAR files collector</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<h1 id="dist">Distribution file and Pack200 bundle</h1>
+<p>The Pack200 bundle is a file with the <code>.pack.gz</code> extension
containing all SIS modules except <code>sis-webapp</code>
+(because Web applications use an other packaging) together with their dependencies.
+Pack200 files are uncompressed by the <code>unpack200</code> command provided
in JDK/JRE installation.
+However for users convenience, we provide a shell script for uncompressing and launching
the SIS
+command line tool in a single step. That shell script, together with the Pack200 file and
other
+files (<code>README</code>, <code>LICENSE</code>, <etc.>) are
bundled in a ZIP file created as below:</p>
+<div class="codehilite"><pre>mvn org.apache.sis.core:sis-build-helper:dist --non-recursive
+</pre></div>
+
+
+<p>Do not forget the <code>--non-recursive</code> option, otherwise the
Mojo will waste CPU by executing itself many time.
+Optionally, the Apache SIS version can be inserted as a 4th element between <code>sis-build-helper:</code>
and <code>:dist</code>
+if there is many versions of the plugin in the local repository.</p>
+<p>The result will be created in the <code>target/distribution/apache-sis-&lt;version&gt;.zip</code>
file.
+To test, uncompress in any directory and execute <code>apache-sis-&lt;version&gt;/bin/sis</code>.
+The Pack200 file will be automatically uncompressed when first needed.</p>
+<h2 id="pack200">Generating the Pack200 file alone</h2>
+<p>If only the Pack200 file is desired, without the distribution ZIP file,
+one can use the following command:</p>
+<div class="codehilite"><pre>mvn org.apache.sis.core:sis-build-helper:pack --non-recursive
+</pre></div>
+
+
+<p>The above command should create a <code>target/distribution/apache-sis-\&lt;version\&gt;.pack.gz</code>
file.
+To uncompress that file, use the following command:</p>
+<div class="codehilite"><pre>unpack200 --remove-pack-file apache-sis-&lt;version&gt;.pack.gz
sis.jar
+</pre></div>
+
+
+<p>The Pack200 bundle does not include the <code>sis-webapp</code> module
because the later can be downloaded
+as a <code>WAR</code> file from the Maven repository.</p>
+<h2 id="limitations">Known limitations</h2>
+<p>The current plugin implementation has some hard-coded values, especially:</p>
+<ul>
+<li>The ZIP file content is copied from the <code>application/sis-console/src/main/artifact</code>
directory.</li>
+<li>The Pack200 file path inside the ZIP file is hard-coded to <code>lib/sis.pack.gz</code>.</li>
+<li>The final filename is hard-coded to <code>apache-sis-&lt;version&gt;.zip</code>.</li>
+</ul>
+<h1 id="build-helper">SIS-specific Maven plugin</h1>
+<p>Apache SIS uses a <code>sis-build-helper</code> plugin for SIS-specific
tasks and Javadoc customization.
+This plugin is used automatically by <code>mvn install</code>. Consequently the
remaining of this page
+can be safely ignored. This page is provided only as a reference for developers wanting to
+take a closer look to SIS <code>pom.xml</code> file.</p>
+<h2 id="resources">Localized resources compiler</h2>
+<p>Localized resources are provided in <code>*.properties</code> files
as specified by the <code>java.util.PropertyResourceBundle</code> standard class.
+However SIS does not use those resources files directly. Instead <code>*.properties</code>
files are transformed into binary files having
+the same filename but the <code>.utf</code> extension. This conversion is done
for efficiency, for convenience (the compiler applies the
+<code>java.text.MessageFormat</code> <em>doubled single quotes</em>
rule itself), and for compile-time safety.</p>
+<p>In addition to generating the <code>*.utf</code> files, the resource
compiler may modify the <code>*.java</code> files having the same name than the
+resource files. For example given a set of <code>Vocabulary*.properties</code>
files (one for each supported language), the compiler will
+generate the corresponding <code>Vocabulary*.utf</code> files, then look for
a <code>Vocabulary.java</code> source file. If such source file is found
+and contains a public static inner class named <code>Keys</code>, then the compiler
will rewrite the constants declared in that inner class
+with the list of keys found in the <code>Vocabulary*.properties</code> files.</p>
+<p>The resource compiler is executed at Maven build time if the <code>pom.xml</code>
file contains the following declaration. Note that current
+implementation looks only for resources in any package ending with the <code>resources</code>
name; all other packages are ignored.</p>
+<div class="codehilite"><pre><span class="nt">&lt;build&gt;</span>
+  <span class="nt">&lt;plugins&gt;</span>
+    <span class="nt">&lt;plugin&gt;</span>
+      <span class="nt">&lt;groupId&gt;</span>org.apache.sis.core<span
class="nt">&lt;/groupId&gt;</span>
+      <span class="nt">&lt;artifactId&gt;</span>sis-build-helper<span
class="nt">&lt;/artifactId&gt;</span>
+      <span class="nt">&lt;version&gt;</span>${sis.plugin.version}<span
class="nt">&lt;/version&gt;</span>
+      <span class="nt">&lt;executions&gt;</span>
+        <span class="nt">&lt;execution&gt;</span>
+          <span class="nt">&lt;goals&gt;</span>
+            <span class="nt">&lt;goal&gt;</span>compile-resources<span
class="nt">&lt;/goal&gt;</span>
+          <span class="nt">&lt;/goals&gt;</span>
+        <span class="nt">&lt;/execution&gt;</span>
+      <span class="nt">&lt;/executions&gt;</span>
+    <span class="nt">&lt;/plugin&gt;</span>
+  <span class="nt">&lt;/plugins&gt;</span>
+<span class="nt">&lt;/build&gt;</span>
+</pre></div>
+
+
+<p>The resources compilation is part of the build process and does not need to be run
explicitly.
+However, if necessary the resources compiler can be invoked alone by the following command
line
+in the module containing the resources to recompile. This is sometime useful for regenerating
+the constants in the <code>Keys</code> inner class in a feaster way than building
the project.</p>
+<div class="codehilite"><pre>mvn org.apache.sis.core:sis-build-helper:compile-resources
+</pre></div>
+
+
+<h2 id="jar-collect">JAR files collector</h2>
+<p>Links or lists all JAR files (including dependencies) in the <code>target/binaries</code>
directory of the parent project.
+This plugin performs a work similar to the standard Maven assembly plugin work, with the
following differences:</p>
+<ul>
+<li>In multi-modules projects, this plugin does not create anything in the <code>target</code>
directory of sub-modules.
+     Instead, this plugin groups everything in the <code>target/binaries</code>
directory of the parent module.</li>
+<li>This plugin does not create any ZIP file. It only links or lists JAR files.
+     The JDK7 and above versions of this plugin use hard links on platforms that support
them,
+     so execution of this plugin should be very cheap and consume few disk space.</li>
+<li>Dependencies already present in the <code>target/binaries</code> directory
are presumed stables and
+     are not overwritten. Only artifacts produced by the Maven build are unconditionally
overwritten.</li>
+</ul>
+<p>This plugin can be activated by the following fragment in the parent <code>pom.xml</code>
file:</p>
+<div class="codehilite"><pre><span class="nt">&lt;build&gt;</span>
+  <span class="nt">&lt;plugins&gt;</span>
+    <span class="nt">&lt;plugin&gt;</span>
+      <span class="nt">&lt;groupId&gt;</span>org.apache.sis.core<span
class="nt">&lt;/groupId&gt;</span>
+      <span class="nt">&lt;artifactId&gt;</span>sis-build-helper<span
class="nt">&lt;/artifactId&gt;</span>
+      <span class="nt">&lt;version&gt;</span>${sis.plugin.version}<span
class="nt">&lt;/version&gt;</span>
+      <span class="nt">&lt;executions&gt;</span>
+        <span class="nt">&lt;execution&gt;</span>
+          <span class="nt">&lt;goals&gt;</span>
+            <span class="nt">&lt;goal&gt;</span>collect-jars<span
class="nt">&lt;/goal&gt;</span>
+          <span class="nt">&lt;/goals&gt;</span>
+        <span class="nt">&lt;/execution&gt;</span>
+      <span class="nt">&lt;/executions&gt;</span>
+    <span class="nt">&lt;/plugin&gt;</span>
+  <span class="nt">&lt;/plugins&gt;</span>
+<span class="nt">&lt;/build&gt;</span>
+</pre></div>
+            </article>
+          </section>
+        </div><!--/span-->
+      </div><!--/row-fluid-->
+    </div><!--/container-fluid-->
+
+  <footer class="footer">
+    <div class="container">
+      <p>Copyright &copy; 2013 The Apache Software Foundation, Licensed under the
+        <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>.<br />
+          Apache SIS, Apache, the Apache feather logo are trademarks of The Apache Software
Foundation.</p>
+    </div>
+  </footer>
+
+  <script src="js/jquery-1.9.1.min.js"></script>
+  <script src="js/bootstrap.min.js"></script>
+
+</body>
+</html>

Modified: websites/staging/sis/trunk/content/index.html
==============================================================================
--- websites/staging/sis/trunk/content/index.html (original)
+++ websites/staging/sis/trunk/content/index.html Mon May  5 17:16:37 2014
@@ -108,6 +108,7 @@ The version under development is 0.5-SNA
 <h2 id="developer">SIS developer documentation</h2>
 <ul>
 <li><a href="source.html">Source code</a>: fetching the code, opening in
an IDE, developing, formatting.</li>
+<li><a href="build.html">Build</a>: build from the source, create the PACK200
file.</li>
 <li><a href="branches.html">Branches</a>: trunk, JDK6, JDK7.</li>
 <li><a href="http://issues.apache.org/jira/browse/SIS">Issue tracking</a>:
JIRA.</li>
 <li><a href="http://reviews.apache.org/groups/sis">Code review</a></li>

Modified: websites/staging/sis/trunk/content/source.html
==============================================================================
--- websites/staging/sis/trunk/content/source.html (original)
+++ websites/staging/sis/trunk/content/source.html Mon May  5 17:16:37 2014
@@ -263,6 +263,29 @@ a case-by-case basis. Of course, tabular
                  A separated <code>@author</code> tag is added for each developer.
                  The intend is to allow other developers to know to who to ask questions
if needed.</li>
 </ul>
+<p>In addition, the <code>sis-build-helper</code> modules provides the
following custom javadoc taglets:</p>
+<table>
+<thead>
+<tr>
+<th>Javadoc tag</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>@module</code></td>
+<td>Create links to the module where the class is defined, source code and Maven artifacts.</td>
+</tr>
+<tr>
+<td><code>{@preformat}</code></td>
+<td>An inline taglet for pre-formatted text. The first word inside the taglet shall
be one of <code>java</code>, <code>xml</code>, <code>sql</code>,
<code>wkt</code>, <code>text</code>, <code>math</code>
or <code>shell</code>.</td>
+</tr>
+<tr>
+<td><code>{@section}</code></td>
+<td>An inline taglet for the title of a new section in the javadoc.</td>
+</tr>
+</tbody>
+</table>
 <h3 id="html">HTML elements</h3>
 <p>HTML tags and entities shall be used only when there is no equivalent Javadoc tag.
 In addition to the standard Javadoc tags, a few <a href="http://builds.apache.org/job/sis-trunk/site/sis-build-helper/index.html">SIS-specific
Javadoc tags</a> are available.



Mime
View raw message