You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by bu...@apache.org on 2019/08/30 10:29:48 UTC
svn commit: r1049413 - in /websites/staging/sis/trunk/content: ./ source.html
Author: buildbot
Date: Fri Aug 30 10:29:47 2019
New Revision: 1049413
Log:
Staging update by buildbot for sis
Modified:
websites/staging/sis/trunk/content/ (props changed)
websites/staging/sis/trunk/content/source.html
Propchange: websites/staging/sis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Aug 30 10:29:47 2019
@@ -1 +1 @@
-1866105
+1866143
Modified: websites/staging/sis/trunk/content/source.html
==============================================================================
--- websites/staging/sis/trunk/content/source.html (original)
+++ websites/staging/sis/trunk/content/source.html Fri Aug 30 10:29:47 2019
@@ -117,15 +117,12 @@ or to cherry-pick only the interesting p
<li><a href="#data">Create data directory</a></li>
<li><a href="#non-free">Checkout non-free data</a></li>
<li><a href="#postgres">Configure PostgreSQL</a></li>
+<li><a href="#tests">Running extensive tests</a></li>
<li><a href="#branches">Switch to development branch</a></li>
</ul>
</li>
+<li><a href="#netbeans">Opening Apache SIS in NetBeans</a></li>
<li><a href="#history">History</a></li>
-<li><a href="#ide">Opening Apache SIS in an IDE</a><ul>
-<li><a href="#netbeans">NetBeans</a></li>
-<li><a href="#eclipse">Eclipse</a></li>
-</ul>
-</li>
</ul>
</div>
<h1 id="basic">Basic installation<a class="headerlink" href="#basic" title="Permanent link">¶</a></h1>
@@ -207,14 +204,45 @@ Derby and HSQL are tested automatically
But testing on PostgreSQL requires the creation of a dedicated database on the developer platform.
The requirements are:</p>
<ul>
-<li>PostgreSQL server is running and listening to <code>localhost</code> on default port (5432).</li>
-<li>An empty database named <code>"SpatialMetadataTest"</code> exists (Apache SIS will not create it itself).</li>
-<li>A role having the same name than Unix user name exists</li>
-<li>Above-cited role can connect to <code>"SpatialMetadataTest"</code> without password.</li>
-</ul>
-<p>The last point may require the following line in the <code>pg_hba.conf</code> file
-(location of this file is system-dependent; try <code>/var/âlib/âpgsql/âdata</code>):</p>
-<div class="codehilite"><pre>host all my_unix_user_name 127.0.0.1/32 trust
+<li>PostgreSQL server running and listening to <code>localhost</code> on default port (5432).</li>
+<li>A role with the same name than Unix user name of the developer running tests.</li>
+<li>An empty database named <code>"SpatialMetadataTest"</code>.</li>
+<li>Above-cited role can connect to <code>SpatialMetadataTest</code> database without password.</li>
+<li><code>org.apache.sis.test.extensive</code> Java property set to <code>true</code>.</li>
+</ul>
+<p>The <code>SpatialMetadataTest</code> database should stay empty when not running tests,
+because Apache SIS always delete the temporary schema after tests completion,
+regardless if the tests were successful or not.
+The role and database can be created by the following SQL instructions
+(replace <code>my_unix_user_name</code> by your actual user name):</p>
+<div class="codehilite"><pre><span class="k">CREATE</span> <span class="k">ROLE</span> <span class="n">my_unix_user_name</span> <span class="n">LOGIN</span><span class="p">;</span>
+<span class="k">CREATE</span> <span class="k">DATABASE</span> <span class="ss">"SpatialMetadataTest"</span> <span class="k">WITH</span> <span class="k">OWNER</span> <span class="o">=</span> <span class="n">my_unix_user_name</span><span class="p">;</span>
+<span class="k">COMMENT</span> <span class="k">ON</span> <span class="k">DATABASE</span> <span class="ss">"SpatialMetadataTest"</span> <span class="k">IS</span> <span class="s1">'For Apache SIS tests only.'</span><span class="p">;</span>
+</pre></div>
+
+
+<p>For opening access to that database without password, it may be necessary
+to add following line (ignoring comment lines) in the <code>pg_hba.conf</code> file.
+Location of this file is system-dependent; it may be <code>/var/âlib/âpgsql/âdata</code>:</p>
+<div class="codehilite"><pre># IPv4 local connections:
+# TYPE DATABASE USER ADDRESS METHOD
+host SpatialMetadataTest my_unix_user_name 127.0.0.1/32 trust
+</pre></div>
+
+
+<p>The last step for allowing Apache SIS to run tests on PostgreSQL is to set the
+<code>org.apache.sis.test.extensive</code> Java property to <code>true</code> (see next section).
+This requirement has been added for avoiding undesired interference with host.
+Note that this step is likely to change after Apache SIS upgrade to JUnit 5.</p>
+<h2 id="tests">Running extensive tests<a class="headerlink" href="#tests" title="Permanent link">¶</a></h2>
+<p>A simple <code>mvn install</code> execution in the <code>sis</code> directory
+will build and test Apache SIS with the default set of JUnit tests.
+Some tests are skipped by default, either because they would have some effects outside
+the <code>sis</code> directory (for example writing in <code>SpatialMetadataTest</code> database on PostgreSQL),
+or because those tests take a long time to execute.
+For enabling all tests, use the following command:</p>
+<div class="codehilite"><pre><span class="nb">cd </span>sis
+mvn install -Dorg.apache.sis.test.extensive<span class="o">=</span><span class="nb">true</span>
</pre></div>
@@ -223,8 +251,8 @@ The requirements are:</p>
Apache SIS releases are created from <code>master</code>, which depends on the latest GeoAPI version
released by the Open Geospatial Consortium (<abbr title="Open Geospatial Consortium">OGC</abbr>), currently <a href="http://www.geoapi.org/3.0/index.html">GeoAPI 3.0.1</a>.
However daily developments occur on the <code>geoapi-4.0</code> branch before to be merged (indirectly) to <code>master</code>.
-Those branches exist in order to experiment early new API and technologies â since it may impact
-the library design â while keeping the releases compatible with officially released environments.
+Those branches exist in order to experiment early new API and technologies â since they may impact
+the library design â while keeping the releases compatible with officially released API.
In summary:</p>
<ul>
<li>The <code>geoapi-4.0</code> branch implements interfaces defined in GeoAPI 4.0 snapshots.</li>
@@ -232,45 +260,26 @@ In summary:</p>
<li>The <code>master</code> implements interfaces defined by the <a href="http://www.geoapi.org/3.0/index.html">GeoAPI 3.0.1 stable release</a>.</li>
</ul>
<p>Developments on <code>geoapi-4.0</code> branch are merged to <code>geoapi-3.1</code> branch, which is then merged to <code>master</code>.
-Note that commits on master can not be removed, since <code>git push --force</code> is not allowed on that branch.
-If some commits need to be rearranged, it should be done on other branches before merge to <code>master</code>.</p>
-<p>Developers can switch to the current development branch as below.
-Note that those <code>geoapi-xxx</code> branches may disappear after <abbr title="Open Geospatial Consortium">OGC</abbr> released the corresponding GeoAPI versions.</p>
+When commits reach <code>master</code>, they become unmodifiable â <code>git push --force</code> command is not allowed on that branch.
+Contributors to Apache SIS project should switch to the current development branch before submitting patches:</p>
<div class="codehilite"><pre><span class="nb">cd </span>sis
git checkout geoapi-4.0
</pre></div>
-<h1 id="history">History<a class="headerlink" href="#history" title="Permanent link">¶</a></h1>
-<p>All developments and tags prior Apache SIS 1.0 were done on a <a href="http://subversion.apache.org">Subversion</a> repository
-and can be <a href="http://svn.apache.org/viewvc/sis/">browsed online</a>.
-Tags for Apache SIS versions 0.1 to 0.8 should be fetched from the <a href="https://svn.apache.org/repos/asf/sis/tags/">SVN repository</a>.
-The development branches on that repository were named <code>JDK8</code>, <code>JDK7</code>, <code>JDK6</code> and <code>trunk</code>.</p>
-<h1 id="ide">Opening Apache SIS in an IDE<a class="headerlink" href="#ide" title="Permanent link">¶</a></h1>
-<p>Different SIS branches are available depending on the GeoAPI versions.
-The alternatives are listed in <a href="#development">above section</a>.
-One thing to take in consideration can be summarized as below:</p>
-<ul>
-<li>There is no need to build GeoAPI prior working on SIS master.</li>
-<li>When working on a SIS development branch, we recommend to build GeoAPI 4.0-SNAPSHOT locally first.</li>
-</ul>
-<p>While the primarily SIS build system is Maven, the project provides some IDE configuration files for developers convenience.
-Before opening the project in an IDE, the source code needs to be downloaded from the source repository
-and the project built at least once using Maven:</p>
-<div class="codehilite"><pre>git clone https://gitbox.apache.org/repos/asf/sis.git
-<span class="nb">cd </span>sis
-mvn install
-</pre></div>
-
-
-<h2 id="netbeans">NetBeans<a class="headerlink" href="#netbeans" title="Permanent link">¶</a></h2>
-<p>NetBeans can open Maven projects natively. This is the recommended approach for casual working in a small amount of SIS modules.
-For extensive work on Apache SIS or for work impacting many modules, it may be more convenient and faster to open Apache SIS as a NetBeans project.
-Such pre-configured NetBeans project is available in the <code>ide-project/NetBeans</code> directory.
+<p>Note that those <code>geoapi-xxx</code> branches may disappear or be replaced by something else
+after <abbr title="Open Geospatial Consortium">OGC</abbr> releases the corresponding GeoAPI versions.</p>
+<h1 id="netbeans">Opening Apache SIS in NetBeans<a class="headerlink" href="#netbeans" title="Permanent link">¶</a></h1>
+<p>Apache SIS build is defined by Maven <code>pom.xml</code> files.
+All major IDE, including NetBeans, can open a project defined by those files.
+However in the particular case of NetBeans IDE, we also provide a way to open Apache SIS using Ant configuration files.
+Compared to "Java with Maven" project, the "Java with Ant" project is faster to build and debug,
+makes easier to see all modules at once, and provides more configuration options.
+Those configuration files are available in the <code>ide-project/NetBeans</code> directory.
This project will fetch dependencies directly from the <code>.m2/repository</code> local directory,
and will refer to the resources <code>*.utf</code> files compiled by Maven in the <code>sis-*/target</code> directories.
-Consequently it is important to run <code>mvn install</code> before opening the project
-and after any change in the project dependencies or in the resources.</p>
+Consequently it is important to run <code>mvn install</code> manually (on the command line)
+before opening the project and after any change in the project dependencies or in the resources.</p>
<p>Users can customize their project configuration by editing the <code>ide-project/NetBeans/nbproject/private/config.properties</code> file.
The <code>private</code> directory is excluded by the versioning system, so it okay to put user-specific information there.
For example in order to overwrite the default location of the local Maven repository and to define a system property at execution time,
@@ -280,17 +289,11 @@ one can use:</p>
</pre></div>
-<h2 id="eclipse">Eclipse<a class="headerlink" href="#eclipse" title="Permanent link">¶</a></h2>
-<p>Execute the <code>svn checkout</code> to <code>mvn install</code> commands documented in the beginning of this section,
-then execute the following steps:</p>
-<ul>
-<li>Execute <code>mvn eclipse:eclipse</code> on the command line.</li>
-<li>Open Eclipse in a new workspace.</li>
-<li>Go to <em>Eclipse</em> â <em>Preferences</em> â <em>General</em> â <em>Workspace</em>.</li>
-<li>Change <em>Text file encoding</em> to <em>Other: UTF-8</em>, press <em>Apply</em>, then <em>Ok</em>.</li>
-<li>Go to <em>File</em> â <em>Import</em> â <em>General</em> â <em>Existing Projects in Workspace</em>.</li>
-<li>Choose the <code>sis</code> directory and import.</li>
-</ul>
+<h1 id="history">History<a class="headerlink" href="#history" title="Permanent link">¶</a></h1>
+<p>All developments and tags prior Apache SIS 1.0 were done on a <a href="http://subversion.apache.org">Subversion</a> repository
+and can be <a href="http://svn.apache.org/viewvc/sis/">browsed online</a>.
+Tags for Apache SIS versions 0.1 to 0.8 should be fetched from the <a href="https://svn.apache.org/repos/asf/sis/tags/">SVN repository</a>.
+The development branches on that repository were named <code>JDK8</code>, <code>JDK7</code>, <code>JDK6</code> and <code>trunk</code>.</p>
</article>
</section>
</div><!--/span-->