From 48998494a1c0defeb36c4463330f52d20f02c6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Thu, 11 Aug 2022 10:20:48 +0100 Subject: [PATCH] NO AUTO Cleans up common, core and full after the code split (#3123) --- .gitignore | 2 +- build.gradle | 3 +- common/build.gradle | 119 ++++----------- .../convert/{utils => }/ConvertUtils.java | 2 +- .../java/apoc/trigger/TriggerMetadata.java | 2 +- common/src/main/java/apoc/util/Util.java | 2 +- core/build.gradle | 103 +++---------- .../java/apoc/CoreApocGlobalComponents.java | 0 core/src/main/java/apoc/convert/Convert.java | 1 - core/src/main/java/apoc/convert/Json.java | 1 - .../java/apoc/example/Examples.java | 0 core/src/main/java/apoc/load/LoadJson.java | 3 +- full/build.gradle | 138 ++++++------------ .../java/apoc/export/xls/XlsExportConfig.java | 0 .../apoc/generate/BaseGraphGenerator.java | 0 .../java/apoc/generate/GraphGenerator.java | 0 .../apoc/generate/Neo4jGraphGenerator.java | 0 .../generate/config/BarabasiAlbertConfig.java | 4 +- .../generate/config/BasicGeneratorConfig.java | 0 .../config/DistributionBasedConfig.java | 0 .../generate/config/ErdosRenyiConfig.java | 3 +- .../config/GeneratorConfiguration.java | 3 +- .../config/NumberOfNodesBasedConfig.java | 0 .../config/RelationshipGeneratorConfig.java | 4 +- .../generate/config/WattsStrogatzConfig.java | 4 +- .../distribution/DegreeDistribution.java | 3 +- .../MutableDegreeDistribution.java | 0 .../MutableSimpleDegreeDistribution.java | 0 .../SimpleDegreeDistribution.java | 0 .../generate/node/DefaultNodeCreator.java | 0 .../java/apoc/generate/node/NodeCreator.java | 0 .../BarabasiAlbertRelationshipGenerator.java | 0 .../BaseRelationshipGenerator.java | 0 .../CompleteGraphRelationshipGenerator.java | 0 .../DefaultRelationshipCreator.java | 0 .../ErdosRenyiRelationshipGenerator.java | 0 .../relationship/RelationshipCreator.java | 0 .../relationship/RelationshipGenerator.java | 0 .../SimpleGraphRelationshipGenerator.java | 3 +- .../SocialNetworkRelationshipCreator.java | 0 .../WattsStrogatzRelationshipGenerator.java | 0 .../utils/WeightedReservoirSampler.java | 0 .../src/main/java/apoc/model/ModelConfig.java | 0 full/src/test/java/apoc/ApocSplitTest.java | 4 + .../config/BarabasiAlbertConfigTest.java | 0 .../generate/config/ErdosRenyiConfigTest.java | 0 .../config/NumberOfNodesBasedConfigTest.java | 0 .../config/WattsStrogatzConfigTest.java | 0 ...ompleteGraphRelationshipGeneratorTest.java | 0 ...attsStrogatzRelationshipGeneratorTest.java | 0 test-utils/build.gradle | 29 ++-- 51 files changed, 127 insertions(+), 306 deletions(-) rename common/src/main/java/apoc/convert/{utils => }/ConvertUtils.java (98%) rename {common => core}/src/main/java/apoc/CoreApocGlobalComponents.java (100%) rename core/src/{test => main}/java/apoc/example/Examples.java (100%) rename {common => full}/src/main/java/apoc/export/xls/XlsExportConfig.java (100%) rename {common => full}/src/main/java/apoc/generate/BaseGraphGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/GraphGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/Neo4jGraphGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java (89%) rename {common => full}/src/main/java/apoc/generate/config/BasicGeneratorConfig.java (100%) rename {common => full}/src/main/java/apoc/generate/config/DistributionBasedConfig.java (100%) rename {common => full}/src/main/java/apoc/generate/config/ErdosRenyiConfig.java (90%) rename {common => full}/src/main/java/apoc/generate/config/GeneratorConfiguration.java (92%) rename {common => full}/src/main/java/apoc/generate/config/NumberOfNodesBasedConfig.java (100%) rename {common => full}/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java (77%) rename {common => full}/src/main/java/apoc/generate/config/WattsStrogatzConfig.java (92%) rename {common => full}/src/main/java/apoc/generate/distribution/DegreeDistribution.java (85%) rename {common => full}/src/main/java/apoc/generate/distribution/MutableDegreeDistribution.java (100%) rename {common => full}/src/main/java/apoc/generate/distribution/MutableSimpleDegreeDistribution.java (100%) rename {common => full}/src/main/java/apoc/generate/distribution/SimpleDegreeDistribution.java (100%) rename {common => full}/src/main/java/apoc/generate/node/DefaultNodeCreator.java (100%) rename {common => full}/src/main/java/apoc/generate/node/NodeCreator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/BarabasiAlbertRelationshipGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/BaseRelationshipGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/CompleteGraphRelationshipGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/DefaultRelationshipCreator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/ErdosRenyiRelationshipGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/RelationshipCreator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/RelationshipGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java (97%) rename {common => full}/src/main/java/apoc/generate/relationship/SocialNetworkRelationshipCreator.java (100%) rename {common => full}/src/main/java/apoc/generate/relationship/WattsStrogatzRelationshipGenerator.java (100%) rename {common => full}/src/main/java/apoc/generate/utils/WeightedReservoirSampler.java (100%) rename {common => full}/src/main/java/apoc/model/ModelConfig.java (100%) rename {common => full}/src/test/java/apoc/generate/config/BarabasiAlbertConfigTest.java (100%) rename {common => full}/src/test/java/apoc/generate/config/ErdosRenyiConfigTest.java (100%) rename {common => full}/src/test/java/apoc/generate/config/NumberOfNodesBasedConfigTest.java (100%) rename {common => full}/src/test/java/apoc/generate/config/WattsStrogatzConfigTest.java (100%) rename {common => full}/src/test/java/apoc/generate/relationship/CompleteGraphRelationshipGeneratorTest.java (100%) rename {common => full}/src/test/java/apoc/generate/relationship/WattsStrogatzRelationshipGeneratorTest.java (100%) diff --git a/.gitignore b/.gitignore index 67d1dd0eb6..f308466fcf 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,4 @@ bin progress.csv logs/ store_lock -.hprof \ No newline at end of file +*.hprof \ No newline at end of file diff --git a/build.gradle b/build.gradle index 62544957a4..ed45bc5e7a 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,6 @@ plugins { id 'com.github.johnrengelman.shadow' version '7.1.0' apply false id 'maven-publish' id 'antlr' - id "org.sonarqube" version "2.7" id "com.github.hierynomus.license-report" version"0.16.1" } @@ -71,7 +70,7 @@ subprojects { // neo4jDockerImage system property is used in TestContainerUtil systemProperties 'user.language' : 'en' , - 'user.country ' : 'US', + 'user.country' : 'US', 'neo4jDockerImage' : System.getProperty("NEO4JVERSION") ? 'neo4j:' + System.getProperty("NEO4JVERSION") + '-enterprise' : 'neo4j:5.0.0-dev-enterprise', 'neo4jCommunityDockerImage': System.getProperty("NEO4JVERSION") ? 'neo4j:' + System.getProperty("NEO4JVERSION") : 'neo4j:5.0.0-dev' diff --git a/common/build.gradle b/common/build.gradle index a8270ca24d..b2c1f63774 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'maven-publish' id 'antlr' - id "org.sonarqube" id "com.diffplug.spotless" version "6.7.2" } @@ -30,123 +29,61 @@ generateGrammarSource { } dependencies { - testImplementation project(':test-utils') apt project(':processor') - apt group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective - implementation group: 'commons-codec', name: 'commons-codec', version: '1.14' - implementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.7.0' - implementation group: 'net.minidev', name: 'json-smart', version: '2.4.8' - implementation group: 'org.hdrhistogram', name: 'HdrHistogram', version: '2.1.9' antlr "org.antlr:antlr4:4.7.2", { exclude group: 'org.glassfish' exclude group: 'com.ibm.icu' exclude group: 'org.abego.treelayout' } - // compileOnly "org.antlr:antlr4-runtime:4.7.2" - // testCompile "org.antlr:antlr4-runtime:4.7.2" - implementation group: 'org.roaringbitmap', name: 'RoaringBitmap', version: '0.7.17' - implementation(group: 'org.apache.commons', name: 'commons-configuration2', version: '2.8.0') { - exclude group: "org.yaml" - exclude module: "snakeyaml" - exclude module: "commons-lang3" + def withoutServers = { + exclude group: 'org.eclipse.jetty' + exclude group: 'org.eclipse.jetty.aggregate' + exclude group: 'org.apache.hive', module: 'hive-service' } - implementation group: 'org.yaml', name: 'snakeyaml', version: '1.26' - testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' - implementation group: 'com.github.seancfoley', name: 'ipaddress', version: '5.3.3' - testImplementation 'net.sourceforge.jexcelapi:jxl:2.6.12' + def withoutJacksons = { + exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations' + exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' + } - // This was reported here https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/3048 - implementation(group: 'org.apache.commons', name: 'commons-lang3') { + // These will be dependencies packaged with the .jar + api group: 'com.jayway.jsonpath', name: 'json-path', version: '2.7.0' + api group: 'org.hdrhistogram', name: 'HdrHistogram', version: '2.1.9' + api group: 'org.apache.commons', name: 'commons-collections4', version: '4.2' + api group: 'org.apache.commons', name: 'commons-configuration2', version: '2.8.0', { + exclude module: "commons-lang3" + } + // We need to force this dependency's verion due to a vulnerability https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/3048 + api group: 'org.apache.commons', name: 'commons-lang3', { version { strictly '3.12.0' } } + api group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' + api group: 'com.github.seancfoley', name: 'ipaddress', version: '5.3.3' + // These will be dependencies not packaged with the .jar + // They need to be provided either through the database or in an extra .jar + compileOnly group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' - testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' + compileOnly group: 'org.apache.hadoop', name: 'hadoop-common', version: '3.3.2', withoutServers + compileOnly group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1' - testImplementation group: 'org.reflections', name: 'reflections', version: '0.9.12' + // These dependencies affect the tests only, they will not be packaged in the resulting .jar + testImplementation project(':test-utils') + testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' testImplementation group: 'junit', name: 'junit', version: '4.13.2' + testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' testImplementation group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3' - testImplementation group: 'org.neo4j.test', name: 'neo4j-harness', version: neo4jVersionEffective - testImplementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.2.22.v20170606' - testImplementation group: 'org.apache.derby', name: 'derby', version: '10.12.1.1' - - testImplementation group: 'org.neo4j', name: 'neo4j-common', version: neo4jVersionEffective, classifier: "tests" testImplementation group: 'org.neo4j.community', name: 'it-test-support', version: neo4jVersionEffective // , classifier: "tests" testImplementation group: 'org.neo4j', name: 'log-test-utils', version: neo4jVersionEffective // , classifier: "tests" - - testImplementation group: 'org.neo4j', name: 'neo4j-kernel', version: neo4jVersionEffective, classifier: "tests" - testImplementation group: 'org.neo4j', name: 'neo4j-io', version: neo4jVersionEffective, classifier: "tests" - - - def withoutServers = { - exclude group: 'org.eclipse.jetty' - exclude group: 'org.eclipse.jetty.aggregate' - exclude group: 'org.apache.hive', module: 'hive-service' - } - - def withoutJacksons = { - exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations' - exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' - } - - compileOnly group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective - - testImplementation 'org.mock-server:mockserver-netty:5.6.0' - testImplementation 'org.mock-server:mockserver-client-java:5.6.0' - - compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons - testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons - - testImplementation group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.7' - implementation group: 'com.opencsv', name: 'opencsv', version: '4.6' - compileOnly group: 'org.ow2.asm', name: 'asm', version: '5.0.2' - - testImplementation group: 'org.apache.hive', name: 'hive-jdbc', version: '1.2.2', withoutServers - - compileOnly group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '3.3.2', withoutServers - compileOnly group: 'org.apache.hadoop', name: 'hadoop-common', version: '3.3.2', withoutServers - - implementation group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' - //compileOnly group: 'org.apache.commons', name: 'commons-text', version: '1.7' -// jmh group: 'org.neo4j', name: 'neo4j-lucene-index', version: neo4jVersionEffective -// jmh group: 'org.neo4j', name: 'neo4j-kernel', version: neo4jVersionEffective, classifier: "tests" - - testImplementation group: 'org.xmlunit', name: 'xmlunit-core', version: '2.2.1' - testImplementation group: 'com.github.adejanovski', name: 'cassandra-jdbc-wrapper', version: '3.1.0' - - testImplementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-csv', version: '2.13.2' - testImplementation group: 'org.skyscreamer', name: 'jsonassert', version: '1.5.0' testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.13.2' testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.2.0' - compileOnly group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1' - testImplementation group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1', { - exclude group: 'com.google.guava', module: 'guava' - } - - implementation group: 'com.google.guava', name: 'guava', version: '31.0.1-jre' - - implementation group: 'org.apache.arrow', name: 'arrow-vector', version: '7.0.0', { - exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core' - exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations' - exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' - exclude group: 'io.netty', module: 'netty-common' - } - implementation group: 'org.apache.arrow', name: 'arrow-memory-netty', version: '7.0.0', { - exclude group: 'com.google.guava', module: 'guava' - exclude group: 'io.netty', module: 'netty-common' - exclude group: 'io.netty', module: 'netty-buffer' - } - testImplementation group: 'org.apache.arrow', name: 'arrow-vector', version: '7.0.0' - testImplementation group: 'org.apache.arrow', name: 'arrow-memory-netty', version: '7.0.0' - configurations.all { exclude group: 'org.slf4j', module: 'slf4j-nop' exclude group: 'ch.qos.logback', module: 'logback-classic' diff --git a/common/src/main/java/apoc/convert/utils/ConvertUtils.java b/common/src/main/java/apoc/convert/ConvertUtils.java similarity index 98% rename from common/src/main/java/apoc/convert/utils/ConvertUtils.java rename to common/src/main/java/apoc/convert/ConvertUtils.java index 7af48bd96a..e99494576f 100644 --- a/common/src/main/java/apoc/convert/utils/ConvertUtils.java +++ b/common/src/main/java/apoc/convert/ConvertUtils.java @@ -1,4 +1,4 @@ -package apoc.convert.utils; +package apoc.convert; import org.neo4j.internal.helpers.collection.Iterators; diff --git a/common/src/main/java/apoc/trigger/TriggerMetadata.java b/common/src/main/java/apoc/trigger/TriggerMetadata.java index 8eecb6fecf..74ccf5575c 100644 --- a/common/src/main/java/apoc/trigger/TriggerMetadata.java +++ b/common/src/main/java/apoc/trigger/TriggerMetadata.java @@ -1,6 +1,6 @@ package apoc.trigger; -import apoc.convert.utils.ConvertUtils; +import apoc.convert.ConvertUtils; import apoc.result.VirtualNode; import apoc.result.VirtualRelationship; import apoc.util.Util; diff --git a/common/src/main/java/apoc/util/Util.java b/common/src/main/java/apoc/util/Util.java index a84cf650e6..f8ad0a0d66 100644 --- a/common/src/main/java/apoc/util/Util.java +++ b/common/src/main/java/apoc/util/Util.java @@ -2,7 +2,7 @@ import apoc.ApocConfig; import apoc.Pools; -import apoc.convert.utils.ConvertUtils; +import apoc.convert.ConvertUtils; import apoc.export.util.CountingInputStream; import apoc.export.util.ExportConfig; import apoc.result.VirtualNode; diff --git a/core/build.gradle b/core/build.gradle index d6ec53cb4b..5264da9b03 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'maven-publish' id 'antlr' - id "org.sonarqube" id "com.diffplug.spotless" version "6.7.2" } @@ -45,17 +44,8 @@ generateGrammarSource { } dependencies { - implementation project(":common") - testImplementation project(":common").sourceSets.test.output - testImplementation project(':test-utils') - apt project(':processor') - apt group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective - implementation group: 'commons-codec', name: 'commons-codec', version: '1.14' - implementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.7.0' - implementation group: 'net.minidev', name: 'json-smart', version: '2.4.8' - implementation group: 'org.hdrhistogram', name: 'HdrHistogram', version: '2.1.9' antlr "org.antlr:antlr4:4.7.2", { exclude group: 'org.glassfish' @@ -63,44 +53,6 @@ dependencies { exclude group: 'org.abego.treelayout' } - implementation group: 'org.roaringbitmap', name: 'RoaringBitmap', version: '0.7.17' - implementation(group: 'org.apache.commons', name: 'commons-configuration2', version: '2.8.0') { - exclude group: "org.yaml" - exclude module: "snakeyaml" - exclude module: "commons-lang3" - } - implementation group: 'org.yaml', name: 'snakeyaml', version: '1.26' - testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' - implementation group: 'com.github.seancfoley', name: 'ipaddress', version: '5.3.3' - - testImplementation 'net.sourceforge.jexcelapi:jxl:2.6.12' - - // This was reported here https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/3048 - implementation(group: 'org.apache.commons', name: 'commons-lang3') { - version { - strictly '3.12.0' - } - } - - compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' - testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' - - testImplementation group: 'org.reflections', name: 'reflections', version: '0.9.12' - testImplementation group: 'junit', name: 'junit', version: '4.13.2' - testImplementation group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3' - testImplementation group: 'org.neo4j.test', name: 'neo4j-harness', version: neo4jVersionEffective - testImplementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.2.22.v20170606' - testImplementation group: 'org.apache.derby', name: 'derby', version: '10.12.1.1' - - testImplementation group: 'org.neo4j', name: 'neo4j-common', version: neo4jVersionEffective, classifier: "tests" - testImplementation group: 'org.neo4j.community', name: 'it-test-support', version: neo4jVersionEffective // , classifier: "tests" - testImplementation group: 'org.neo4j', name: 'log-test-utils', version: neo4jVersionEffective // , classifier: "tests" - - - testImplementation group: 'org.neo4j', name: 'neo4j-kernel', version: neo4jVersionEffective, classifier: "tests" - testImplementation group: 'org.neo4j', name: 'neo4j-io', version: neo4jVersionEffective, classifier: "tests" - - def withoutServers = { exclude group: 'org.eclipse.jetty' exclude group: 'org.eclipse.jetty.aggregate' @@ -112,52 +64,31 @@ dependencies { exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' } - compileOnly group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective - - testImplementation 'org.mock-server:mockserver-netty:5.6.0' - testImplementation 'org.mock-server:mockserver-client-java:5.6.0' - - compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons - testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons - - testImplementation group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.7' + // These will be dependencies packaged with the .jar + implementation project(":common") implementation group: 'com.opencsv', name: 'opencsv', version: '4.6' - compileOnly group: 'org.ow2.asm', name: 'asm', version: '5.0.2' - - testImplementation group: 'org.apache.hive', name: 'hive-jdbc', version: '1.2.2', withoutServers - - compileOnly group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '3.3.2', withoutServers - compileOnly group: 'org.apache.hadoop', name: 'hadoop-common', version: '3.3.2', withoutServers - - implementation group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' - testImplementation group: 'org.xmlunit', name: 'xmlunit-core', version: '2.2.1' - testImplementation group: 'com.github.adejanovski', name: 'cassandra-jdbc-wrapper', version: '3.1.0' - - testImplementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-csv', version: '2.13.2' - testImplementation group: 'org.skyscreamer', name: 'jsonassert', version: '1.5.0' - testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.13.2' - testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.2.0' - - compileOnly group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1' - testImplementation group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1', { - exclude group: 'com.google.guava', module: 'guava' - } - + implementation group: 'org.roaringbitmap', name: 'RoaringBitmap', version: '0.7.17' implementation group: 'com.google.guava', name: 'guava', version: '31.0.1-jre' - implementation group: 'org.apache.arrow', name: 'arrow-vector', version: '7.0.0', { exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core' exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations' exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' exclude group: 'io.netty', module: 'netty-common' } - implementation group: 'org.apache.arrow', name: 'arrow-memory-netty', version: '7.0.0', { - exclude group: 'com.google.guava', module: 'guava' - exclude group: 'io.netty', module: 'netty-common' - exclude group: 'io.netty', module: 'netty-buffer' - } - testImplementation group: 'org.apache.arrow', name: 'arrow-vector', version: '7.0.0' - testImplementation group: 'org.apache.arrow', name: 'arrow-memory-netty', version: '7.0.0' + + // These will be dependencies not packaged with the .jar + // They need to be provided either through the database or in an extra .jar + compileOnly group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective + + // These dependencies affect the tests only, they will not be packaged in the resulting .jar + testImplementation project(":common").sourceSets.test.output + testImplementation project(':test-utils') + testImplementation group: 'junit', name: 'junit', version: '4.13.2' + testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' + testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' + testImplementation group: 'org.mock-server', name: 'mockserver-netty', version: '5.6.0' + testImplementation group: 'com.github.adejanovski', name: 'cassandra-jdbc-wrapper', version: '3.1.0' + testImplementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-csv', version: '2.13.2' configurations.all { exclude group: 'org.slf4j', module: 'slf4j-nop' diff --git a/common/src/main/java/apoc/CoreApocGlobalComponents.java b/core/src/main/java/apoc/CoreApocGlobalComponents.java similarity index 100% rename from common/src/main/java/apoc/CoreApocGlobalComponents.java rename to core/src/main/java/apoc/CoreApocGlobalComponents.java diff --git a/core/src/main/java/apoc/convert/Convert.java b/core/src/main/java/apoc/convert/Convert.java index ae44725405..11831858ab 100644 --- a/core/src/main/java/apoc/convert/Convert.java +++ b/core/src/main/java/apoc/convert/Convert.java @@ -1,7 +1,6 @@ package apoc.convert; import apoc.coll.SetBackedList; -import apoc.convert.utils.ConvertUtils; import apoc.meta.Types; import apoc.util.Util; import org.neo4j.graphdb.Entity; diff --git a/core/src/main/java/apoc/convert/Json.java b/core/src/main/java/apoc/convert/Json.java index d5000bcfde..48fa28b8e5 100644 --- a/core/src/main/java/apoc/convert/Json.java +++ b/core/src/main/java/apoc/convert/Json.java @@ -1,6 +1,5 @@ package apoc.convert; -import apoc.convert.utils.ConvertUtils; import apoc.meta.Types; import apoc.result.MapResult; import apoc.util.JsonUtil; diff --git a/core/src/test/java/apoc/example/Examples.java b/core/src/main/java/apoc/example/Examples.java similarity index 100% rename from core/src/test/java/apoc/example/Examples.java rename to core/src/main/java/apoc/example/Examples.java diff --git a/core/src/main/java/apoc/load/LoadJson.java b/core/src/main/java/apoc/load/LoadJson.java index eec6be5544..171f36658c 100644 --- a/core/src/main/java/apoc/load/LoadJson.java +++ b/core/src/main/java/apoc/load/LoadJson.java @@ -15,7 +15,8 @@ import java.util.Map; import java.util.stream.Stream; -import static apoc.load.LoadJsonUtils.loadJsonStream;import static apoc.util.CompressionConfig.COMPRESSION; +import static apoc.load.LoadJsonUtils.loadJsonStream; +import static apoc.util.CompressionConfig.COMPRESSION; public class LoadJson { diff --git a/full/build.gradle b/full/build.gradle index a56a8a3859..8dc57f70ec 100644 --- a/full/build.gradle +++ b/full/build.gradle @@ -5,7 +5,6 @@ plugins { id 'com.github.johnrengelman.shadow' id 'maven-publish' id 'antlr' - id "org.sonarqube" id "org.jetbrains.kotlin.jvm" version "1.6.0" id "com.diffplug.spotless" version "6.7.2" } @@ -45,65 +44,14 @@ shadowJar { } dependencies { - implementation project(":common") - testImplementation project(":common").sourceSets.test.output - testImplementation project(':test-utils') - testImplementation project(":core") - apt project(":processor") - - compileOnly "org.jetbrains.kotlin:kotlin-stdlib" - testImplementation "org.jetbrains.kotlin:kotlin-stdlib" apt group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective // mandatory to run @ServiceProvider based META-INF code generation -// implementation group: 'commons-codec', name: 'commons-codec', version: '1.14' - implementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.4.0' - implementation group: 'org.hdrhistogram', name: 'HdrHistogram', version: '2.1.9' - compileOnly group: 'org.neo4j.driver', name: 'neo4j-java-driver-slim', version: '4.4.5' - implementation group: 'com.novell.ldap', name: 'jldap', version: '2009-10-07' antlr "org.antlr:antlr4:4.7.2", { exclude group: 'org.glassfish' exclude group: 'com.ibm.icu' exclude group: 'org.abego.treelayout' } - // compileOnly "org.antlr:antlr4-runtime:4.7.2" - // testImplementation "org.antlr:antlr4-runtime:4.7.2" - - compileOnly "org.apache.poi:poi:5.1.0" - testImplementation "org.apache.poi:poi:5.1.0" - compileOnly "org.apache.poi:poi-ooxml:5.1.0" - testImplementation "org.apache.poi:poi-ooxml:5.1.0" - - implementation 'org.jsoup:jsoup:1.14.3' - - // currently we cannot update selenium to the latest version due to guava minimum version required (31.0.1-jre) - compileOnly group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59', { exclude group: 'com.google.guava', module: 'guava' } - testImplementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59', { exclude group: 'com.google.guava', module: 'guava' } - compileOnly group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.1.0' - testImplementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.1.0' - - implementation group: 'org.roaringbitmap', name: 'RoaringBitmap', version: '0.7.17' - implementation(group: 'org.apache.commons', name: 'commons-configuration2', version: '2.8.0') { - exclude group: "org.yaml" - exclude module: "snakeyaml" - exclude module: "commons-lang3" - } - implementation group: 'org.yaml', name: 'snakeyaml', version: '1.26' - testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' - - testImplementation 'net.sourceforge.jexcelapi:jxl:2.6.12' - - compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' - testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' - - testImplementation group: 'org.reflections', name: 'reflections', version: '0.9.12' - - testImplementation group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3' - testImplementation group: 'org.neo4j.test', name: 'neo4j-harness', version: neo4jVersionEffective - testImplementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.2.22.v20170606' - testImplementation group: 'org.apache.derby', name: 'derby', version: '10.12.1.1' - - testImplementation group: 'org.postgresql', name: 'postgresql', version: '42.1.4' def withoutServers = { exclude group: 'org.eclipse.jetty' @@ -116,62 +64,64 @@ dependencies { exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' } - compileOnly 'org.mongodb:mongodb-driver:3.2.2', { - exclude group: 'io.netty' + // These will be dependencies packaged with the .jar + implementation project(":common") + implementation group: 'com.novell.ldap', name: 'jldap', version: '2009-10-07' + implementation group: 'org.jsoup', name: 'jsoup', version: '1.14.3' + implementation group: 'com.opencsv', name: 'opencsv', version: '4.6' + implementation group: 'com.github.javafaker', name: 'javafaker', version: '1.0.2' + implementation group: 'us.fatehi', name: 'schemacrawler', version: '15.04.01' + + // These will be dependencies not packaged with the .jar + // They need to be provided either through the database or in an extra .jar + compileOnly group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective + compileOnly group: 'org.neo4j.driver', name: 'neo4j-java-driver-slim', version: '4.4.5' + compileOnly group: 'org.apache.poi', name: 'poi', version: '5.1.0' + compileOnly group: 'org.apache.poi', name: 'poi-ooxml', version: '5.1.0' + compileOnly group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59', { + exclude group: 'com.google.guava', module: 'guava' } - testImplementation 'org.mongodb:mongodb-driver:3.2.2', { + compileOnly group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.1.0' + compileOnly 'org.mongodb:mongodb-driver:3.2.2', { exclude group: 'io.netty' } - compileOnly group: 'com.couchbase.client', name: 'java-client', version: '3.3.0', withoutJacksons - testImplementation group: 'com.couchbase.client', name: 'java-client', version: '3.3.0', withoutJacksons - compileOnly group: 'io.lettuce', name: 'lettuce-core', version: '6.1.1.RELEASE' - testImplementation group: 'io.lettuce', name: 'lettuce-core', version: '6.1.1.RELEASE' - - compileOnly group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective - compileOnly group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.13.2', withoutJacksons - compileOnly 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0' - - testImplementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.13.2', withoutJacksons - testImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0' - - testImplementation 'org.mock-server:mockserver-netty:5.6.0' - testImplementation 'org.mock-server:mockserver-client-java:5.6.0' - + compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons - testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons + compileOnly group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0' + compileOnly group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: '1.6.0' + // These dependencies affect the tests only, they will not be packaged in the resulting .jar + testImplementation project(":common").sourceSets.test.output + testImplementation project(':test-utils') + testImplementation project(":core") + testImplementation group: 'org.apache.poi', name: 'poi', version: '5.1.0' + testImplementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.1.0' + testImplementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59' + testImplementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.1.0' + testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' + testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' + testImplementation group: 'org.reflections', name: 'reflections', version: '0.9.12' + testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: '1.6.0' + testImplementation group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3' + testImplementation group: 'org.apache.derby', name: 'derby', version: '10.12.1.1' + testImplementation group: 'org.mongodb', name: 'mongodb-driver', version: '3.2.2', { + exclude group: 'io.netty' + } + testImplementation group: 'com.couchbase.client', name: 'java-client', version: '3.3.0', withoutJacksons + testImplementation group: 'io.lettuce', name: 'lettuce-core', version: '6.1.1.RELEASE' + testImplementation group: 'org.mock-server', name: 'mockserver-netty', version: '5.6.0' + testImplementation group: 'org.mock-server', name: 'mockserver-client-java', version: '5.6.0' + testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons testImplementation group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.7' - implementation group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.4' - implementation group: 'com.opencsv', name: 'opencsv', version: '4.6' - compileOnly group: 'org.ow2.asm', name: 'asm', version: '5.0.2' - implementation group: 'com.github.javafaker', name: 'javafaker', version: '1.0.2' - - // schemacrawler - implementation group: 'us.fatehi', name: 'schemacrawler', version: '15.04.01' testImplementation group: 'us.fatehi', name: 'schemacrawler-mysql', version: '15.04.01' - - testImplementation group: 'org.apache.hive', name: 'hive-jdbc', version: '1.2.2', withoutServers - - implementation group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' - testImplementation group: 'org.xmlunit', name: 'xmlunit-core', version: '2.2.1' testImplementation group: 'com.github.adejanovski', name: 'cassandra-jdbc-wrapper', version: '3.1.0' - - testImplementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-csv', version: '2.13.2' - testImplementation group: 'org.skyscreamer', name: 'jsonassert', version: '1.5.0' - testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.13.2' - - compileOnly group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1' - testImplementation group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.6.1', { - exclude group: 'com.google.guava', module: 'guava' - } - - compileOnly group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0' testImplementation group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0' + testImplementation group: 'org.postgresql', name: 'postgresql', version: '42.1.4' configurations.all { exclude group: 'org.slf4j', module: 'slf4j-nop' diff --git a/common/src/main/java/apoc/export/xls/XlsExportConfig.java b/full/src/main/java/apoc/export/xls/XlsExportConfig.java similarity index 100% rename from common/src/main/java/apoc/export/xls/XlsExportConfig.java rename to full/src/main/java/apoc/export/xls/XlsExportConfig.java diff --git a/common/src/main/java/apoc/generate/BaseGraphGenerator.java b/full/src/main/java/apoc/generate/BaseGraphGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/BaseGraphGenerator.java rename to full/src/main/java/apoc/generate/BaseGraphGenerator.java diff --git a/common/src/main/java/apoc/generate/GraphGenerator.java b/full/src/main/java/apoc/generate/GraphGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/GraphGenerator.java rename to full/src/main/java/apoc/generate/GraphGenerator.java diff --git a/common/src/main/java/apoc/generate/Neo4jGraphGenerator.java b/full/src/main/java/apoc/generate/Neo4jGraphGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/Neo4jGraphGenerator.java rename to full/src/main/java/apoc/generate/Neo4jGraphGenerator.java diff --git a/common/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java b/full/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java similarity index 89% rename from common/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java rename to full/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java index a066805bdb..c7b26cc330 100644 --- a/common/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java +++ b/full/src/main/java/apoc/generate/config/BarabasiAlbertConfig.java @@ -1,7 +1,9 @@ package apoc.generate.config; +import apoc.generate.relationship.BarabasiAlbertRelationshipGenerator; + /** - * {@link RelationshipGeneratorConfig} for {@link apoc.generate.relationship.BarabasiAlbertRelationshipGenerator}. + * {@link RelationshipGeneratorConfig} for {@link BarabasiAlbertRelationshipGenerator}. *

* Permitted values: 0 < edgesPerNode < numberOfNodes * Recommended values: Interested in phenomenological model? Use low edgesPerNode value (2 ~ 3) diff --git a/common/src/main/java/apoc/generate/config/BasicGeneratorConfig.java b/full/src/main/java/apoc/generate/config/BasicGeneratorConfig.java similarity index 100% rename from common/src/main/java/apoc/generate/config/BasicGeneratorConfig.java rename to full/src/main/java/apoc/generate/config/BasicGeneratorConfig.java diff --git a/common/src/main/java/apoc/generate/config/DistributionBasedConfig.java b/full/src/main/java/apoc/generate/config/DistributionBasedConfig.java similarity index 100% rename from common/src/main/java/apoc/generate/config/DistributionBasedConfig.java rename to full/src/main/java/apoc/generate/config/DistributionBasedConfig.java diff --git a/common/src/main/java/apoc/generate/config/ErdosRenyiConfig.java b/full/src/main/java/apoc/generate/config/ErdosRenyiConfig.java similarity index 90% rename from common/src/main/java/apoc/generate/config/ErdosRenyiConfig.java rename to full/src/main/java/apoc/generate/config/ErdosRenyiConfig.java index 4e292823b7..cc9924b1a1 100644 --- a/common/src/main/java/apoc/generate/config/ErdosRenyiConfig.java +++ b/full/src/main/java/apoc/generate/config/ErdosRenyiConfig.java @@ -1,9 +1,10 @@ package apoc.generate.config; +import apoc.generate.relationship.ErdosRenyiRelationshipGenerator; import java.math.BigInteger; /** - * {@link RelationshipGeneratorConfig} for {@link apoc.generate.relationship.ErdosRenyiRelationshipGenerator}. + * {@link RelationshipGeneratorConfig} for {@link ErdosRenyiRelationshipGenerator}. * * numberOfNodes: number of nodes in the graph. 1 < numberOfNodes * numberOfEdges: number of edges present in the generated graph. Range: 0 < numberOfEdges < (numberOfNodes*(numberOfNodes - 1)/2). diff --git a/common/src/main/java/apoc/generate/config/GeneratorConfiguration.java b/full/src/main/java/apoc/generate/config/GeneratorConfiguration.java similarity index 92% rename from common/src/main/java/apoc/generate/config/GeneratorConfiguration.java rename to full/src/main/java/apoc/generate/config/GeneratorConfiguration.java index 6fd02dc820..4ea8a31d1f 100644 --- a/common/src/main/java/apoc/generate/config/GeneratorConfiguration.java +++ b/full/src/main/java/apoc/generate/config/GeneratorConfiguration.java @@ -1,11 +1,12 @@ package apoc.generate.config; +import apoc.generate.GraphGenerator; import apoc.generate.node.NodeCreator; import apoc.generate.relationship.RelationshipCreator; import apoc.generate.relationship.RelationshipGenerator; /** - * A configuration of a {@link apoc.generate.GraphGenerator}. + * A configuration of a {@link GraphGenerator}. */ public interface GeneratorConfiguration { diff --git a/common/src/main/java/apoc/generate/config/NumberOfNodesBasedConfig.java b/full/src/main/java/apoc/generate/config/NumberOfNodesBasedConfig.java similarity index 100% rename from common/src/main/java/apoc/generate/config/NumberOfNodesBasedConfig.java rename to full/src/main/java/apoc/generate/config/NumberOfNodesBasedConfig.java diff --git a/common/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java b/full/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java similarity index 77% rename from common/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java rename to full/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java index cea5b9cdcf..5c77869574 100644 --- a/common/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java +++ b/full/src/main/java/apoc/generate/config/RelationshipGeneratorConfig.java @@ -1,7 +1,9 @@ package apoc.generate.config; +import apoc.generate.relationship.RelationshipGenerator; + /** - * Configuration for a {@link apoc.generate.relationship.RelationshipGenerator}. + * Configuration for a {@link RelationshipGenerator}. */ public interface RelationshipGeneratorConfig { diff --git a/common/src/main/java/apoc/generate/config/WattsStrogatzConfig.java b/full/src/main/java/apoc/generate/config/WattsStrogatzConfig.java similarity index 92% rename from common/src/main/java/apoc/generate/config/WattsStrogatzConfig.java rename to full/src/main/java/apoc/generate/config/WattsStrogatzConfig.java index e7688fa0dd..208a6e82e9 100644 --- a/common/src/main/java/apoc/generate/config/WattsStrogatzConfig.java +++ b/full/src/main/java/apoc/generate/config/WattsStrogatzConfig.java @@ -1,7 +1,9 @@ package apoc.generate.config; +import apoc.generate.relationship.WattsStrogatzRelationshipGenerator; + /** - * {@link RelationshipGeneratorConfig} for {@link apoc.generate.relationship.WattsStrogatzRelationshipGenerator}. + * {@link RelationshipGeneratorConfig} for {@link WattsStrogatzRelationshipGenerator}. * * meanDegree: degree which a node in the graph has on average (best to choose something < 10) * numberOfNodes: number of nodes present in the graph diff --git a/common/src/main/java/apoc/generate/distribution/DegreeDistribution.java b/full/src/main/java/apoc/generate/distribution/DegreeDistribution.java similarity index 85% rename from common/src/main/java/apoc/generate/distribution/DegreeDistribution.java rename to full/src/main/java/apoc/generate/distribution/DegreeDistribution.java index e711c91521..94887d5741 100644 --- a/common/src/main/java/apoc/generate/distribution/DegreeDistribution.java +++ b/full/src/main/java/apoc/generate/distribution/DegreeDistribution.java @@ -1,9 +1,10 @@ package apoc.generate.distribution; +import apoc.generate.relationship.RelationshipGenerator; import java.util.List; /** - * A distribution of node degrees for {@link apoc.generate.relationship.RelationshipGenerator}s. + * A distribution of node degrees for {@link RelationshipGenerator}s. */ public interface DegreeDistribution { diff --git a/common/src/main/java/apoc/generate/distribution/MutableDegreeDistribution.java b/full/src/main/java/apoc/generate/distribution/MutableDegreeDistribution.java similarity index 100% rename from common/src/main/java/apoc/generate/distribution/MutableDegreeDistribution.java rename to full/src/main/java/apoc/generate/distribution/MutableDegreeDistribution.java diff --git a/common/src/main/java/apoc/generate/distribution/MutableSimpleDegreeDistribution.java b/full/src/main/java/apoc/generate/distribution/MutableSimpleDegreeDistribution.java similarity index 100% rename from common/src/main/java/apoc/generate/distribution/MutableSimpleDegreeDistribution.java rename to full/src/main/java/apoc/generate/distribution/MutableSimpleDegreeDistribution.java diff --git a/common/src/main/java/apoc/generate/distribution/SimpleDegreeDistribution.java b/full/src/main/java/apoc/generate/distribution/SimpleDegreeDistribution.java similarity index 100% rename from common/src/main/java/apoc/generate/distribution/SimpleDegreeDistribution.java rename to full/src/main/java/apoc/generate/distribution/SimpleDegreeDistribution.java diff --git a/common/src/main/java/apoc/generate/node/DefaultNodeCreator.java b/full/src/main/java/apoc/generate/node/DefaultNodeCreator.java similarity index 100% rename from common/src/main/java/apoc/generate/node/DefaultNodeCreator.java rename to full/src/main/java/apoc/generate/node/DefaultNodeCreator.java diff --git a/common/src/main/java/apoc/generate/node/NodeCreator.java b/full/src/main/java/apoc/generate/node/NodeCreator.java similarity index 100% rename from common/src/main/java/apoc/generate/node/NodeCreator.java rename to full/src/main/java/apoc/generate/node/NodeCreator.java diff --git a/common/src/main/java/apoc/generate/relationship/BarabasiAlbertRelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/BarabasiAlbertRelationshipGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/BarabasiAlbertRelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/BarabasiAlbertRelationshipGenerator.java diff --git a/common/src/main/java/apoc/generate/relationship/BaseRelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/BaseRelationshipGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/BaseRelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/BaseRelationshipGenerator.java diff --git a/common/src/main/java/apoc/generate/relationship/CompleteGraphRelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/CompleteGraphRelationshipGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/CompleteGraphRelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/CompleteGraphRelationshipGenerator.java diff --git a/common/src/main/java/apoc/generate/relationship/DefaultRelationshipCreator.java b/full/src/main/java/apoc/generate/relationship/DefaultRelationshipCreator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/DefaultRelationshipCreator.java rename to full/src/main/java/apoc/generate/relationship/DefaultRelationshipCreator.java diff --git a/common/src/main/java/apoc/generate/relationship/ErdosRenyiRelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/ErdosRenyiRelationshipGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/ErdosRenyiRelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/ErdosRenyiRelationshipGenerator.java diff --git a/common/src/main/java/apoc/generate/relationship/RelationshipCreator.java b/full/src/main/java/apoc/generate/relationship/RelationshipCreator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/RelationshipCreator.java rename to full/src/main/java/apoc/generate/relationship/RelationshipCreator.java diff --git a/common/src/main/java/apoc/generate/relationship/RelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/RelationshipGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/RelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/RelationshipGenerator.java diff --git a/common/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java similarity index 97% rename from common/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java index 7c2c2fb2b9..12fd62b88d 100644 --- a/common/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java +++ b/full/src/main/java/apoc/generate/relationship/SimpleGraphRelationshipGenerator.java @@ -1,6 +1,7 @@ package apoc.generate.relationship; import apoc.generate.config.DistributionBasedConfig; +import apoc.generate.distribution.DegreeDistribution; import apoc.generate.distribution.MutableDegreeDistribution; import apoc.generate.distribution.MutableSimpleDegreeDistribution; import apoc.generate.utils.WeightedReservoirSampler; @@ -10,7 +11,7 @@ import java.util.List; /** - * A simple minded {@link RelationshipGenerator} based on a {@link apoc.generate.distribution.DegreeDistribution} + * A simple minded {@link RelationshipGenerator} based on a {@link DegreeDistribution} *

* Please note that the distribution of randomly generated graphs isn't exactly uniform (see the paper below) *

diff --git a/common/src/main/java/apoc/generate/relationship/SocialNetworkRelationshipCreator.java b/full/src/main/java/apoc/generate/relationship/SocialNetworkRelationshipCreator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/SocialNetworkRelationshipCreator.java rename to full/src/main/java/apoc/generate/relationship/SocialNetworkRelationshipCreator.java diff --git a/common/src/main/java/apoc/generate/relationship/WattsStrogatzRelationshipGenerator.java b/full/src/main/java/apoc/generate/relationship/WattsStrogatzRelationshipGenerator.java similarity index 100% rename from common/src/main/java/apoc/generate/relationship/WattsStrogatzRelationshipGenerator.java rename to full/src/main/java/apoc/generate/relationship/WattsStrogatzRelationshipGenerator.java diff --git a/common/src/main/java/apoc/generate/utils/WeightedReservoirSampler.java b/full/src/main/java/apoc/generate/utils/WeightedReservoirSampler.java similarity index 100% rename from common/src/main/java/apoc/generate/utils/WeightedReservoirSampler.java rename to full/src/main/java/apoc/generate/utils/WeightedReservoirSampler.java diff --git a/common/src/main/java/apoc/model/ModelConfig.java b/full/src/main/java/apoc/model/ModelConfig.java similarity index 100% rename from common/src/main/java/apoc/model/ModelConfig.java rename to full/src/main/java/apoc/model/ModelConfig.java diff --git a/full/src/test/java/apoc/ApocSplitTest.java b/full/src/test/java/apoc/ApocSplitTest.java index 34c2544a4b..c46a0b27f7 100644 --- a/full/src/test/java/apoc/ApocSplitTest.java +++ b/full/src/test/java/apoc/ApocSplitTest.java @@ -189,6 +189,10 @@ public void test() { var expectedProcedures = Stream.concat(PROCEDURES_FROM_CORE.stream(), FULL_PROCEDURES.stream()).collect(Collectors.toSet()); var expectedFunctions = Stream.concat(FUNCTIONS_FROM_CORE.stream(), FULL_FUNCTIONS.stream()).collect(Collectors.toSet()); + expectedProcedures.stream().filter(s -> !procedureNames.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); + expectedFunctions.stream().filter(s -> !functionNames.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); + procedureNames.stream().filter(s -> !expectedProcedures.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); + functionNames.stream().filter(s -> !expectedFunctions.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); assertTrue(procedureNames.containsAll(expectedProcedures) && procedureNames.size() == expectedProcedures.size()); assertTrue(functionNames.containsAll(expectedFunctions) && functionNames.size() == expectedFunctions.size()); diff --git a/common/src/test/java/apoc/generate/config/BarabasiAlbertConfigTest.java b/full/src/test/java/apoc/generate/config/BarabasiAlbertConfigTest.java similarity index 100% rename from common/src/test/java/apoc/generate/config/BarabasiAlbertConfigTest.java rename to full/src/test/java/apoc/generate/config/BarabasiAlbertConfigTest.java diff --git a/common/src/test/java/apoc/generate/config/ErdosRenyiConfigTest.java b/full/src/test/java/apoc/generate/config/ErdosRenyiConfigTest.java similarity index 100% rename from common/src/test/java/apoc/generate/config/ErdosRenyiConfigTest.java rename to full/src/test/java/apoc/generate/config/ErdosRenyiConfigTest.java diff --git a/common/src/test/java/apoc/generate/config/NumberOfNodesBasedConfigTest.java b/full/src/test/java/apoc/generate/config/NumberOfNodesBasedConfigTest.java similarity index 100% rename from common/src/test/java/apoc/generate/config/NumberOfNodesBasedConfigTest.java rename to full/src/test/java/apoc/generate/config/NumberOfNodesBasedConfigTest.java diff --git a/common/src/test/java/apoc/generate/config/WattsStrogatzConfigTest.java b/full/src/test/java/apoc/generate/config/WattsStrogatzConfigTest.java similarity index 100% rename from common/src/test/java/apoc/generate/config/WattsStrogatzConfigTest.java rename to full/src/test/java/apoc/generate/config/WattsStrogatzConfigTest.java diff --git a/common/src/test/java/apoc/generate/relationship/CompleteGraphRelationshipGeneratorTest.java b/full/src/test/java/apoc/generate/relationship/CompleteGraphRelationshipGeneratorTest.java similarity index 100% rename from common/src/test/java/apoc/generate/relationship/CompleteGraphRelationshipGeneratorTest.java rename to full/src/test/java/apoc/generate/relationship/CompleteGraphRelationshipGeneratorTest.java diff --git a/common/src/test/java/apoc/generate/relationship/WattsStrogatzRelationshipGeneratorTest.java b/full/src/test/java/apoc/generate/relationship/WattsStrogatzRelationshipGeneratorTest.java similarity index 100% rename from common/src/test/java/apoc/generate/relationship/WattsStrogatzRelationshipGeneratorTest.java rename to full/src/test/java/apoc/generate/relationship/WattsStrogatzRelationshipGeneratorTest.java diff --git a/test-utils/build.gradle b/test-utils/build.gradle index 96918a5e4e..e4662daa20 100644 --- a/test-utils/build.gradle +++ b/test-utils/build.gradle @@ -1,34 +1,19 @@ description = 'APOC :: Test Utils' dependencies { - api group: 'junit', name: 'junit', version: '4.13.2' - - implementation group: 'org.neo4j', name: 'neo4j-common', version: neo4jVersionEffective, classifier: "tests" - api group: 'org.neo4j.community', name: 'it-test-support', version: neo4jVersionEffective // , classifier: "tests" - api group: 'org.neo4j', name: 'log-test-utils', version: neo4jVersionEffective // , classifier: "tests" - - implementation group: 'org.neo4j', name: 'neo4j-kernel', version: neo4jVersionEffective, classifier: "tests" - implementation group: 'org.neo4j', name: 'neo4j-io', version: neo4jVersionEffective, classifier: "tests" - - implementation group: 'com.google.guava', name: 'guava', version: '31.0.1-jre' - - api group: 'org.neo4j.driver', name: 'neo4j-java-driver', version: '4.0.0' - - implementation group: 'org.gradle', name: 'gradle-tooling-api', version: '7.2' - def withoutServers = { exclude group: 'org.eclipse.jetty' exclude group: 'org.eclipse.jetty.aggregate' exclude group: 'org.apache.hive', module: 'hive-service' } + api group: 'junit', name: 'junit', version: '4.13.2' + api group: 'org.neo4j.community', name: 'it-test-support', version: neo4jVersionEffective // , classifier: "tests" + api group: 'org.neo4j', name: 'log-test-utils', version: neo4jVersionEffective // , classifier: "tests" + api group: 'org.neo4j.driver', name: 'neo4j-java-driver', version: '4.0.0' api group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '3.3.2', withoutServers api group: 'org.apache.hadoop', name: 'hadoop-common', version: '3.3.2', withoutServers api group: 'org.apache.hadoop', name: 'hadoop-minicluster', version: '3.3.2', withoutServers - - implementation group: 'org.jetbrains', name: 'annotations', version: "17.0.0" - - // Test Containers api group: 'org.testcontainers', name: 'testcontainers', version: testContainersVersion api group: 'org.testcontainers', name: 'neo4j', version: testContainersVersion api group: 'org.testcontainers', name: 'elasticsearch', version: testContainersVersion @@ -39,4 +24,10 @@ dependencies { api group: 'org.testcontainers', name: 'localstack', version: testContainersVersion api group: 'org.apache.arrow', name: 'arrow-vector', version: '7.0.0' api group: 'org.apache.arrow', name: 'arrow-memory-netty', version: '7.0.0' + + implementation group: 'org.neo4j', name: 'neo4j-common', version: neo4jVersionEffective, classifier: "tests" + implementation group: 'org.neo4j', name: 'neo4j-kernel', version: neo4jVersionEffective, classifier: "tests" + implementation group: 'org.neo4j', name: 'neo4j-io', version: neo4jVersionEffective, classifier: "tests" + implementation group: 'org.gradle', name: 'gradle-tooling-api', version: '7.2' + implementation group: 'org.jetbrains', name: 'annotations', version: "17.0.0" }