sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1866143 - /sis/site/trunk/content/source.mdtext
Date Fri, 30 Aug 2019 10:29:38 GMT
Author: desruisseaux
Date: Fri Aug 30 10:29:38 2019
New Revision: 1866143

URL: http://svn.apache.org/viewvc?rev=1866143&view=rev
Log:
More details about PostgreSQL configuration.
Add section about extensive tests.
Remove section about Eclipse IDE (has not been maintained for years).

Modified:
    sis/site/trunk/content/source.mdtext

Modified: sis/site/trunk/content/source.mdtext
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/source.mdtext?rev=1866143&r1=1866142&r2=1866143&view=diff
==============================================================================
--- sis/site/trunk/content/source.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/source.mdtext [UTF-8] Fri Aug 30 10:29:38 2019
@@ -131,16 +131,51 @@ Derby and HSQL are tested automatically
 But testing on PostgreSQL requires the creation of a dedicated database on the developer
platform.
 The requirements are:
 
-  * PostgreSQL server is running and listening to `localhost` on default port (5432).
-  * An empty database named `"SpatialMetadataTest"` exists (Apache SIS will not create it
itself).
-  * A role having the same name than Unix user name exists
-  * Above-cited role can connect to `"SpatialMetadataTest"` without password.
-
-The last point may require the following line in the `pg_hba.conf` file
-(location of this file is system-dependent; try `/var/​lib/​pgsql/​data`):
+  * PostgreSQL server running and listening to `localhost` on default port (5432).
+  * A role with the same name than Unix user name of the developer running tests.
+  * An empty database named `"SpatialMetadataTest"`.
+  * Above-cited role can connect to `SpatialMetadataTest` database without password.
+  * `org.apache.sis.test.extensive` Java property set to `true`.
+
+The `SpatialMetadataTest` 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 `my_unix_user_name` by your actual user name):
+
+    ::sql
+    CREATE ROLE my_unix_user_name LOGIN;
+    CREATE DATABASE "SpatialMetadataTest" WITH OWNER = my_unix_user_name;
+    COMMENT ON DATABASE "SpatialMetadataTest" IS 'For Apache SIS tests only.';
+
+For opening access to that database without password, it may be necessary
+to add following line (ignoring comment lines) in the `pg_hba.conf` file.
+Location of this file is system-dependent; it may be `/var/​lib/​pgsql/​data`:
 
     ::text
-    host    all    my_unix_user_name    127.0.0.1/32    trust
+    # IPv4 local connections:
+    # TYPE  DATABASE               USER                 ADDRESS         METHOD
+    host    SpatialMetadataTest    my_unix_user_name    127.0.0.1/32    trust
+
+The last step for allowing Apache SIS to run tests on PostgreSQL is to set the
+`org.apache.sis.test.extensive` Java property to `true` (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.
+
+
+Running extensive tests    {#tests}
+-----------------------------------
+
+A simple `mvn install` execution in the `sis` 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 `sis` directory (for example writing in `SpatialMetadataTest` database on PostgreSQL),
+or because those tests take a long time to execute.
+For enabling all tests, use the following command:
+
+    :::bash
+    cd sis
+    mvn install -Dorg.apache.sis.test.extensive=true
 
 
 Switch to development branch    {#branches}
@@ -150,8 +185,8 @@ The source code repository contains `mas
 Apache SIS releases are created from `master`, which depends on the latest GeoAPI version
 released by the Open Geospatial Consortium (OGC), currently [GeoAPI 3.0.1][geoapi-stable].
 However daily developments occur on the `geoapi-4.0` branch before to be merged (indirectly)
to `master`.
-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:
 
   * The `geoapi-4.0` branch implements interfaces defined in GeoAPI 4.0 snapshots.
@@ -159,59 +194,31 @@ In summary:
   * The `master` implements interfaces defined by the [GeoAPI 3.0.1 stable release][geoapi-stable].
 
 Developments on `geoapi-4.0` branch are merged to `geoapi-3.1` branch, which is then merged
to `master`.
-Note that commits on master can not be removed, since `git push --force` is not allowed on
that branch.
-If some commits need to be rearranged, it should be done on other branches before merge to
`master`.
-
-Developers can switch to the current development branch as below.
-Note that those `geoapi-xxx` branches may disappear after OGC released the corresponding
GeoAPI versions.
+When commits reach `master`, they become unmodifiable — `git push --force` command is not
allowed on that branch.
+Contributors to Apache SIS project should switch to the current development branch before
submitting patches:
 
     :::bash
     cd sis
     git checkout geoapi-4.0
 
-
-
-History    {#history}
-=====================
-
-All developments and tags prior Apache SIS 1.0 were done on a [Subversion][subversion] repository
-and can be [browsed online][viewvc].
-Tags for Apache SIS versions 0.1 to 0.8 should be fetched from the [SVN repository][svn-sis-tags].
-The development branches on that repository were named `JDK8`, `JDK7`, `JDK6` and `trunk`.
-
-
-
-Opening Apache SIS in an IDE    {#ide}
-======================================
-
-Different SIS branches are available depending on the GeoAPI versions.
-The alternatives are listed in [above section](#development).
-One thing to take in consideration can be summarized as below:
-
-   * There is no need to build GeoAPI prior working on SIS master.
-   * When working on a SIS development branch, we recommend to build GeoAPI 4.0-SNAPSHOT
locally first.
-
-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:
-
-    :::bash
-    git clone https://gitbox.apache.org/repos/asf/sis.git
-    cd sis
-    mvn install
+Note that those `geoapi-xxx` branches may disappear or be replaced by something else
+after OGC releases the corresponding GeoAPI versions.
 
 
 
-NetBeans    {#netbeans}
------------------------
+Opening Apache SIS in NetBeans    {#netbeans}
+=============================================
 
-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 `ide-project/NetBeans` directory.
+Apache SIS build is defined by Maven `pom.xml` 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 `ide-project/NetBeans` directory.
 This project will fetch dependencies directly from the `.m2/repository` local directory,
 and will refer to the resources `*.utf` files compiled by Maven in the `sis-*/target` directories.
-Consequently it is important to run `mvn install` before opening the project
-and after any change in the project dependencies or in the resources.
+Consequently it is important to run `mvn install` manually (on the command line)
+before opening the project and after any change in the project dependencies or in the resources.
 
 Users can customize their project configuration by editing the `ide-project/NetBeans/nbproject/private/config.properties`
file.
 The `private` directory is excluded by the versioning system, so it okay to put user-specific
information there.
@@ -224,18 +231,13 @@ one can use:
 
 
 
-Eclipse    {#eclipse}
----------------------
-
-Execute the `svn checkout` to `mvn install` commands documented in the beginning of this
section,
-then execute the following steps:
+History    {#history}
+=====================
 
-   * Execute `mvn eclipse:eclipse` on the command line.
-   * Open Eclipse in a new workspace.
-   * Go to _Eclipse_ → _Preferences_ → _General_ → _Workspace_.
-   * Change _Text file encoding_ to _Other: UTF-8_, press _Apply_, then _Ok_.
-   * Go to _File_ → _Import_ → _General_ → _Existing Projects in Workspace_.
-   * Choose the `sis` directory and import.
+All developments and tags prior Apache SIS 1.0 were done on a [Subversion][subversion] repository
+and can be [browsed online][viewvc].
+Tags for Apache SIS versions 0.1 to 0.8 should be fetched from the [SVN repository][svn-sis-tags].
+The development branches on that repository were named `JDK8`, `JDK7`, `JDK6` and `trunk`.
 
 
 



Mime
View raw message