From 91cf1a8bd64f4f14598046cd35b3d2154039d9ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jari-Matti=20M=C3=A4kel=C3=A4?= <jmjm@iki.fi> Date: Thu, 4 Jun 2020 07:04:08 +0300 Subject: [PATCH] Support JPMS --- Doxyfile | 2 +- README.md | 22 +++++++- pom.xml | 53 ++++--------------- .../utu/tech/{graphics => spatial}/Point.java | 2 +- .../tech/{graphics => spatial}/Point2D.java | 2 +- .../utu/tech/{graphics => spatial}/Rect.java | 2 +- .../tech/{graphics => spatial}/Region.java | 2 +- .../{graphics => }/spatial/rtree/Leaf.java | 4 +- .../spatial/rtree/MultiLeaf.java | 4 +- .../{graphics => }/spatial/rtree/Node.java | 6 +-- .../{graphics => }/spatial/rtree/Parent.java | 8 +-- .../{graphics => }/spatial/rtree/Root.java | 4 +- src/main/java/module-info.java | 4 ++ .../spatial/rtree/RTreeTest.java | 4 +- src/test/resources/module-info.test | 11 ++++ 15 files changed, 65 insertions(+), 65 deletions(-) rename src/main/java/fi/utu/tech/{graphics => spatial}/Point.java (98%) rename src/main/java/fi/utu/tech/{graphics => spatial}/Point2D.java (98%) rename src/main/java/fi/utu/tech/{graphics => spatial}/Rect.java (96%) rename src/main/java/fi/utu/tech/{graphics => spatial}/Region.java (99%) rename src/main/java/fi/utu/tech/{graphics => }/spatial/rtree/Leaf.java (93%) rename src/main/java/fi/utu/tech/{graphics => }/spatial/rtree/MultiLeaf.java (95%) rename src/main/java/fi/utu/tech/{graphics => }/spatial/rtree/Node.java (95%) rename src/main/java/fi/utu/tech/{graphics => }/spatial/rtree/Parent.java (96%) rename src/main/java/fi/utu/tech/{graphics => }/spatial/rtree/Root.java (93%) create mode 100644 src/main/java/module-info.java rename src/test/java/fi/utu/tech/{graphics => }/spatial/rtree/RTreeTest.java (77%) create mode 100644 src/test/resources/module-info.test diff --git a/Doxyfile b/Doxyfile index 73a9738..59aaac4 100644 --- a/Doxyfile +++ b/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = spatial-data # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.0 +PROJECT_NUMBER = 1.0.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/README.md b/README.md index eca4894..569bfb8 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,29 @@ $ git clone https://gitlab.utu.fi/tech/education/gui/spatial-data $ cd spatial-data -$ mvn package +$ mvn install ``` ## Using +First, add the library as a Maven dependency: + +```xml +<project> + <properties> + <spatial.version>1.0.1</spatial.version> + </properties> + + <dependencies> + <dependency> + <groupId>fi.utu.tech</groupId> + <artifactId>spatial-data</artifactId> + <version>${spatial.version}</version> + </dependency> + </dependencies> +</project> +``` + The unit test folders contains examples of use and the expected output of operations. @@ -35,4 +53,4 @@ The maven script will also generate standard javadoc apidocs in target/apidocs. ## External links -* https://en.wikipedia.org/wiki/R-tree \ No newline at end of file +* https://en.wikipedia.org/wiki/R-tree diff --git a/pom.xml b/pom.xml index 7ac45ac..b63e721 100644 --- a/pom.xml +++ b/pom.xml @@ -2,24 +2,21 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <!-- the three parts of the artifact name --> <groupId>fi.utu.tech</groupId> <artifactId>spatial-data</artifactId> - <version>1.0</version> + <version>1.0.2</version> - <!-- additional information about the project --> <name>Spatial data library</name> - <url>http://gitlab.utu.fi</url> + <url>https://gitlab.utu.fi/tech/education/gui/spatial-data</url> <packaging>jar</packaging> - <!-- HINT: More configuration here! --> <properties> <jdk.version>11</jdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <jqwik.version>1.2.0</jqwik.version> - <junit.version>5.5.2</junit.version> - <junitplatform.version>1.5.2</junitplatform.version> + <jqwik.version>1.3.0</jqwik.version> + <junit.version>5.6.2</junit.version> + <junitplatform.version>1.6.2</junitplatform.version> </properties> <repositories> @@ -36,7 +33,6 @@ <name>jcenter</name> <url>https://jcenter.bintray.com/</url> </repository> - <!-- UTU repository --> <repository> <id>ftdev</id> <name>ftdev</name> @@ -74,19 +70,7 @@ <artifactId>jqwik</artifactId> <version>${jqwik.version}</version> <scope>test</scope> - </dependency><!-- - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter-migrationsupport</artifactId> - <version>${junit.version}</version> - <scope>test</scope> </dependency> - <dependency> - <groupId>org.junit.platform</groupId> - <artifactId>junit-platform-runner</artifactId> - <version>${junitplatform.version}</version> - <scope>test</scope> - </dependency> --> </dependencies> <build> @@ -96,7 +80,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> - <version>3.1.2</version> + <version>3.2.0</version> <configuration> <!-- DO NOT include log4j.properties file in your Jar --> <excludes> @@ -105,17 +89,6 @@ </configuration> </plugin> - <!-- download source code in Eclipse, best practice --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-eclipse-plugin</artifactId> - <version>2.10</version> - <configuration> - <downloadSources>true</downloadSources> - <downloadJavadocs>false</downloadJavadocs> - </configuration> - </plugin> - <!-- JDK source/target versions --> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -131,7 +104,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> - <version>3.1.0</version> + <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> @@ -145,7 +118,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>3.1.1</version> + <version>3.2.0</version> <executions> <execution> <id>attach-javadocs</id> @@ -164,11 +137,10 @@ </plugin> <!-- JUnit & JQwik test integration --> - <plugin> <groupId>de.sormuras.junit</groupId> <artifactId>junit-platform-maven-plugin</artifactId> - <version>1.0.0-M5</version> + <version>1.1.0</version> <extensions>true</extensions> <configuration> <executor>JAVA</executor> @@ -178,15 +150,10 @@ </plugins> <extensions> <!-- Enables the use of SSH for deployments --> - <extension> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-ssh-external</artifactId> - <version>3.3.3</version> - </extension> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> - <version>3.3.3</version> + <version>3.4.1</version> </extension> </extensions> </build> diff --git a/src/main/java/fi/utu/tech/graphics/Point.java b/src/main/java/fi/utu/tech/spatial/Point.java similarity index 98% rename from src/main/java/fi/utu/tech/graphics/Point.java rename to src/main/java/fi/utu/tech/spatial/Point.java index ff8e0ab..b135d0c 100644 --- a/src/main/java/fi/utu/tech/graphics/Point.java +++ b/src/main/java/fi/utu/tech/spatial/Point.java @@ -1,4 +1,4 @@ -package fi.utu.tech.graphics; +package fi.utu.tech.spatial; import java.io.Serializable; import java.util.Objects; diff --git a/src/main/java/fi/utu/tech/graphics/Point2D.java b/src/main/java/fi/utu/tech/spatial/Point2D.java similarity index 98% rename from src/main/java/fi/utu/tech/graphics/Point2D.java rename to src/main/java/fi/utu/tech/spatial/Point2D.java index ed70ec4..6a1d107 100644 --- a/src/main/java/fi/utu/tech/graphics/Point2D.java +++ b/src/main/java/fi/utu/tech/spatial/Point2D.java @@ -1,4 +1,4 @@ -package fi.utu.tech.graphics; +package fi.utu.tech.spatial; import java.io.Serializable; import java.util.Objects; diff --git a/src/main/java/fi/utu/tech/graphics/Rect.java b/src/main/java/fi/utu/tech/spatial/Rect.java similarity index 96% rename from src/main/java/fi/utu/tech/graphics/Rect.java rename to src/main/java/fi/utu/tech/spatial/Rect.java index 3588de5..1e1ab7e 100644 --- a/src/main/java/fi/utu/tech/graphics/Rect.java +++ b/src/main/java/fi/utu/tech/spatial/Rect.java @@ -1,4 +1,4 @@ -package fi.utu.tech.graphics; +package fi.utu.tech.spatial; import java.util.Objects; diff --git a/src/main/java/fi/utu/tech/graphics/Region.java b/src/main/java/fi/utu/tech/spatial/Region.java similarity index 99% rename from src/main/java/fi/utu/tech/graphics/Region.java rename to src/main/java/fi/utu/tech/spatial/Region.java index 1218f11..0987f72 100644 --- a/src/main/java/fi/utu/tech/graphics/Region.java +++ b/src/main/java/fi/utu/tech/spatial/Region.java @@ -1,4 +1,4 @@ -package fi.utu.tech.graphics; +package fi.utu.tech.spatial; import java.io.Serializable; import java.util.Collection; diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Leaf.java b/src/main/java/fi/utu/tech/spatial/rtree/Leaf.java similarity index 93% rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Leaf.java rename to src/main/java/fi/utu/tech/spatial/rtree/Leaf.java index 1efc922..43e1106 100644 --- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Leaf.java +++ b/src/main/java/fi/utu/tech/spatial/rtree/Leaf.java @@ -1,6 +1,6 @@ -package fi.utu.tech.graphics.spatial.rtree; +package fi.utu.tech.spatial.rtree; -import fi.utu.tech.graphics.Region; +import fi.utu.tech.spatial.Region; import java.util.Collection; import java.util.Set; import java.util.function.Consumer; diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/MultiLeaf.java b/src/main/java/fi/utu/tech/spatial/rtree/MultiLeaf.java similarity index 95% rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/MultiLeaf.java rename to src/main/java/fi/utu/tech/spatial/rtree/MultiLeaf.java index 021595e..86cbab0 100644 --- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/MultiLeaf.java +++ b/src/main/java/fi/utu/tech/spatial/rtree/MultiLeaf.java @@ -1,6 +1,6 @@ -package fi.utu.tech.graphics.spatial.rtree; +package fi.utu.tech.spatial.rtree; -import fi.utu.tech.graphics.Region; +import fi.utu.tech.spatial.Region; import java.util.Collection; import java.util.HashSet; diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Node.java b/src/main/java/fi/utu/tech/spatial/rtree/Node.java similarity index 95% rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Node.java rename to src/main/java/fi/utu/tech/spatial/rtree/Node.java index 4c65aa6..7a81d05 100644 --- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Node.java +++ b/src/main/java/fi/utu/tech/spatial/rtree/Node.java @@ -1,7 +1,7 @@ -package fi.utu.tech.graphics.spatial.rtree; +package fi.utu.tech.spatial.rtree; -import fi.utu.tech.graphics.Point2D; -import fi.utu.tech.graphics.Region; +import fi.utu.tech.spatial.Point2D; +import fi.utu.tech.spatial.Region; import java.util.Collection; import java.util.Set; diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Parent.java b/src/main/java/fi/utu/tech/spatial/rtree/Parent.java similarity index 96% rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Parent.java rename to src/main/java/fi/utu/tech/spatial/rtree/Parent.java index 7ed204d..f529c9f 100644 --- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Parent.java +++ b/src/main/java/fi/utu/tech/spatial/rtree/Parent.java @@ -1,8 +1,8 @@ -package fi.utu.tech.graphics.spatial.rtree; +package fi.utu.tech.spatial.rtree; -import fi.utu.tech.graphics.Point2D; -import fi.utu.tech.graphics.Rect; -import fi.utu.tech.graphics.Region; +import fi.utu.tech.spatial.Point2D; +import fi.utu.tech.spatial.Rect; +import fi.utu.tech.spatial.Region; import java.util.Collection; import java.util.HashSet; diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Root.java b/src/main/java/fi/utu/tech/spatial/rtree/Root.java similarity index 93% rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Root.java rename to src/main/java/fi/utu/tech/spatial/rtree/Root.java index a389db3..9b2f349 100644 --- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Root.java +++ b/src/main/java/fi/utu/tech/spatial/rtree/Root.java @@ -1,6 +1,6 @@ -package fi.utu.tech.graphics.spatial.rtree; +package fi.utu.tech.spatial.rtree; -import fi.utu.tech.graphics.Region; +import fi.utu.tech.spatial.Region; import java.util.Collection; import java.util.function.Consumer; diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..90da001 --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,4 @@ +module fi.utu.tech.spatial { + exports fi.utu.tech.spatial; + exports fi.utu.tech.spatial.rtree; +} diff --git a/src/test/java/fi/utu/tech/graphics/spatial/rtree/RTreeTest.java b/src/test/java/fi/utu/tech/spatial/rtree/RTreeTest.java similarity index 77% rename from src/test/java/fi/utu/tech/graphics/spatial/rtree/RTreeTest.java rename to src/test/java/fi/utu/tech/spatial/rtree/RTreeTest.java index a09ad57..2417f0c 100644 --- a/src/test/java/fi/utu/tech/graphics/spatial/rtree/RTreeTest.java +++ b/src/test/java/fi/utu/tech/spatial/rtree/RTreeTest.java @@ -1,6 +1,6 @@ -package fi.utu.tech.graphics.spatial.rtree; +package fi.utu.tech.spatial.rtree; -import fi.utu.tech.graphics.Rect; +import fi.utu.tech.spatial.Rect; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/resources/module-info.test b/src/test/resources/module-info.test new file mode 100644 index 0000000..2234833 --- /dev/null +++ b/src/test/resources/module-info.test @@ -0,0 +1,11 @@ +// +// Patch, i.e. configure, Java module system at test-runtime +// + +// Allow deep reflection for test discovery - repeat for each test library you need +--add-opens + fi.utu.tech.spatial/fi.utu.tech.spatial=org.junit.platform.commons + +// "requires org.junit.jupiter.api" +--add-reads + fi.utu.tech.spatial=org.junit.jupiter.api -- GitLab