Skip to content

Commit

Permalink
build(deps): Bump quarkus.version from 2.16.6.Final to 3.0.0.Final
Browse files Browse the repository at this point in the history
Bumps `quarkus.version` from 2.16.6.Final to 3.0.0.Final.

Updates `quarkus-bom` from 2.16.6.Final to 3.0.0.Final
- [Release notes](https://github.com/quarkusio/quarkus/releases)
- [Commits](quarkusio/quarkus@2.16.6.Final...3.0.0.Final)

Updates `quarkus-maven-plugin` from 2.16.6.Final to 3.0.0.Final

Updates `quarkus-extension-processor` from 2.16.6.Final to 3.0.0.Final

Updates `quarkus-extension-maven-plugin` from 2.16.6.Final to 3.0.0.Final
- [Release notes](https://github.com/quarkusio/quarkus/releases)
- [Commits](quarkusio/quarkus@2.16.6.Final...3.0.0.Final)

Also upgrades to the new Dev-UI and uses GraalVM JS for testing.
  • Loading branch information
michael-simons committed Apr 18, 2023
1 parent 408c207 commit c7f5419
Show file tree
Hide file tree
Showing 18 changed files with 129 additions and 50 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
- uses: actions/checkout@v3
- uses: graalvm/setup-graalvm@v1
with:
version: '22.3.0'
version: '22.3.1'
java-version: '17'
components: 'native-image'
components: 'native-image,js'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Maven packages
uses: actions/cache@v2
Expand Down
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ beans like this:
----
import java.util.Collection;
import javax.enterprise.context.ApplicationScoped;
import jakarta.enterprise.context.ApplicationScoped;
import org.neo4j.ogm.session.SessionFactory;
Expand Down
16 changes: 15 additions & 1 deletion deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-quarkus-parent</artifactId>
<version>2.2.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
</parent>
<artifactId>neo4j-ogm-quarkus-deployment</artifactId>
<name>Neo4j-OGM (Quarkus Deployment)</name>
Expand Down Expand Up @@ -36,6 +36,7 @@
<artifactId>quarkus-resteasy</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
Expand All @@ -47,6 +48,19 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js</artifactId>
<version>${graalvm.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>graal-sdk</artifactId>
<version>${graalvm.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@
package org.neo4j.ogm.quarkus.deployment;

import org.neo4j.ogm.quarkus.runtime.Neo4jOgmDevConsoleRecorder;

import io.quarkus.deployment.IsDevelopment;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.ExecutionTime;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
import io.quarkus.devconsole.spi.DevConsoleRuntimeTemplateInfoBuildItem;
import io.quarkus.devui.spi.page.CardPageBuildItem;
import io.quarkus.devui.spi.page.Page;

import java.util.ArrayList;

Expand Down Expand Up @@ -51,4 +54,34 @@ DevConsoleRuntimeTemplateInfoBuildItem addAnnotatedClasses(
supplier, this.getClass(),
curateOutcomeBuildItem);
}

/**
* A record to serialize the entities for {@link #createOgmCard(EntitiesBuildItem)} properly.
*
* @param packageName The package name of the entity
* @param simpleName The simple class name under that package
*/
record EntityDescription(String packageName, String simpleName) {
}

@BuildStep(onlyIf = IsDevelopment.class)
@SuppressWarnings("unused")
CardPageBuildItem createOgmCard(EntitiesBuildItem entitiesBuildItem) {

var ogmCard = new CardPageBuildItem();
var entities = entitiesBuildItem.getValue()
.stream().map(e -> new EntityDescription(e.getPackageName(), e.getSimpleName())).toList();
if (!entities.isEmpty()) {
ogmCard.addBuildTimeData("entities", entities);
ogmCard.addPage(Page.tableDataPageBuilder("Entities")
.showColumn("packageName")
.showColumn("simpleName")
.buildTimeDataKey("entities")
.icon("font-awesome-solid:egg")
.staticLabel(String.valueOf(entities.size()))
);
}

return ogmCard;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,20 @@ private Collection<Class<?>> load(Predicate<DotName> filter, ClassLoader classLo
@BuildStep
ReflectiveClassBuildItem registerAnnotatedClassesForReflection(EntitiesBuildItem entitiesBuildItem) {

return new ReflectiveClassBuildItem(true, true, true, entitiesBuildItem.getValue().toArray(new Class<?>[0]));
return ReflectiveClassBuildItem.builder(entitiesBuildItem.getValue().toArray(new Class<?>[0]))
.constructors()
.methods()
.fields()
.build();
}

@BuildStep
ReflectiveClassBuildItem registerNativeTypes() throws ClassNotFoundException {

var typeSystem = Class.forName("org.neo4j.ogm.drivers.bolt.types.BoltNativeTypes", false, Thread.currentThread().getContextClassLoader());
return new ReflectiveClassBuildItem(true, false, false, typeSystem);
return ReflectiveClassBuildItem.builder(typeSystem)
.constructors()
.build();
}

@BuildStep
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.neo4j.ogm.quarkus.test.domain.SomeClass;
import io.quarkus.test.QuarkusUnitTest;

import javax.inject.Inject;
import jakarta.inject.Inject;

import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.io.IOException;

import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Source;
import org.neo4j.ogm.quarkus.test.domain.SomeClass;
import org.neo4j.ogm.quarkus.test.ignored.SomeOtherClass;
import io.quarkus.test.QuarkusDevModeTest;
Expand All @@ -36,26 +40,45 @@ public class Neo4jOgmDevModeIT {
.addClass(SomeClass.class)
.addClass(SomeOtherClass.class)
);
private static final String DEV_TOOLS_ENDPOINT = "/q/dev/org.neo4j.neo4j-ogm-quarkus/entities";
private static final String DEV_TOOLS_ENDPOINT = "/q/dev-ui/org.neo4j.neo4j-ogm-quarkus/entities";
private static final String DATA_ENDPOINT = "/q/dev-ui/org.neo4j.neo4j-ogm-quarkus-data.js";

@Test
public void listOfDomainClassesShouldBeAvailable() {
public void listOfDomainClassesShouldBeAvailable() throws IOException {

var response = RestAssured
RestAssured
.given()
.when().get(DEV_TOOLS_ENDPOINT)
.then().statusCode(200);

var data = RestAssured
.given()
.when().get(DATA_ENDPOINT)
.then().statusCode(200)
.extract().response();

var base = "html.body.div.table.tbody.";
var p = response.getBody().htmlPath().getString(base + "tr[0].td[0]");
var c = response.getBody().htmlPath().getString(base + "tr[0].td[1]");
assertEquals(SomeClass.class.getPackageName(), p);
assertEquals(SomeClass.class.getSimpleName(), c);

p = response.getBody().htmlPath().getString(base + "tr[1].td[0]");
c = response.getBody().htmlPath().getString(base + "tr[1].td[1]");
assertEquals(SomeOtherClass.class.getPackageName(), p);
assertEquals(SomeOtherClass.class.getSimpleName(), c);
.extract().response().body().asString();

try (var context = Context.newBuilder("js")
.allowExperimentalOptions(true)
.option("engine.WarnInterpreterOnly", "false")
.option("js.esm-eval-returns-exports", "true")
.build()
) {

var result = context.eval(Source.newBuilder("js", data, "data.js")
.mimeType("application/javascript+module")
.build());
var entities = result.getMember("entities");
assertEquals(2, entities.getArraySize());

var p = entities.getArrayElement(0).getMember("packageName").asString();
var c = entities.getArrayElement(0).getMember("simpleName").asString();
assertEquals(SomeClass.class.getPackageName(), p);
assertEquals(SomeClass.class.getSimpleName(), c);

p = entities.getArrayElement(1).getMember("packageName").asString();
c = entities.getArrayElement(1).getMember("simpleName").asString();
assertEquals(SomeOtherClass.class.getPackageName(), p);
assertEquals(SomeOtherClass.class.getSimpleName(), c);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.neo4j.ogm.quarkus.test.domain.SomeClass;
import io.quarkus.test.QuarkusUnitTest;

import javax.inject.Inject;
import jakarta.inject.Inject;

import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-quarkus-parent</artifactId>
<version>2.2.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
</parent>
<artifactId>neo4j-ogm-quarkus-integration-tests</artifactId>
<name>Neo4j-OGM (Quarkus Integration Tests)</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import java.util.List;

import javax.json.bind.annotation.JsonbProperty;
import javax.json.bind.annotation.JsonbTransient;
import jakarta.json.bind.annotation.JsonbProperty;
import jakarta.json.bind.annotation.JsonbTransient;

import org.neo4j.ogm.annotation.EndNode;
import org.neo4j.ogm.annotation.GeneratedValue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import java.util.Collection;
import java.util.Map;

import javax.enterprise.context.ApplicationScoped;
import jakarta.enterprise.context.ApplicationScoped;

import org.neo4j.ogm.session.SessionFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@

import java.util.Collection;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import jakarta.enterprise.context.RequestScoped;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

/**
* @author Michael J. Simons
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.neo4j.ogm.quarkus.it.movies;

import javax.enterprise.context.ApplicationScoped;
import jakarta.enterprise.context.ApplicationScoped;

import org.neo4j.ogm.session.SessionFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
*/
package org.neo4j.ogm.quarkus.it.movies;

import javax.enterprise.context.RequestScoped;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import jakarta.enterprise.context.RequestScoped;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;

/**
* @author Michael J. Simons
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
*/
package org.neo4j.ogm.quarkus.it.movies;

import javax.json.bind.annotation.JsonbCreator;
import javax.json.bind.annotation.JsonbProperty;
import jakarta.json.bind.annotation.JsonbCreator;
import jakarta.json.bind.annotation.JsonbProperty;

import org.neo4j.ogm.annotation.GeneratedValue;
import org.neo4j.ogm.annotation.Id;
Expand Down
4 changes: 3 additions & 1 deletion integration-tests/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ org.neo4j.ogm.use-native-types=true

org.neo4j.migrations.enabled=false
org.neo4j.migrations.locations-to-scan=neo4j/migrations,neo4j/example-data

quarkus.neo4j.uri = bolt://localhost:7687
quarkus.neo4j.authentication.username = neo4j
quarkus.neo4j.authentication.password = verysecret
%test.quarkus.devservices.enabled=false
%test.org.neo4j.migrations.enabled=true

Expand Down
11 changes: 6 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-quarkus-parent</artifactId>
<version>2.2.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>

<name>Neo4j-OGM (Quarkus Parent)</name>
Expand Down Expand Up @@ -54,7 +54,8 @@
<checkstyle.version>10.9.3</checkstyle.version>
<docker-maven-plugin.version>0.42.1</docker-maven-plugin.version>
<exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
<java-module-name />
<graalvm.version>22.3.1</graalvm.version>
<java-module-name/>
<java.version>17</java.version>
<junit.jupiter.version>5.8.2</junit.jupiter.version>
<maven-checkstyle-plugin.version>3.2.1</maven-checkstyle-plugin.version>
Expand All @@ -81,8 +82,8 @@
<neo4j.image>neo4j:4.4</neo4j.image>
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<quarkus-neo4j.version>2.2.6</quarkus-neo4j.version>
<quarkus.version>2.16.6.Final</quarkus.version>
<quarkus-neo4j.version>3.0.0</quarkus-neo4j.version>
<quarkus.version>3.0.0.Final</quarkus.version>
<sortpom-maven-plugin.version>3.2.1</sortpom-maven-plugin.version>
</properties>

Expand Down Expand Up @@ -298,7 +299,7 @@
<requireJavaVersion>
<version>${java.version}</version>
</requireJavaVersion>
<DependencyConvergence />
<DependencyConvergence/>
<requireMavenVersion>
<version>${maven.version}</version>
</requireMavenVersion>
Expand Down
2 changes: 1 addition & 1 deletion runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-quarkus-parent</artifactId>
<version>2.2.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
</parent>
<artifactId>neo4j-ogm-quarkus</artifactId>
<name>Neo4j-OGM (Quarkus)</name>
Expand Down

0 comments on commit c7f5419

Please sign in to comment.