diff --git a/README.md b/README.md
index 2fc7773..5367e4a 100755
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ The NOAA/NGDC ncISO team and the Unidata THREDDS team work closely (and with the
| netCDF-Java / TDS Version | threddsISO | threddsISO Tag |
|:--------------------------|:---------------|:---------------|
-| 5.8.0 / 5.7-SNAPSHOT | 2.4.8-SNAPSHOT | |
+| 5.9.0 / 5.7-SNAPSHOT | 2.4.8-SNAPSHOT | |
| 5.7.0 / 5.6 | 2.4.7 | **v2.4.7** |
| 5.6.0 / 5.5 | 2.4.6 | **v2.4.6** |
| 5.5.3 / 5.4 | 2.4.5 | **v2.4.5** |
diff --git a/tds-plugin/pom.xml b/tds-plugin/pom.xml
index db8e31e..c6e266f 100644
--- a/tds-plugin/pom.xml
+++ b/tds-plugin/pom.xml
@@ -92,56 +92,37 @@
maven-surefire-plugin
${skipTests}
+ thredds.server.metadata.Integration
- org.apache.maven.plugins
- maven-jar-plugin
+ maven-failsafe-plugin
+ 3.1.2
-
-
- **/logback.xml
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- jar-with-dependencies
-
+ ${skipTests}
+
+ **/*
+
+ thredds.server.metadata.Integration
- make-assembly
- package
- single
+ integration-test
+ verify
org.apache.maven.plugins
- maven-antrun-plugin
-
-
- checksum
- package
-
- run
-
-
-
-
-
-
-
-
-
-
-
+ maven-jar-plugin
+
+
+
+ **/logback.xml
+
+
diff --git a/tds-plugin/src/test/java/thredds/server/metadata/Integration.java b/tds-plugin/src/test/java/thredds/server/metadata/Integration.java
new file mode 100644
index 0000000..3db34af
--- /dev/null
+++ b/tds-plugin/src/test/java/thredds/server/metadata/Integration.java
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2025 University Corporation for Atmospheric Research/Unidata
+ * See LICENSE for license information.
+ */
+
+package thredds.server.metadata;
+
+public interface Integration { }
diff --git a/tds-plugin/src/test/java/thredds/server/metadata/NcIsoIT.java b/tds-plugin/src/test/java/thredds/server/metadata/NcIsoIT.java
index 542d0d0..3ac50e7 100644
--- a/tds-plugin/src/test/java/thredds/server/metadata/NcIsoIT.java
+++ b/tds-plugin/src/test/java/thredds/server/metadata/NcIsoIT.java
@@ -1,3 +1,8 @@
+/*
+ * Copyright (c) 2023-2025 University Corporation for Atmospheric Research/Unidata
+ * See LICENSE for license information.
+ */
+
package thredds.server.metadata;
import static com.google.common.truth.Truth.assertThat;
@@ -13,6 +18,7 @@
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
+import org.junit.experimental.categories.Category;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.utility.DockerImageName;
import org.testcontainers.utility.MountableFile;
@@ -27,6 +33,7 @@
import ucar.httpservices.HTTPMethod;
import ucar.httpservices.HTTPSession;
+@Category(Integration.class)
public class NcIsoIT {
private static final DockerImageName dockerImageName =
DockerImageName.parse("unidata/thredds-docker:" + getTdsVersion());
@@ -39,14 +46,21 @@ public class NcIsoIT {
"/usr/local/tomcat/content/thredds/catalog.xml")
.withCopyFileToContainer(MountableFile.forClasspathResource("/thredds/testgrid1.nc"),
"/usr/local/tomcat/content/thredds/public/testdata/testgrid1.nc")
- .withCopyFileToContainer(MountableFile.forHostPath(getJarPath()),
- "/usr/local/tomcat/webapps/thredds/WEB-INF/lib/tds-plugin-jar-with-dependencies.jar");
+ // copy local tds-plugin jar
+ .withCopyFileToContainer(MountableFile.forHostPath(getJarPath("tds-plugin")),
+ "/usr/local/tomcat/webapps/thredds/WEB-INF/lib/1-tds-plugin.jar")
+ // make sure local nciso-common shows up before bundled nciso-common jar by
+ // prefixing it with 1-
+ .withCopyFileToContainer(MountableFile.forHostPath(getJarPath("../../nciso-common/target/nciso-common")),
+ "/usr/local/tomcat/webapps/thredds/WEB-INF/lib/1-nciso-common.jar");
@BeforeClass
- public static void setUp() {
+ public static void setUp() throws IOException, InterruptedException {
final String address = tds.getHost();
final Integer port = tds.getFirstMappedPort();
basePath = "http://" + address + ":" + port + "/thredds/";
+ // remove bundled tds-plugin classes from the classpath
+ tds.execInContainer("rm", "-rf", "/usr/local/tomcat/webapps/thredds/WEB-INF/classes/thredds/server/metadata");
}
@Test
@@ -118,11 +132,11 @@ private static String getTdsVersion() {
return getPropertyValue("tds_version");
}
- private static Path getJarPath() {
+ private static Path getJarPath(String name) {
try {
final Path targetPath = Paths.get(ClassLoader.getSystemClassLoader().getResource("").toURI()).getParent();
- return Paths.get(targetPath.toString(), "tds-plugin-" + getVersion() + "-jar-with-dependencies.jar");
- } catch (URISyntaxException e) {
+ return Paths.get(targetPath.toRealPath().toString(), name + "-" + getVersion() + ".jar");
+ } catch (URISyntaxException | IOException e) {
throw new RuntimeException(e);
}
}