diff --git a/src/main/java/dev/dinauer/maven/maven/core/PomService.java b/src/main/java/dev/dinauer/maven/maven/core/PomService.java index e4f5873..69628e7 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/PomService.java +++ b/src/main/java/dev/dinauer/maven/maven/core/PomService.java @@ -7,6 +7,7 @@ import dev.dinauer.maven.maven.token.TokenService; import io.quarkus.security.identity.SecurityIdentity; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; +import jakarta.ws.rs.BadRequestException; import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.Response; import org.apache.commons.codec.digest.DigestUtils; @@ -37,6 +38,23 @@ public class PomService return Response.status(Response.Status.CONFLICT).build(); } + public Response findHash(MavenContext context) + { + Version version = versionService.findOptional(context.groupId(), context.artifactId(), context.version().getRaw()).orElseThrow(); + switch (context.file().getHash()) + { + case SHA1 -> + { + return Response.status(Response.Status.OK).type(MediaType.TEXT_PLAIN).entity(version.getPom().getSha1()).build(); + } + case MD5 -> + { + return Response.status(Response.Status.OK).type(MediaType.TEXT_PLAIN).entity(version.getPom().getMd5()).build(); + } + } + throw new BadRequestException(); + } + public Response find(MavenContext mavenContext) { Version version = versionService.findOptional(mavenContext.groupId(), mavenContext.artifactId(), mavenContext.version().getRaw()).orElseThrow(); diff --git a/src/main/java/dev/dinauer/maven/maven/core/Service.java b/src/main/java/dev/dinauer/maven/maven/core/Service.java index 4e76a73..3a106b2 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/Service.java +++ b/src/main/java/dev/dinauer/maven/maven/core/Service.java @@ -89,7 +89,7 @@ public class Service { return pomService.find(mavenContext); } - throw new NotImplementedException(); + return pomService.findHash(mavenContext); } case XML -> { diff --git a/src/main/resources/jar/postgresql-42.7.9.pom b/src/main/resources/jar/postgresql-42.7.9.pom index b99577e..32c0410 100644 --- a/src/main/resources/jar/postgresql-42.7.9.pom +++ b/src/main/resources/jar/postgresql-42.7.9.pom @@ -1,147 +1,82 @@ - - 4.0.0 - dev.dinauer.maven - demo - 1.0.3 - - - 3.14.1 - 21 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.30.8 - true - 3.5.4 - - - - - demo - http://localhost:8080/maven2 - - - - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - io.quarkus - quarkus-arc - - - io.quarkus - quarkus-rest - - - io.quarkus - quarkus-junit5 - test - - - io.rest-assured - rest-assured - test - - - - - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - true - - - - maven-surefire-plugin - ${surefire-plugin.version} - - --add-opens java.base/java.lang=ALL-UNNAMED - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - --add-opens java.base/java.lang=ALL-UNNAMED - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-deploy-plugin - 2.8.1 - - - default-deploy - deploy - - deploy - - - - - - - - - - native - - - native - - - - false - false - true - - - + + 4.0.0 + org.postgresql + postgresql + 42.7.9 + PostgreSQL JDBC Driver + PostgreSQL JDBC Driver Postgresql + https://jdbc.postgresql.org + 1997 + + PostgreSQL Global Development Group + https://jdbc.postgresql.org/ + + + + BSD-2-Clause + https://jdbc.postgresql.org/about/license.html + repo + BSD-2-Clause, copyright PostgreSQL Global Development Group + + + + + davecramer + Dave Cramer + + + jurka + Kris Jurka + + + oliver + Oliver Jowett + + + ringerc + Craig Ringer + + + vlsi + Vladimir Sitnikov + + + bokken + Brett Okken + + + + + PostgreSQL JDBC development list + https://lists.postgresql.org/ + https://lists.postgresql.org/unsubscribe/ + pgsql-jdbc@postgresql.org + https://www.postgresql.org/list/pgsql-jdbc/ + + + + scm:git:https://github.com/pgjdbc/pgjdbc.git + scm:git:https://github.com/pgjdbc/pgjdbc.git + https://github.com/pgjdbc/pgjdbc + + + GitHub issues + https://github.com/pgjdbc/pgjdbc/issues + + + + org.checkerframework + checker-qual + 3.52.0 + runtime + + + com.github.waffle + waffle-jna + 1.9.1 + runtime + true + + diff --git a/src/test/java/dev/dinauer/maven/maven/core/ResourceTest.java b/src/test/java/dev/dinauer/maven/maven/core/ResourceTest.java index 85fd9fc..4c5ff66 100644 --- a/src/test/java/dev/dinauer/maven/maven/core/ResourceTest.java +++ b/src/test/java/dev/dinauer/maven/maven/core/ResourceTest.java @@ -37,12 +37,14 @@ public class ResourceTest RestAssured.given().body(readFile("/jar/postgresql-42.7.9.pom")).put("/maven2/org/postgresql/postgresql/42.7.9/postgresql-42.7.9.pom"); byte[] responseJar = RestAssured.given().get("/maven2/org/postgresql/postgresql/42.7.9/postgresql-42.7.9.jar").getBody().asByteArray(); String responsePom = RestAssured.given().get("/maven2/org/postgresql/postgresql/42.7.9/postgresql-42.7.9.pom").getBody().asString(); + String responsePomMd5 = RestAssured.given().get("/maven2/org/postgresql/postgresql/42.7.9/postgresql-42.7.9.pom.md5").getBody().asString(); Optional version = versionService.findOptional("org.postgresql", "postgresql", "42.7.9"); Assertions.assertTrue(version.isPresent()); Assertions.assertTrue(responseJar.length > 0); Assertions.assertTrue(responsePom !=null && responsePom.startsWith("