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); } }