From d6bfd18d843b4abd63b2495f0ead9610cb65d071 Mon Sep 17 00:00:00 2001 From: Giuseppe Villani Date: Wed, 25 Jan 2023 18:04:25 +0100 Subject: [PATCH] [NOID] Cherry picks from 5.3 (#3423) * [NOID] Removed neo4jVersionOverride from apoc gradle version (#3398) * [NOID] Removed unnecessary bolt-dependencies (#3377) (#3380) --- apoc-core | 2 +- build.gradle | 2 +- .../database-integration/bolt-neo4j.adoc | 9 - .../pages/database-integration/couchbase.adoc | 2 +- .../pages/database-integration/redis.adoc | 2 +- .../modules/ROOT/pages/import/web-apis.adoc | 2 +- .../ROOT/partials/email-dependencies.adoc | 2 +- .../modules/ROOT/partials/html/runtime.adoc | 2 +- .../ROOT/partials/mongodb-dependencies.adoc | 2 +- .../ROOT/partials/nlp-dependencies.adoc | 2 +- .../ROOT/partials/xls-dependencies.adoc | 2 +- extra-dependencies/bolt/build.gradle | 25 --- .../bolt/gradle/wrapper/gradle-wrapper.jar | Bin 54212 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - extra-dependencies/bolt/gradlew | 183 ------------------ extra-dependencies/bolt/gradlew.bat | 100 ---------- extra-dependencies/bolt/settings.gradle | 17 -- extra-dependencies/settings.gradle | 1 - 18 files changed, 10 insertions(+), 351 deletions(-) delete mode 100644 extra-dependencies/bolt/build.gradle delete mode 100644 extra-dependencies/bolt/gradle/wrapper/gradle-wrapper.jar delete mode 100644 extra-dependencies/bolt/gradle/wrapper/gradle-wrapper.properties delete mode 100755 extra-dependencies/bolt/gradlew delete mode 100644 extra-dependencies/bolt/gradlew.bat delete mode 100644 extra-dependencies/bolt/settings.gradle diff --git a/apoc-core b/apoc-core index 9f3273619d..5ecd6f715a 160000 --- a/apoc-core +++ b/apoc-core @@ -1 +1 @@ -Subproject commit 9f3273619d50f5330e359424d52a8649f8f883a6 +Subproject commit 5ecd6f715a9e40c04e29ac4e3e81510f84491849 diff --git a/build.gradle b/build.gradle index e9bc9b5145..a539124d6e 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ downloadLicenses { allprojects { group = 'org.neo4j.procedure' - version = project.hasProperty("neo4jVersionOverride") ? project.getProperty("neo4jVersionOverride") : '5.5.0' + version = '5.5.0' archivesBaseName = 'apoc' description = """neo4j-apoc-procedures""" } diff --git a/docs/asciidoc/modules/ROOT/pages/database-integration/bolt-neo4j.adoc b/docs/asciidoc/modules/ROOT/pages/database-integration/bolt-neo4j.adoc index 57c1af02cf..d051908cf1 100644 --- a/docs/asciidoc/modules/ROOT/pages/database-integration/bolt-neo4j.adoc +++ b/docs/asciidoc/modules/ROOT/pages/database-integration/bolt-neo4j.adoc @@ -74,15 +74,6 @@ In addition, the `apoc.bolt.load.fromLocal` can have: * `readOnly`: default false. To execute or not, read-only statements. * `localParams`: to put optional parameters to local cypher statement -== Install Dependencies - -The Bolt procedures have dependencies on a client library that is not included in the APOC Extended library. - -You can download it from https://repo1.maven.org/maven2/org/neo4j/driver/neo4j-java-driver-slim/4.4.5/neo4j-java-driver-slim-4.4.5.jar[mvnrepository] -or https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-bolt-dependencies-{apoc-release}.jar[apoc repository]. -Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. - - == Driver configuration diff --git a/docs/asciidoc/modules/ROOT/pages/database-integration/couchbase.adoc b/docs/asciidoc/modules/ROOT/pages/database-integration/couchbase.adoc index 4690753098..b503167fd1 100644 --- a/docs/asciidoc/modules/ROOT/pages/database-integration/couchbase.adoc +++ b/docs/asciidoc/modules/ROOT/pages/database-integration/couchbase.adoc @@ -25,7 +25,7 @@ include::example$generated-documentation/apoc.couchbase.query.adoc[] (Tested with CB Enterprise 5.5.3) The Couchbase procedures have dependencies on a client library that is not included in the APOC Extended library. -This dependency is included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-couchbase-dependencies-{apoc-release}.jar[apoc-couchbase-dependencies-{apoc-release}.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. +This dependency is included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-couchbase-dependencies-{apoc-release}-all.jar[apoc-couchbase-dependencies-{apoc-release}-all.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. diff --git a/docs/asciidoc/modules/ROOT/pages/database-integration/redis.adoc b/docs/asciidoc/modules/ROOT/pages/database-integration/redis.adoc index ea30f0a41e..2e84641fb8 100644 --- a/docs/asciidoc/modules/ROOT/pages/database-integration/redis.adoc +++ b/docs/asciidoc/modules/ROOT/pages/database-integration/redis.adoc @@ -45,7 +45,7 @@ Here is a list of all available Redis procedures: The Redis procedures have dependencies on a client library that is not included in the APOC Extended library. You can download it from https://github.com/lettuce-io/lettuce-core/releases/tag/6.1.1.RELEASE[the lettuce-core repository](except for `netty` jars because they are already included within neo4j) -or https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-redis-dependencies-{apoc-release}.jar[apoc repository] +or https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-redis-dependencies-{apoc-release}-all.jar[apoc repository] Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. [[redis-uri]] diff --git a/docs/asciidoc/modules/ROOT/pages/import/web-apis.adoc b/docs/asciidoc/modules/ROOT/pages/import/web-apis.adoc index 4334c83c99..71cbfaa1c5 100644 --- a/docs/asciidoc/modules/ROOT/pages/import/web-apis.adoc +++ b/docs/asciidoc/modules/ROOT/pages/import/web-apis.adoc @@ -38,7 +38,7 @@ include::partial$s3-protocol.adoc[] == Using hdfs protocol To use the hdfs protocol we need to download and copy the additional jars not included in the APOC Extended library. -We can download it from https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-redis-dependencies-{apoc-release}.jar[this link] or locally downloading the apoc repository: +We can download it from https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-hadoop-dependencies-{apoc-release}-all.jar[this link] or locally downloading the apoc repository: ---- git clone http://github.com/neo4j-contrib/neo4j-apoc-procedures cd neo4j-apoc-procedures/extra-dependencies diff --git a/docs/asciidoc/modules/ROOT/partials/email-dependencies.adoc b/docs/asciidoc/modules/ROOT/partials/email-dependencies.adoc index a3bbc8035c..81fc84236b 100644 --- a/docs/asciidoc/modules/ROOT/partials/email-dependencies.adoc +++ b/docs/asciidoc/modules/ROOT/partials/email-dependencies.adoc @@ -1,4 +1,4 @@ This procedure has a dependency on an email library that is not included in the APOC Extended library. -The dependency is included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-email-dependencies-{apoc-release}.jar[apoc-email-dependencies-{apoc-release}.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. +The dependency is included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-email-dependencies-{apoc-release}-all.jar[apoc-email-dependencies-{apoc-release}-all.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. \ No newline at end of file diff --git a/docs/asciidoc/modules/ROOT/partials/html/runtime.adoc b/docs/asciidoc/modules/ROOT/partials/html/runtime.adoc index d0673d1b42..3eab9368cd 100644 --- a/docs/asciidoc/modules/ROOT/partials/html/runtime.adoc +++ b/docs/asciidoc/modules/ROOT/partials/html/runtime.adoc @@ -25,4 +25,4 @@ If we have a `test.html` file with a jQuery script like: we can read the generated js through the `browser` config. Note that to use the `browser` config (except with `"NONE"` value), you have to install additional dependencies -which can be downloaded https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-selenium-dependencies-{apoc-release}.jar[from this link]. +which can be downloaded https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-selenium-dependencies-{apoc-release}-all.jar[from this link]. diff --git a/docs/asciidoc/modules/ROOT/partials/mongodb-dependencies.adoc b/docs/asciidoc/modules/ROOT/partials/mongodb-dependencies.adoc index 3071660968..a0f625491e 100644 --- a/docs/asciidoc/modules/ROOT/partials/mongodb-dependencies.adoc +++ b/docs/asciidoc/modules/ROOT/partials/mongodb-dependencies.adoc @@ -1,6 +1,6 @@ The Mongo procedures have dependencies on a client library that is not included in the APOC Extended library. -This dependency is included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-mongodb-dependencies-{apoc-release}.jar[apoc-mongodb-dependencies-{apoc-release}.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. +This dependency is included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-mongodb-dependencies-{apoc-release}-all.jar[apoc-mongodb-dependencies-{apoc-release}-all.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. diff --git a/docs/asciidoc/modules/ROOT/partials/nlp-dependencies.adoc b/docs/asciidoc/modules/ROOT/partials/nlp-dependencies.adoc index 77a8816e0d..1a9f5b1cd5 100644 --- a/docs/asciidoc/modules/ROOT/partials/nlp-dependencies.adoc +++ b/docs/asciidoc/modules/ROOT/partials/nlp-dependencies.adoc @@ -1,4 +1,4 @@ The NLP procedures have dependencies on Kotlin and client libraries that are not included in the APOC Extended library. -These dependencies are included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-nlp-dependencies-{apoc-release}.jar[apoc-nlp-dependencies-{apoc-release}.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. +These dependencies are included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-nlp-dependencies-{apoc-release}-all.jar[apoc-nlp-dependencies-{apoc-release}-all.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. \ No newline at end of file diff --git a/docs/asciidoc/modules/ROOT/partials/xls-dependencies.adoc b/docs/asciidoc/modules/ROOT/partials/xls-dependencies.adoc index 1ecd15b5cb..554cf51e1c 100644 --- a/docs/asciidoc/modules/ROOT/partials/xls-dependencies.adoc +++ b/docs/asciidoc/modules/ROOT/partials/xls-dependencies.adoc @@ -1,7 +1,7 @@ For loading XLS we're using the Apache POI library, which works well with old and new Excel formats, but is quite large. That's why we decided not to include it into the apoc jar, but make it an optional dependency. -These dependencies are included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-xls-dependencies-{apoc-release}.jar[apoc-xls-dependencies-{apoc-release}.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. +These dependencies are included in https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/{apoc-release}/apoc-xls-dependencies-{apoc-release}-all.jar[apoc-xls-dependencies-{apoc-release}-all.jar^], which can be downloaded from the https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/tag/{apoc-release}[releases page^]. Once that file is downloaded, it should be placed in the `plugins` directory and the Neo4j Server restarted. Alternatively, you can download these jars from Maven Repository (putting them into `plugins` directory as well): diff --git a/extra-dependencies/bolt/build.gradle b/extra-dependencies/bolt/build.gradle deleted file mode 100644 index 1d8dd68ed2..0000000000 --- a/extra-dependencies/bolt/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'com.github.johnrengelman.shadow' version '7.1.0' -} - -java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 -} - -archivesBaseName = 'apoc-bolt-dependencies' -description = """APOC Bolt Dependencies""" - -jar { - manifest { - attributes 'Implementation-Version': version - } -} - -dependencies { - implementation group: 'org.neo4j.driver', name: 'neo4j-java-driver-slim', version: '4.4.5' -} - - - - diff --git a/extra-dependencies/bolt/gradle/wrapper/gradle-wrapper.jar b/extra-dependencies/bolt/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e289a2835ae88a608daec1a250312166928004e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54212 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
  • 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 \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/extra-dependencies/bolt/gradlew.bat b/extra-dependencies/bolt/gradlew.bat deleted file mode 100644 index 9618d8d960..0000000000 --- a/extra-dependencies/bolt/gradlew.bat +++ /dev/null @@ -1,100 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/extra-dependencies/bolt/settings.gradle b/extra-dependencies/bolt/settings.gradle deleted file mode 100644 index 988ada53d1..0000000000 --- a/extra-dependencies/bolt/settings.gradle +++ /dev/null @@ -1,17 +0,0 @@ - -pluginManagement { - repositories { -// mavenLocal() - maven { - url "https://neo.jfrog.io/neo/docs-maven" // System.env.ARTIFACTORY_URI -/* - credentials { - username System.env.ARTIFACTORY_USERNAME - password System.env.ARTIFACTORY_PASSWORD - } -*/ - } - gradlePluginPortal() - - } -} \ No newline at end of file diff --git a/extra-dependencies/settings.gradle b/extra-dependencies/settings.gradle index 30fd433431..a4382cfc10 100644 --- a/extra-dependencies/settings.gradle +++ b/extra-dependencies/settings.gradle @@ -7,4 +7,3 @@ include('xls') include('redis') include('selenium') include('hadoop') -include('bolt') \ No newline at end of file