You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/08/15 09:32:36 UTC
[sis] 06/08: Post-move cleanup: - Reduce `pom.xml` file. - Adapt launch scripts for JPMS. - Ignore a test that we can not execute anymore (for now).
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit b8eeb4789171cdef2e782b684fe52c178947079e
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Tue Jul 25 16:52:17 2023 +0200
Post-move cleanup:
- Reduce `pom.xml` file.
- Adapt launch scripts for JPMS.
- Ignore a test that we can not execute anymore (for now).
---
...g.opengis.referencing.operation.OperationMethod | 3 -
.../test/org/apache/sis/io/wkt/WKTParserTest.java | 3 +
optional/src/org.apache.sis.gui/bundle/bin/sis | 6 +-
optional/src/org.apache.sis.gui/bundle/bin/sis.bat | 6 +-
optional/src/org.apache.sis.gui/bundle/bin/sisfx | 7 +-
.../src/org.apache.sis.gui/bundle/bin/sisfx.bat | 7 +-
parent/logging.properties | 2 +-
parent/pom.xml | 590 ---------------------
8 files changed, 18 insertions(+), 606 deletions(-)
diff --git a/endorsed/src/org.apache.sis.referencing/test/META-INF/services/org.opengis.referencing.operation.OperationMethod b/endorsed/src/org.apache.sis.referencing/test/META-INF/services/org.opengis.referencing.operation.OperationMethod
deleted file mode 100644
index 2fcd0f566f..0000000000
--- a/endorsed/src/org.apache.sis.referencing/test/META-INF/services/org.opengis.referencing.operation.OperationMethod
+++ /dev/null
@@ -1,3 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements;
-# and to You under the Apache License, Version 2.0.
-org.apache.sis.internal.referencing.provider.SeismicBinGridMock
diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/io/wkt/WKTParserTest.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/io/wkt/WKTParserTest.java
index 317300187d..f976cb2cb7 100644
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/io/wkt/WKTParserTest.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/io/wkt/WKTParserTest.java
@@ -569,9 +569,12 @@ public final class WKTParserTest extends CRSParserTest {
* Completes the GeoAPI tests with a check of axis names.
*
* @throws FactoryException if an error occurred during the WKT parsing.
+ *
+ * @see org.apache.sis.internal.referencing.provider.SeismicBinGridMock
*/
@Test
@Override
+ @org.junit.Ignore("Pending implementation of EPSG:1049 — Seismic bin grid.")
public void testDerivedEngineeringFromProjected() throws FactoryException {
super.testDerivedEngineeringFromProjected();
final CoordinateSystem cs = object.getCoordinateSystem();
diff --git a/optional/src/org.apache.sis.gui/bundle/bin/sis b/optional/src/org.apache.sis.gui/bundle/bin/sis
index 111845cfd5..9e5dcc44fd 100755
--- a/optional/src/org.apache.sis.gui/bundle/bin/sis
+++ b/optional/src/org.apache.sis.gui/bundle/bin/sis
@@ -23,8 +23,10 @@ SIS_DATA="${SIS_DATA:-$BASE_DIR/data}"
export SIS_DATA
# Execute SIS with any optional JAR that the user may put in the 'lib' directory.
-java -classpath "$BASE_DIR/lib/sis-console-2.0-SNAPSHOT.jar" \
+java --module-path "$BASE_DIR/lib" \
+ --limit-modules org.apache.sis.console \
-Djava.util.logging.config.class="org.apache.sis.util.logging.Initializer" \
-Djava.util.logging.config.file="$BASE_DIR/conf/logging.properties" \
-Dderby.stream.error.file="$BASE_DIR/log/derby.log" \
- $JAVA_OPTS org.apache.sis.console.Command $SIS_OPTS "$@"
+ $JAVA_OPTS --module org.apache.sis.console/org.apache.sis.console.Command \
+ $SIS_OPTS "$@"
diff --git a/optional/src/org.apache.sis.gui/bundle/bin/sis.bat b/optional/src/org.apache.sis.gui/bundle/bin/sis.bat
index 1cbf1ea342..07694b82a4 100644
--- a/optional/src/org.apache.sis.gui/bundle/bin/sis.bat
+++ b/optional/src/org.apache.sis.gui/bundle/bin/sis.bat
@@ -20,8 +20,10 @@ SET BASE_DIR=%~dp0\..
SET SIS_DATA=%BASE_DIR%\data
REM Execute SIS with any optional JAR that the user may put in the 'lib' directory.
-java -classpath "%BASE_DIR%\lib\sis-console-2.0-SNAPSHOT.jar"^
+java --module-path "%BASE_DIR%\lib"^
+ --limit-modules org.apache.sis.console^
-Djava.util.logging.config.class=org.apache.sis.util.logging.Initializer^
-Djava.util.logging.config.file="%BASE_DIR%\conf\logging.properties"^
-Dderby.stream.error.file="%BASE_DIR%\log\derby.log"^
- %JAVA_OPTS% org.apache.sis.console.Command %SIS_OPTS% %*
+ %JAVA_OPTS% --module org.apache.sis.console/org.apache.sis.console.Command^
+ %SIS_OPTS% %*
diff --git a/optional/src/org.apache.sis.gui/bundle/bin/sisfx b/optional/src/org.apache.sis.gui/bundle/bin/sisfx
index 14fe48096a..0e4b5d2015 100755
--- a/optional/src/org.apache.sis.gui/bundle/bin/sisfx
+++ b/optional/src/org.apache.sis.gui/bundle/bin/sisfx
@@ -36,10 +36,9 @@ fi
# Execute SIS with any optional JAR that the user may put in the `lib` directory.
java -splash:"$BASE_DIR/lib/logo.jpg" \
- --add-modules javafx.graphics,javafx.controls,javafx.web \
- --module-path "$PATH_TO_FX" \
- --class-path "$BASE_DIR/lib/sis-javafx-2.0-SNAPSHOT.jar" \
+ --module-path "$PATH_TO_FX:$BASE_DIR/lib" \
-Djava.util.logging.config.class="org.apache.sis.util.logging.Initializer" \
-Djava.util.logging.config.file="$BASE_DIR/conf/logging.properties" \
-Dderby.stream.error.file="$BASE_DIR/log/derby.log" \
- $JAVA_OPTS org.apache.sis.gui.DataViewer $SIS_OPTS "$@"
+ $JAVA_OPTS --module org.apache.sis.gui/org.apache.sis.gui.DataViewer \
+ $SIS_OPTS "$@"
diff --git a/optional/src/org.apache.sis.gui/bundle/bin/sisfx.bat b/optional/src/org.apache.sis.gui/bundle/bin/sisfx.bat
index 1c74e786e8..8b628c6679 100644
--- a/optional/src/org.apache.sis.gui/bundle/bin/sisfx.bat
+++ b/optional/src/org.apache.sis.gui/bundle/bin/sisfx.bat
@@ -27,10 +27,9 @@ IF "%PATH_TO_FX%"=="" (
)
java -splash:"%BASE_DIR%\lib\logo.jpg"^
- --add-modules javafx.graphics,javafx.controls,javafx.web^
- --module-path "%PATH_TO_FX%"^
- --class-path "%BASE_DIR%\lib\sis-javafx-2.0-SNAPSHOT.jar"^
+ --module-path "%PATH_TO_FX%;%BASE_DIR%\lib"^
-Djava.util.logging.config.class=org.apache.sis.util.logging.Initializer^
-Djava.util.logging.config.file="%BASE_DIR%\conf\logging.properties"^
-Dderby.stream.error.file="%BASE_DIR%\log\derby.log"^
- %JAVA_OPTS% org.apache.sis.gui.DataViewer %SIS_OPTS%
+ %JAVA_OPTS% --module org.apache.sis.gui/org.apache.sis.gui.DataViewer^
+ %SIS_OPTS%
diff --git a/parent/logging.properties b/parent/logging.properties
index e8c8ef7687..c55f1c22c0 100644
--- a/parent/logging.properties
+++ b/parent/logging.properties
@@ -8,7 +8,7 @@
# "$SIS_SOURCE" by the root directory of Apache SIS project and "/" by the #
# platform-specific path separator). #
# #
-# -Djava.util.logging.config.file=$SIS_SOURCE/src/main/config/logging.properties #
+# -Djava.util.logging.config.file=$SIS_SOURCE/parent/logging.properties #
# #
##################################################################################
diff --git a/parent/pom.xml b/parent/pom.xml
index 637d3df5bc..8c3bcf6104 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -19,18 +19,6 @@
under the License.
-->
-<!-- =============================================================================================
- Maven project configuration file
- http://maven.apache.org/
-
- Apache SIS build requires Java 18 or higher, but compiled files can be executed on Java 11.
- Setting the SIS_DATA environment variable before build is optional but recommended.
-
- Build development snapshot: mvn clean install
- Include EPSG database: mvn install -Pnon-free
- Include JavaFX dependency (GPL): mvn install -Pjavafx
- Run more extensive tests: mvn test -Dorg.apache.sis.test.extensive=true
- ============================================================================================= -->
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
@@ -433,591 +421,13 @@
</contributor>
</contributors>
-
-
- <!-- ==============================================================
- Dependency management. If a POM in a child module declares
- one of those dependencies, then it will use the version
- specified here. Otherwise, those dependencies are ignored.
-
- See https://search.maven.org/ for latest version numbers.
- ============================================================== -->
- <dependencyManagement>
- <dependencies>
- <!-- Import all dependency management used by the GeAPI project.
- This include JUnit and units of measurement. -->
- <dependency>
- <groupId>org.opengis</groupId>
- <artifactId>geoapi-parent</artifactId>
- <version>${geoapi.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opengis</groupId>
- <artifactId>geoapi-pending</artifactId>
- <version>${geoapi.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opengis</groupId>
- <artifactId>geoapi-conformance</artifactId>
- <version>${geoapi.version}</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Libraries (language, XML, network) -->
- <dependency>
- <groupId>com.esri.geometry</groupId>
- <artifactId>esri-geometry-api</artifactId>
- <version>2.2.4</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.locationtech.jts</groupId>
- <artifactId>jts-core</artifactId>
- <version>1.19.0</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>gov.nist.math</groupId>
- <artifactId>jama</artifactId>
- <version>1.0.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sf.geographiclib</groupId>
- <artifactId>GeographicLib-Java</artifactId>
- <version>2.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jakarta.xml.bind</groupId>
- <artifactId>jakarta.xml.bind-api</artifactId>
- <version>4.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jaxb</groupId>
- <artifactId>jaxb-runtime</artifactId>
- <version>4.0.2</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Databases -->
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>10.15.2.0</version> <!-- 10.15 is the last series compatible with JDK 11. -->
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derbytools</artifactId>
- <version>10.15.2.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>2.7.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>2.2.220</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.postgresql</groupId>
- <artifactId>postgresql</artifactId>
- <version>42.6.0</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Optional dependencies -->
- <dependency>
- <groupId>edu.ucar</groupId>
- <artifactId>cdm-core</artifactId>
- <version>5.5.3</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>1.7.28</version> <!-- Must matches the version used by netCDF. -->
- </dependency>
- </dependencies>
- </dependencyManagement>
-
-
-
- <!-- ===========================================================
- Dependencies to be inherited by all modules.
- =========================================================== -->
- <dependencies>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-
-
<!-- ===================================================================
Properties used in dependency management and build configuration.
- The last properties in this list depend on the Apache SIS branch.
=================================================================== -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <website.encoding>UTF-8</website.encoding>
- <website.locale>en</website.locale>
-
- <!-- Following properties are branch-specific -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
- <sis.plugin.version>${project.version}</sis.plugin.version>
- <sis.non-free.version>1.3</sis.non-free.version> <!-- Used only if "non-free" profile is activated. -->
- <javafx.version>20.0.1</javafx.version> <!-- Used only if "javafx" profile is activated. -->
- <geoapi.version>4.0-SNAPSHOT</geoapi.version>
</properties>
- <profiles>
- <profile>
- <id>apache-release</id>
- <properties>
- <maven.compiler.debug>false</maven.compiler.debug> <!-- For smaller JAR files size. -->
- <maven.compiler.optimize>true</maven.compiler.optimize>
- <org.apache.sis.test.extensive>true</org.apache.sis.test.extensive>
- </properties>
- <build>
- <plugins>
- <plugin>
- <!-- Configuration of Javadoc attached to Maven artifacts (not aggregated javadoc). -->
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <nonavbar>true</nonavbar> <!-- Navigation bar not used when Javadoc is browsed from IDE. -->
- <doclint>-reference</doclint> <!-- Cross-modules references are valid only in aggregated javadoc. -->
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <!-- ===================================================================
- If the user has not set the SIS_DATA environment variable,
- set a default value where we can create a minimalist database.
- =================================================================== -->
- <profile>
- <id>sis-data</id>
- <activation>
- <property>
- <name>!env.SIS_DATA</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <environmentVariables>
- <SIS_DATA>${session.executionRootDirectory}/target</SIS_DATA>
- </environmentVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-
-
- <!-- ==============================================================
- Build configuration.
- See http://maven.apache.org/plugins/ for a plugins list.
- ============================================================== -->
- <build>
- <plugins>
- <!-- JDK requirement for building (not necessarily for running) -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>3.3.0</version>
- <executions>
- <execution>
- <id>enforce</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireJavaVersion>
- <version>18</version>
- </requireJavaVersion>
- </rules>
- </configuration>
- </execution>
- <execution>
- <!-- Metadata (including timestamp) considered more valuable than bit-by-bit reproductive build. -->
- <id>enforce-output-timestamp-property</id>
- <configuration>
- <skip>true</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- Cleanup local repository by removing Apache SIS snapshots -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.4.0</version>
- <executions>
- <execution>
- <id>remove-old-artifacts</id>
- <goals>
- <goal>remove-project-artifact</goal>
- </goals>
- <configuration>
- <removeAll>false</removeAll> <!-- Remove only snapshots of this project version. -->
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- Compile -->
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.11.0</version>
- <configuration>
- <release>${maven.compiler.target}</release>
- <encoding>${project.build.sourceEncoding}</encoding>
- <useIncrementalCompilation>false</useIncrementalCompilation> <!-- https://issues.apache.org/jira/browse/MCOMPILER-209 -->
- <compilerArgs>
- <arg>-Xlint:all</arg>
- <arg>-Xdoclint:syntax,html,missing/protected,accessibility/protected</arg>
- </compilerArgs>
- </configuration>
- </plugin>
-
- <!-- Execute test suites instead of individual test cases. -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>3.1.2</version>
- <configuration>
- <trimStackTrace>false</trimStackTrace>
- <systemProperties>
- <property>
- <name>derby.stream.error.file</name>
- <value>${project.build.directory}/derby.log</value>
- </property>
- </systemProperties>
- </configuration>
- </plugin>
-
- <!-- JAR packaging
- Note: <index> and <addClasspath> are mutually exclusive: when both are enabled,
- the META-INF/INDEX.LIST file has precedence over the "Class-Path" entry in the
- META-INF/MANIFEST.MF file, thus causing java.lang.NoClassDefFoundError if the
- INDEX.LIST file is incomplete (which seem to happen in practice). -->
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.3.0</version>
- <configuration>
- <archive>
- <addMavenDescriptor>false</addMavenDescriptor>
- <index>false</index>
- <manifest>
- <addClasspath>true</addClasspath>
- <classpathLayoutType>simple</classpathLayoutType>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Built-On>${maven.build.timestamp}</Built-On>
- <Specification-Title>GeoAPI</Specification-Title>
- <Specification-Version>${geoapi.version}</Specification-Version>
- <Specification-Vendor>Open Geospatial Consortium</Specification-Vendor>
- <Implementation-URL>http://sis.apache.org/</Implementation-URL>
- </manifestEntries>
- </archive>
- <skipIfEmpty>true</skipIfEmpty>
- </configuration>
- </plugin>
-
- <!-- Set "*-source-release.zip" filename prefix to "sis-*" instead of "parent-*" -->
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>3.6.0</version>
- <executions>
- <execution>
- <id>source-release-assembly</id>
- <configuration>
- <finalName>sis-${project.version}</finalName>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- Checkstype configuration
- Legal note: Checkstyle is under LGPL license, but it is okay to use it only for
- the build if it is downloaded by Maven (not included in Apache SIS distribution).
- See http://www.apache.org/legal/resolved.html#prohibited
- -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <version>3.3.0</version>
- <executions>
- <execution>
- <goals>
- <goal>check</goal>
- </goals>
- <configuration>
- <skip>${skipTests}</skip> <!-- When skipping tests, skip also checkstyle verification. -->
- <excludes>**/module-info.java</excludes> <!-- Avoid "no viable alternative at input 'module'" error. -->
- <encoding>${project.build.sourceEncoding}</encoding>
- <consoleOutput>true</consoleOutput>
- <checkstyleRules>
- <module name="Checker">
- <!--
- Whether whitespaces should be present before or after various kind of tokens,
- and where line wraps are allowed or mandated.
- -->
- <module name="FileTabCharacter"/> <!-- No tab characters in the file. -->
- <module name="NewlineAtEndOfFile"/> <!-- Newline at the end of each file. -->
- <module name="TreeWalker">
- <module name="RegexpSinglelineJava">
- <property name="format" value="\s+$"/>
- <property name="message" value="Trailing spaces not allowed."/>
- </module>
- <module name="NoLineWrap"/> <!-- Imports and package statements are not line-wrapped. -->
- <module name="RedundantImport"/> <!-- No redundant import statements. -->
- <module name="GenericWhitespace"/> <!-- Whitespace around the Generic tokens follow typical convention. -->
- <module name="TypecastParenPad"/> <!-- No space inside parentheses for typecasts. -->
- <module name="SeparatorWrap"> <!-- No line wrapping before comma. -->
- <property name="tokens" value="COMMA"/>
- </module>
- <module name="WhitespaceAfter"> <!-- Checks that a token is followed by whitespace. -->
- <property name="tokens" value="TYPECAST, LITERAL_IF, LITERAL_ELSE, LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, DO_WHILE"/>
- </module>
- <module name="NoWhitespaceAfter"> <!-- No whitespace after "++" in ++x, etc. -->
- <property name="tokens" value="INC, DEC, BNOT, LNOT"/>
- </module>
- <module name="NoWhitespaceBefore"> <!-- No whitespace before "++" in x++, etc. -->
- <property name="tokens" value="COMMA, POST_INC, POST_DEC, ELLIPSIS"/>
- </module>
- <module name="WhitespaceAround">
- <property name="tokens" value="
- MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN, MOD,
- SL, SL_ASSIGN, SR, SR_ASSIGN, BSR, BSR_ASSIGN,
- BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BXOR, BXOR_ASSIGN,
- TYPE_EXTENSION_AND, LAND, LOR, QUESTION, LAMBDA,
- COLON, DO_WHILE, LITERAL_DO, LITERAL_WHILE, LITERAL_FOR,
- LITERAL_ELSE, LITERAL_SWITCH,
- LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY,
- LITERAL_SYNCHRONIZED"/>
- <property name="allowEmptyConstructors" value="true"/>
- <property name="allowEmptyMethods" value="true"/>
- <property name="allowEmptyTypes" value="true"/>
- <property name="allowEmptyLoops" value="true"/>
- <property name="allowEmptyLambdas" value="true"/>
- <property name="allowEmptyCatches" value="true"/>
- </module>
- <!--
- Code formatting on other aspects than whitespaces. When there is different ways to express
- the same thing (e.g. Java-style versus C-style of array declarations), the following rules
- enforce one specific convention.
- -->
- <module name="UpperEll"/> <!-- Upper-case 'L' suffix for longs, not 'l'. -->
- <module name="ArrayTypeStyle"/> <!-- Java-style arrays, not C-style. -->
- <module name="ModifierOrder"/> <!-- Order of public, static, etc. keywords. -->
- <module name="AvoidEscapedUnicodeCharacters">
- <property name="allowEscapesForControlCharacters" value="true"/>
- <property name="allowNonPrintableEscapes" value="true"/>
- <property name="allowIfAllCharactersEscaped" value="true"/>
- <property name="allowByTailComment" value="true"/>
- </module>
- <!--
- Programming language constructs: number of elements, modifiers, etc.
- -->
- <module name="OuterTypeNumber"/> <!-- Only one outer type per file. -->
- <module name="OuterTypeFilename"/> <!-- Outer type name and file name shall match. -->
- <module name="InterfaceIsType"/> <!-- Do not allow interface without methods. -->
- <module name="FinalClass"/> <!-- Class having only private constructors should be final. -->
- <module name="PackageDeclaration"/> <!-- All classes shall be in a package. -->
- <module name="HideUtilityClassConstructor"/> <!-- No public constructor in utility classes. -->
- <module name="MissingOverride"/> <!-- @Override annotation everywhere applicable. -->
- <module name="PackageAnnotation"/> <!-- Package annotations shall be used only in package-info files. -->
- <module name="EmptyCatchBlock"/> <!-- No empty catch unless there is a comment inside. -->
- <module name="CovariantEquals"/> <!-- No equals(Foo), unless equals(Object) also exists. -->
- <module name="ExplicitInitialization"/> <!-- No unnecessary initialization to 0 or null. -->
- <module name="SimplifyBooleanReturn"/> <!-- No if (boolean) return true; else return false. -->
- <module name="RedundantModifier"> <!-- No modifiers that were implicit. -->
- <property name="tokens" value="VARIABLE_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, CLASS_DEF, ENUM_DEF, RESOURCE"/>
- </module>
- </module>
- <module name="UniqueProperties"/> <!-- No duplicated keys in *.properties files. -->
- </module>
- </checkstyleRules>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- JavaDoc configuration. -->
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>3.5.0</version>
- <configuration>
- <source>16</source> <!-- Enables javadoc to handle language constructs present in target JDK. -->
- <encoding>${project.build.sourceEncoding}</encoding> <!-- Encoding of Java source file. -->
- <docencoding>${website.encoding}</docencoding> <!-- Encoding of the generated HTML files. -->
- <charset>${website.encoding}</charset> <!-- Encoding to declare in the HTML META tag. -->
- <locale>${website.locale}</locale> <!-- Locale for navigation bar, help file contents, etc. -->
- <author>false</author> <!-- Excludes the authors text in the generated docs. -->
- <version>false</version> <!-- Excludes the version text in the generated docs. -->
- <noqualifier>all</noqualifier> <!-- Omit qualifying package name before class names in output. -->
- <quiet>true</quiet> <!-- Shuts off non-error and non-warning messages. -->
- <keywords>true</keywords> <!-- Adds HTML meta keyword tags to the generated files. -->
- <breakiterator>true</breakiterator> <!-- Better boundary detection when determining the end of the first sentence. -->
- <validateLinks>true</validateLinks> <!-- Validates content of package-list resources. -->
- <detectJavaApiLink>false</detectJavaApiLink> <!-- Let us declare link to Java API. -->
- <links>
- <link>https://docs.oracle.com/en/java/javase/11/docs/api</link>
- <link>http://unitsofmeasurement.github.io/unit-api/site/apidocs</link>
- <link>http://www.geoapi.org/snapshot/javadoc</link>
- </links>
-
- <additionalOptions>
- <additionalOption>--add-stylesheet "${maven.multiModuleProjectDirectory}/src/main/javadoc/sis.css"</additionalOption>
- </additionalOptions>
-
- <!-- Separates packages on the overview page into the groups specified. -->
- <groups>
- <group>
- <title>Testing tools</title> <!-- Exists in test javadoc only. -->
- <packages>org.apache.sis.test*</packages>
- </group>
- <group>
- <title>Applications</title>
- <packages>org.apache.sis.gui*:org.apache.sis.console*:org.apache.sis.services*:org.apache.sis.openoffice*</packages>
- </group>
- <group>
- <title>Data storage</title>
- <packages>org.apache.sis.storage*:org.apache.sis.index*</packages>
- </group>
- <group>
- <title>Coverage and raster</title>
- <packages>org.apache.sis.coverage*:org.apache.sis.image*</packages>
- </group>
- <group>
- <title>Feature and Geometry</title>
- <packages>org.apache.sis.feature*:org.apache.sis.geometry*</packages>
- </group>
- <group>
- <title>Referencing</title>
- <packages>org.apache.sis.referencing*:org.apache.sis.parameter*:org.apache.sis.distance*</packages>
- </group>
- <group>
- <title>Metadata</title>
- <packages>org.apache.sis.metadata*:org.apache.sis.io.wkt</packages>
- </group>
- <group>
- <title>Utilities</title>
- <packages>org.apache.sis.math*:org.apache.sis.measure*:org.apache.sis.util*:org.apache.sis.io*:org.apache.sis.xml*:org.apache.sis.setup*</packages>
- </group>
- <group>
- <title>Profiles</title>
- <packages>org.apache.sis.profile*</packages>
- </group>
- </groups>
-
- <!-- Internal packages to hide from javadoc. -->
- <excludePackageNames>org.apache.sis.internal.*:org.apache.sis.util.resources:org.apache.sis.referencing.operation.provider</excludePackageNames>
-
- <!-- Custom taglets, some of them implemented in Java. -->
- <tags>
- <tag><placement>X</placement> <name>category</name> <head>Category:</head></tag>
- <tag><placement>a</placement> <name>todo</name> <head>TODO:</head></tag>
- </tags>
- <taglets>
- <taglet><tagletClass>org.apache.sis.internal.doclet.Include</tagletClass></taglet>
- </taglets>
- <doclet>org.apache.sis.internal.doclet.Doclet</doclet>
- <tagletArtifact>
- <groupId>org.apache.sis.core</groupId>
- <artifactId>sis-build-helper</artifactId>
- <version>${sis.plugin.version}</version>
- </tagletArtifact>
- <docletArtifact>
- <groupId>org.apache.sis.core</groupId>
- <artifactId>sis-build-helper</artifactId>
- <version>${sis.plugin.version}</version>
- </docletArtifact>
- </configuration>
- </plugin>
-
- <!-- Create web site. The Maven generated site is not deployed at the URL
- declared in this pom.xml (namely http://sis.apache.org). Consequently,
- we disable links relativization for avoiding confusing behavior. -->
- <plugin>
- <artifactId>maven-site-plugin</artifactId>
- <configuration>
- <locales>${website.locale}</locales>
- <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
- <outputEncoding>${website.encoding}</outputEncoding>
- <relativizeDecorationLinks>false</relativizeDecorationLinks>
- </configuration>
- </plugin>
- </plugins>
-
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>3.1.1</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
-
-
- <!-- ==============================================================
- Additional repositories from which to download artifacts.
- The parent pom.xml already declares the apache.snapshots
- repository for library artifacts. But we also need it for
- Maven plugins in order to download sis-build-helper when
- the user did not built it himself.
- ============================================================== -->
- <pluginRepositories>
- <pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>https://repository.apache.org/snapshots</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- </pluginRepository>
- </pluginRepositories>
-
-
-
- <!-- ==============================================================
- Group of modules to build in approximate dependency order.
- ============================================================== -->
- <modules>
- <module>core</module>
- <module>cloud</module>
- <module>storage</module>
- <module>application</module>
- <module>profiles</module>
- </modules>
-
</project>