Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated EmbeddedNeo4jServer and managed-neo4j-harness for Micronaut framework 5. #422

Merged
merged 11 commits into from
Mar 5, 2024
Merged
172 changes: 172 additions & 0 deletions config/accepted-api-changes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
[
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Field $ANNOTATION_METADATA",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Constructor io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference()",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationSource",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanContextConditional",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationMetadataProvider",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.core.beans.BeanInfo",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationMetadataDelegate",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationMetadata",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.QualifiedBeanType",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.core.type.ArgumentCoercible",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanType",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.$Neo4jBoltConfiguration$Neo4jEmbeddedSettings$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanDefinitionReference",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Field $ANNOTATION_METADATA",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Constructor io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference()",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationSource",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanContextConditional",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationMetadataProvider",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.core.beans.BeanInfo",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationMetadataDelegate",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.core.annotation.AnnotationMetadata",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.QualifiedBeanType",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.core.type.ArgumentCoercible",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanType",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.$EmbeddedNeo4jServer$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanDefinitionReference",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.EmbeddedNeo4jServer",
"member": "Constructor io.micronaut.neo4j.bolt.embedded.EmbeddedNeo4jServer()",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.EmbeddedNeo4jServer",
"member": "Implemented interface java.util.EventListener",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.EmbeddedNeo4jServer",
"member": "Implemented interface java.io.Closeable",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.EmbeddedNeo4jServer",
"member": "Implemented interface io.micronaut.context.event.BeanCreatedEventListener",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.embedded.EmbeddedNeo4jServer",
"member": "Implemented interface java.lang.AutoCloseable",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.Neo4jBoltConfiguration$Neo4jEmbeddedSettings",
"member": "Field DEFAULT_DROPDATA",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.Neo4jBoltConfiguration$Neo4jEmbeddedSettings",
"member": "Field DEFAULT_ENABLED",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.Neo4jBoltConfiguration$Neo4jEmbeddedSettings",
"member": "Field DEFAULT_EPHEMERAL",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.Neo4jBoltConfiguration$Neo4jEmbeddedSettings",
"member": "Constructor io.micronaut.neo4j.bolt.Neo4jBoltConfiguration$Neo4jEmbeddedSettings()",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
},
{
"type": "io.micronaut.neo4j.bolt.Neo4jBoltConfiguration$Neo4jEmbeddedSettings",
"member": "Implemented interface io.micronaut.core.util.Toggleable",
"reason": "Remove deprecated EmbeddedNeo4jServer and neo4j test harness for Micronaut Framework 5"
}
]
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
projectVersion=6.3.1-SNAPSHOT
projectVersion=7.0.0-SNAPSHOT
projectGroup=io.micronaut.neo4j

title=Micronaut Neo4j
Expand Down
11 changes: 0 additions & 11 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@ spock = "2.3-groovy-4.0"

managed-neo4j-driver = "5.17.0"

# neo4j-harness needs the javax apis at runtime
# remove these after EmbeddedNeo4jServer is removed
managed-neo4j = "5.16.0"
javax-annotation-api = "1.3.2"
javax-validation-api = "2.0.1.Final"

micronaut-test-resources = "2.3.3"
micronaut-validation = "4.4.0"

Expand All @@ -22,11 +16,6 @@ micronaut-core = { module = 'io.micronaut:micronaut-core-bom', version.ref = 'mi

managed-neo4j-java-driver = { module = "org.neo4j.driver:neo4j-java-driver", version.ref = "managed-neo4j-driver" }

# deprecated for micronaut-neo4j 6.0.2, remove this with the next major version
managed-neo4j-harness = { module = "org.neo4j.test:neo4j-harness", version.ref = "managed-neo4j" }
javax-annotation-api = {group = "javax.annotation", name = "javax.annotation-api", version.ref = "javax-annotation-api" }
javax-validation-api = {group = "javax.validation", name = "validation-api", version.ref = "javax-validation-api" }

micronaut-test-resources = { module = "io.micronaut.testresources:micronaut-test-resources-bom", version.ref = "micronaut-test-resources" }
micronaut-validation = { module = "io.micronaut.validation:micronaut-validation-bom", version.ref = "micronaut-validation" }

7 changes: 0 additions & 7 deletions neo4j-bolt/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,8 @@ dependencies {

compileOnly(mn.micronaut.management)

// EmbeddedNeo4jServer needs this, remove when class is removed
compileOnly(libs.managed.neo4j.harness)

testCompileOnly(mnValidation.micronaut.validation.processor)
testImplementation(mnTestResources.testcontainers.neo4j)
testImplementation(mn.micronaut.management)

// Neo4jEmbeddedServerSpec needs this, remove when EmbeddedNeo4jServer and tests that use are removed
testImplementation(libs.managed.neo4j.harness)
testRuntimeOnly(libs.javax.annotation.api)
testRuntimeOnly(libs.javax.validation.api)
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2017-2020 original authors
* Copyright 2017-2024 original authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -20,19 +20,16 @@
import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.annotation.Nullable;
import io.micronaut.core.util.StringUtils;
import io.micronaut.core.util.Toggleable;
import jakarta.inject.Inject;
import jakarta.validation.constraints.NotNull;
import org.neo4j.driver.AuthToken;
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Config;
import org.neo4j.driver.Logging;

import jakarta.validation.constraints.NotNull;
import java.net.URI;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.Collections;
import java.util.Map;
import java.util.Optional;

/**
Expand Down Expand Up @@ -65,12 +62,6 @@ public class Neo4jBoltConfiguration implements Neo4jBoltSettings {
private int retryCount = DEFAULT_RETRYCOUNT;
private Duration retryDelay = Duration.of(DEFAULT_RETRYDELAY_SECONDS, ChronoUnit.SECONDS);

/**
* @deprecated Use testcontainers instead. See <a href="https://testcontainers.com/modules/neo4j/">Testcontainers Neo4j</a>
*/
@Deprecated(since = "6.0.2", forRemoval = true)
private Neo4jEmbeddedSettings embeddedSettings = new Neo4jEmbeddedSettings();

/**
* Constructor.
*/
Expand Down Expand Up @@ -185,132 +176,4 @@ public void setTrustStrategy(@Nullable Config.TrustStrategy trustStrategy) {
this.config.withTrustStrategy(trustStrategy);
}
}

/**
* @return The settings for the embedded Neo4j server
* @deprecated Use testcontainers instead. See <a href="https://testcontainers.com/modules/neo4j/">Testcontainers Neo4j</a>
*/
@Deprecated(since = "6.0.2", forRemoval = true)
public Neo4jEmbeddedSettings getEmbeddedSettings() {
return embeddedSettings;
}

/**
* @param embeddedSettings The {@link Neo4jEmbeddedSettings}
* @deprecated Use testcontainers instead. See <a href="https://testcontainers.com/modules/neo4j/">Testcontainers Neo4j</a>
*/
@Deprecated(since = "6.0.2", forRemoval = true)
@Inject
public void setEmbeddedSettings(Neo4jEmbeddedSettings embeddedSettings) {
this.embeddedSettings = embeddedSettings;
}

/**
* The configuration settings for the embedded Neo4j.
*
* @deprecated Use testcontainers instead. See <a href="https://testcontainers.com/modules/neo4j/">Testcontainers Neo4j</a>
*/
@ConfigurationProperties("embedded")
@Deprecated(since = "6.0.2", forRemoval = true)
public static class Neo4jEmbeddedSettings implements Toggleable {
/**
* The default enable value.
*/
@SuppressWarnings("WeakerAccess")
public static final boolean DEFAULT_ENABLED = true;

/**
* The default ephemeral value.
*/
@SuppressWarnings("WeakerAccess")
public static final boolean DEFAULT_EPHEMERAL = false;

/**
* The default drop data value.
*/
@SuppressWarnings("WeakerAccess")
public static final boolean DEFAULT_DROPDATA = false;

private Map<String, Object> options = Collections.emptyMap();
private String directory;
private boolean dropData = DEFAULT_DROPDATA;
private boolean ephemeral = DEFAULT_EPHEMERAL;
private boolean enabled = DEFAULT_ENABLED;

/**
* @return Whether the embedded sever is enabled
*/
@Override
public boolean isEnabled() {
return enabled;
}

/**
* Default value ({@value #DEFAULT_ENABLED}).
* @param enabled enable the server
*/
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}

/**
* @return Options to pass to the embedded server
*/
public Map<String, Object> getOptions() {
return options;
}

/**
* @param options The options to pass to the embedded server
*/
public void setOptions(Map<String, Object> options) {
if (options != null) {
this.options = options;
}
}

/**
* @return The directory to store embedded data
*/
public Optional<String> getDirectory() {
return Optional.ofNullable(directory);
}

/**
* @param directory The directory
*/
public void setDirectory(String directory) {
this.directory = directory;
}

/**
* @return Whether to drop existing data
*/
public boolean isDropData() {
return dropData;
}

/**
* Default value ({@value #DEFAULT_DROPDATA}).
* @param dropData drop the existing data
*/
public void setDropData(boolean dropData) {
this.dropData = dropData;
}

/**
* @return Whether to create the database in a temp directory and deleted on shutdown
*/
public boolean isEphemeral() {
return ephemeral;
}

/**
* Default value ({@value #DEFAULT_EPHEMERAL}).
* @param ephemeral define the embedded ser as ephemeral
*/
public void setEphemeral(boolean ephemeral) {
this.ephemeral = ephemeral;
}
}
}
Loading
Loading