Build: Update gradle to 8.5

This commit is contained in:
zzz
2024-01-28 12:09:10 +00:00
parent 883aab8d5a
commit c54ec4d458
25 changed files with 177 additions and 129 deletions

View File

@ -362,7 +362,7 @@ distributions. See the source package for the additional license information.
Admin Manager: Admin Manager:
Public domain Public domain
Gradle wrapper 5.2.1: Gradle wrapper 8.5:
(not included in most distribution packages) (not included in most distribution packages)
Copyright (c) 2017 the original author or authors. Copyright (c) 2023 the original author or authors.
See licenses/LICENSE-Apache2.0.txt See licenses/LICENSE-Apache2.0.txt

View File

@ -1,3 +1,7 @@
plugins {
id 'java-library'
}
sourceSets { sourceSets {
main { main {
java { java {
@ -8,10 +12,10 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
compile project(':router') api project(':router')
compile project(':installer') api project(':installer')
compile project(':apps:systray') api project(':apps:systray')
} }
// Create the java files from the po files. The jar task will compile them. // Create the java files from the po files. The jar task will compile them.

View File

@ -1,4 +1,5 @@
plugins { plugins {
id 'java-library'
id 'war' id 'war'
} }
@ -11,13 +12,15 @@ sourceSets {
} }
dependencies { dependencies {
providedCompile project(':router') api project(':router')
providedCompile project(':apps:jetty') api project(':apps:jetty')
providedCompile files('../../installer/lib/wrapper/all/wrapper.jar') api files('../../installer/lib/wrapper/all/wrapper.jar')
api fileTree("../jetty/apache-tomcat-${tomcatVersion}")
api fileTree("../jetty/jetty-distribution-${jettyVersion}")
} }
war { war {
archiveName 'jsonrpc.war' archiveBaseName.set('jsonrpc')
webXml = file('web.xml') webXml = file('web.xml')
} }

View File

@ -1,4 +1,5 @@
plugins { plugins {
id 'java-library'
id 'war' id 'war'
} }
@ -12,14 +13,14 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
providedCompile project(':apps:systray') api project(':apps:systray')
compile 'gnu.getopt:java-getopt:1.0.13' api 'gnu.getopt:java-getopt:1.0.13'
providedCompile project(':apps:ministreaming') api project(':apps:ministreaming')
providedCompile project(':apps:jetty') api project(':apps:jetty')
// this is not needed except for standalone, // this is not needed except for standalone,
// but we build the standalone classes even for non-standalone // but we build the standalone classes even for non-standalone
providedCompile project(':apps:desktopgui') api project(':apps:desktopgui')
} }
task i2psnarkJar(type: Jar) { task i2psnarkJar(type: Jar) {

View File

@ -1,4 +1,5 @@
plugins { plugins {
id 'java-library'
id 'war' id 'war'
} }
@ -18,13 +19,14 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
providedCompile project(':apps:ministreaming') api project(':apps:ministreaming')
compile 'gnu.getopt:java-getopt:1.0.13' api 'gnu.getopt:java-getopt:1.0.13'
providedCompile project(':apps:jetty') api project(':apps:jetty')
implementation 'org.apache.ant:ant:1.10.10' // seems like it should be compileOnly but that doesn't work
implementation fileTree("../jetty/apache-tomacat-${tomcatVersion}") implementation 'org.apache.ant:ant:1.10.14'
api fileTree("../jetty/apache-tomcat-${tomcatVersion}")
} }
// Create the java files from the po files. The jar task will compile them. // Create the java files from the po files. The jar task will compile them.
@ -159,12 +161,12 @@ task tempBeansJar(type: Jar) {
include '**/EditBean.class' include '**/EditBean.class'
include '**/ui/*.class' include '**/ui/*.class'
include '**/IndexBean.class' include '**/IndexBean.class'
baseName = 'temp-beans' archiveBaseName = 'temp-beans'
} }
// only for android // only for android
task uiJar(type: Jar) { task uiJar(type: Jar) {
baseName = 'i2ptunnel-ui' archiveBaseName = 'i2ptunnel-ui'
from sourceSets.main.output from sourceSets.main.output
include '**/ui/*.class' include '**/ui/*.class'
manifest { manifest {
@ -177,6 +179,7 @@ artifacts {
} }
war { war {
duplicatesStrategy 'exclude'
include '**/EditBean.class' include '**/EditBean.class'
include '**/ui/*.class' include '**/ui/*.class'
include '**/IndexBean.class' include '**/IndexBean.class'

View File

@ -14,8 +14,9 @@ sourceSets {
} }
dependencies { dependencies {
providedCompile project(':core') implementation project(':core')
providedCompile project(':apps:jetty') implementation project(':apps:jetty')
implementation fileTree("../jetty/apache-tomcat-${tomcatVersion}")
} }
war { war {

View File

@ -1,3 +1,7 @@
plugins {
id 'java-library'
}
archivesBaseName = 'jetty-i2p' archivesBaseName = 'jetty-i2p'
sourceSets { sourceSets {
@ -9,30 +13,30 @@ sourceSets {
} }
dependencies { dependencies {
ext.jettyVersion = '9.3.29.v20201019' ext.jettyVersion = '9.3.30.v20211001'
ext.tomcatVersion = "${tomcatVersion}" ext.tomcatVersion = "${tomcatVersion}"
compile project(':core') api project(':core')
compile 'org.eclipse.jetty:jetty-http:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-http:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-io:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-io:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-security:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-security:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-server:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-server:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-servlet:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-servlet:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-util:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-util:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-xml:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-xml:' + ext.jettyVersion
runtime 'org.eclipse.jetty:apache-jsp:' + ext.jettyVersion api 'org.eclipse.jetty:apache-jsp:' + ext.jettyVersion
runtime 'org.eclipse.jetty:jetty-continuation:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-continuation:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-deploy:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-deploy:' + ext.jettyVersion
runtime 'org.eclipse.jetty:jetty-jmx:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-jmx:' + ext.jettyVersion
runtime 'org.eclipse.jetty:jetty-rewrite:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-rewrite:' + ext.jettyVersion
runtime 'org.eclipse.jetty:jetty-servlets:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-servlets:' + ext.jettyVersion
runtime 'org.eclipse.jetty:jetty-start:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-start:' + ext.jettyVersion
compile 'org.eclipse.jetty:jetty-webapp:' + ext.jettyVersion api 'org.eclipse.jetty:jetty-webapp:' + ext.jettyVersion
compile 'org.apache.tomcat:tomcat-api:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-api:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-el-api:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-el-api:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-jasper:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-jasper:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-jasper-el:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-jasper-el:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-jsp-api:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-jsp-api:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-juli:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-juli:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-util:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-util:' + ext.tomcatVersion
runtime 'org.apache.tomcat:tomcat-util-scan:' + ext.tomcatVersion api 'org.apache.tomcat:tomcat-util-scan:' + ext.tomcatVersion
} }

View File

@ -1,3 +1,7 @@
plugins {
id 'java-library'
}
sourceSets { sourceSets {
main { main {
java { java {
@ -7,5 +11,5 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
} }

View File

@ -44,7 +44,7 @@ configurations {
tests tests
} }
task testJar(type: Jar) { task testJar(type: Jar) {
baseName = 'mstreaming-test' archiveBaseName = 'mstreaming-test'
dependsOn classes dependsOn classes
from sourceSets.test.output from sourceSets.test.output
} }

View File

@ -1,4 +1,5 @@
plugins { plugins {
id 'java-library'
id 'war' id 'war'
id 'scala' id 'scala'
} }
@ -15,21 +16,24 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
compile project(':router') api project(':router')
compile project(':installer') api project(':installer')
compile 'gnu.getopt:java-getopt:1.0.13' api 'gnu.getopt:java-getopt:1.0.13'
// below were providedCompile api project(':apps:desktopgui')
providedCompile project(':apps:desktopgui') api project(':apps:systray')
providedCompile project(':apps:systray') api project(':apps:jetty')
providedCompile project(':apps:jetty') api project(':apps:jrobin')
providedCompile project(':apps:jrobin') api files('../../installer/lib/wrapper/all/wrapper.jar')
api fileTree("../jetty/jetty-distribution-${jettyVersion}")
implementation 'org.apache.ant:ant:1.10.10' // seems like it should be compileOnly but that doesn't work
implementation fileTree("../jetty/apache-tomacat-${tomcatVersion}") implementation 'org.apache.ant:ant:1.10.14'
testCompile "org.scala-lang:scala-library:2.12.4" api fileTree("../jetty/apache-tomcat-${tomcatVersion}")
testCompile 'org.scalatest:scalatest_2.12:3.0.4' // don't use 2.12.4, stack overflow: https://github.com/sbt/zinc/issues/1010
testImplementation "org.scala-lang:scala-library:2.12.5"
testImplementation 'org.scalatest:scalatest_2.12:3.0.4'
} }
if (System.getenv("TARGET_JAVA_HOME") == null && JavaVersion.current() != JavaVersion.VERSION_1_7) { if (System.getenv("TARGET_JAVA_HOME") == null && JavaVersion.current() != JavaVersion.VERSION_1_7) {
@ -173,6 +177,7 @@ war.dependsOn(bundle,precompileJsp)
war { war {
duplicatesStrategy 'exclude'
rootSpec.exclude('**/*.jar') rootSpec.exclude('**/*.jar')
rootSpec.exclude('/com/vuze/**/*') rootSpec.exclude('/com/vuze/**/*')
rootSpec.exclude('/edu/internet2/**/*') rootSpec.exclude('/edu/internet2/**/*')

View File

@ -1,3 +1,7 @@
plugins {
id 'java-library'
}
sourceSets { sourceSets {
main { main {
java { java {
@ -12,7 +16,7 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
compile project(':apps:ministreaming') api project(':apps:ministreaming')
compile 'gnu.getopt:java-getopt:1.0.13' api 'gnu.getopt:java-getopt:1.0.13'
} }

View File

@ -12,11 +12,13 @@ sourceSets {
} }
dependencies { dependencies {
providedCompile project(':core') implementation project(':core')
providedCompile project(':apps:jetty') implementation project(':apps:jetty')
implementation 'org.apache.ant:ant:1.10.10' // seems like it should be compileOnly but that doesn't work
implementation fileTree("../jetty/apache-tomacat-${tomcatVersion}") implementation 'org.apache.ant:ant:1.10.14'
implementation fileTree("../jetty/apache-tomcat-${tomcatVersion}")
implementation fileTree("../jetty/jetty-distribution-${jettyVersion}")
} }
// Create the java files from the po files. The jar task will compile them. // Create the java files from the po files. The jar task will compile them.

View File

@ -12,8 +12,8 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') implementation project(':core')
providedCompile project(':apps:jetty') implementation project(':apps:jetty')
} }
// Create the java files from the po files. The jar task will compile them. // Create the java files from the po files. The jar task will compile them.
@ -36,6 +36,7 @@ war {
webInf { webInf {
into 'classes' into 'classes'
from 'src/susimail.properties' from 'src/susimail.properties'
duplicatesStrategy 'include'
} }
webXml = file('src/WEB-INF/web.xml') webXml = file('src/WEB-INF/web.xml')
} }

View File

@ -1,3 +1,7 @@
plugins {
id 'java-library'
}
sourceSets { sourceSets {
main { main {
java { java {
@ -7,5 +11,5 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') api project(':core')
} }

View File

@ -71,9 +71,10 @@ subprojects {
} }
dependencies { dependencies {
testCompile 'junit:junit:4.+' // https://stackoverflow.com/questions/44493378/whats-the-difference-between-api-api-and-compile-in-gradle
testCompile 'org.hamcrest:hamcrest-library:1.3' testImplementation 'junit:junit:4.+'
testCompile 'org.mockito:mockito-core:2.5.0' testImplementation 'org.hamcrest:hamcrest-library:1.3'
testImplementation 'org.mockito:mockito-core:2.5.0'
} }
@ -118,14 +119,16 @@ task codeCoverageReport(type: JacocoReport) {
classDirectories.from(files(subprojects.sourceSets.main.output)) classDirectories.from(files(subprojects.sourceSets.main.output))
executionData.from(files(subprojects.jacocoTestReport.executionData)) executionData.from(files(subprojects.jacocoTestReport.executionData))
doFirst { // > The value for this file collection is final and cannot be changed.
executionData = files(executionData.findAll { it.exists() }) //doFirst {
} // executionData = files(executionData.findAll { it.exists() })
//}
reports { reports {
xml.enabled true // https://stackoverflow.com/questions/73546718/changing-enabled-to-required-throws-an-error-in-gradle
xml.required.set(true)
xml.destination file("${buildDir}/reports/jacoco/report.xml") xml.destination file("${buildDir}/reports/jacoco/report.xml")
html.enabled true html.required.set(true)
html.destination file("${buildDir}/reports/jacoco/html") html.destination file("${buildDir}/reports/jacoco/html")
} }
} }

View File

@ -1,7 +1,7 @@
plugins { plugins {
id 'java-library' id 'java-library'
id 'scala' id 'scala'
id 'me.champeau.gradle.jmh' version '0.4.8' id 'me.champeau.jmh' version '0.7.2'
} }
archivesBaseName = 'i2p' archivesBaseName = 'i2p'
@ -41,15 +41,16 @@ sourceSets {
} }
dependencies { dependencies {
implementation 'gnu.getopt:java-getopt:1.0.13' api 'gnu.getopt:java-getopt:1.0.13'
implementation 'org.gnu.gettext:libintl:0.18.3' api 'org.gnu.gettext:libintl:0.18.3'
if (project.hasProperty("with.jbigi")) { if (project.hasProperty("with.jbigi")) {
runtimeOnly project(path: ':installer', configuration: 'jbigi') runtimeOnly project(path: ':installer', configuration: 'jbigi')
} }
testCompile "org.scala-lang:scala-library:2.12.4" // don't use 2.12.4, stack overflow: https://github.com/sbt/zinc/issues/1010
testCompile 'org.scalatest:scalatest_2.12:3.0.4' testImplementation "org.scala-lang:scala-library:2.12.5"
testImplementation 'org.scalatest:scalatest_2.12:3.0.4'
} }
if (System.getenv("TARGET_JAVA_HOME") == null && JavaVersion.current() != JavaVersion.VERSION_1_7) { if (System.getenv("TARGET_JAVA_HOME") == null && JavaVersion.current() != JavaVersion.VERSION_1_7) {
@ -65,6 +66,7 @@ if (System.getenv("TARGET_JAVA_HOME") == null && JavaVersion.current() != JavaVe
args = ['-R', 'build/classes/scala/test', '-o'] args = ['-R', 'build/classes/scala/test', '-o']
classpath = sourceSets.test.runtimeClasspath classpath = sourceSets.test.runtimeClasspath
} }
test.dependsOn scalaTest test.dependsOn scalaTest
} }
@ -94,7 +96,7 @@ configurations {
tests tests
} }
task testJar(type: Jar) { task testJar(type: Jar) {
baseName = 'i2p-test' archiveBaseName = 'i2p-test'
dependsOn classes dependsOn classes
from sourceSets.test.output from sourceSets.test.output
} }

View File

@ -1,6 +1,7 @@
# Override these in ~/.gradle/gradle.properties if necessary # Override these in ~/.gradle/gradle.properties if necessary
java7BootClasspath= java7BootClasspath=
tomcatVersion=9.0.45 tomcatVersion=9.0.62
jettyVersion = '9.3.30.v20211001'
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true
org.gradle.configureondemand = true org.gradle.configureondemand = true

View File

@ -86,23 +86,25 @@ task prepUpdate(type: Copy) {
task updaterRouter(type: Zip) { task updaterRouter(type: Zip) {
description 'makes an i2pupdate.zip file containing core and router jars only' description 'makes an i2pupdate.zip file containing core and router jars only'
dependsOn prepUpdateRouter dependsOn prepUpdateRouter
archiveName 'i2pupdate.zip' // https://stackoverflow.com/questions/54501697/gradle-war-plugin-how-to-change-name-of-an-archive
destinationDir file('.') // https://discuss.gradle.org/t/destinationdir-is-deprecated-archivename-is-deprecated/31586
archiveFileName.set('i2pupdate.zip')
destinationDirectory.set(file('.'))
from 'pkg-temp' from 'pkg-temp'
} }
task updaterSmall(type: Zip) { task updaterSmall(type: Zip) {
description 'makes an i2pupdate.zip file with a subset of the resources' description 'makes an i2pupdate.zip file with a subset of the resources'
dependsOn prepUpdateSmall dependsOn prepUpdateSmall
archiveName 'i2pupdate.zip' archiveFileName.set('i2pupdate.zip')
destinationDir file('.') destinationDirectory.set(file('.'))
from 'pkg-temp' from 'pkg-temp'
} }
task updater(type: Zip) { task updater(type: Zip) {
description 'makes an i2pupdate.zip file' description 'makes an i2pupdate.zip file'
dependsOn prepUpdate dependsOn prepUpdate
archiveName 'i2pupdate.zip' archiveFileName.set('i2pupdate.zip')
destinationDir file('.') destinationDirectory.set(file('.'))
from 'pkg-temp' from 'pkg-temp'
} }

Binary file not shown.

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip

2
gradlew vendored
View File

@ -28,7 +28,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"` 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. # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS="" DEFAULT_JVM_OPTS='"-Xmx64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum" MAX_FD="maximum"

2
gradlew.bat vendored
View File

@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% 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. @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= set DEFAULT_JVM_OPTS="-Xmx64m"
@rem Find java.exe @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome

View File

@ -19,12 +19,12 @@ sourceSets {
} }
dependencies { dependencies {
compile project(':core') implementation project(':core')
runtime files('lib/wrapper/all/wrapper.jar') runtimeOnly files('lib/wrapper/all/wrapper.jar')
} }
jar { jar {
baseName 'utility' archiveBaseName.set('utility')
from project(':core').sourceSets.main.output from project(':core').sourceSets.main.output
include 'net/i2p/installer/**' include 'net/i2p/installer/**'
include 'net/i2p/util/FileUtil.class' include 'net/i2p/util/FileUtil.class'
@ -34,7 +34,7 @@ jar {
} }
task jbigiJar(type: Jar) { task jbigiJar(type: Jar) {
baseName = 'jbigi' archiveBaseName = 'jbigi'
from sourceSets.jbigi.output from sourceSets.jbigi.output
} }

View File

@ -1,3 +1,7 @@
plugins {
id 'java-library'
}
apply plugin: 'application' apply plugin: 'application'
application { application {
@ -6,28 +10,28 @@ application {
} }
dependencies { dependencies {
implementation project(':router') api project(':router')
implementation project(':apps:ministreaming') api project(':apps:ministreaming')
implementation project(':apps:streaming') api project(':apps:streaming')
implementation project(':apps:i2ptunnel') api project(':apps:i2ptunnel')
implementation project(':apps:jetty') api project(':apps:jetty')
implementation project(':apps:i2psnark') api project(':apps:i2psnark')
implementation project(':apps:systray') api project(':apps:systray')
implementation project(':apps:BOB') api project(':apps:BOB')
implementation project(':apps:sam') api project(':apps:sam')
implementation project(':apps:routerconsole') api project(':apps:routerconsole')
implementation project(':apps:desktopgui') api project(':apps:desktopgui')
implementation project(':apps:jrobin') api project(':apps:jrobin')
implementation project(':apps:addressbook') api project(':apps:addressbook')
implementation project(':apps:susidns') api project(':apps:susidns')
implementation project(':apps:susimail') api project(':apps:susimail')
implementation project(':apps:i2pcontrol') api project(':apps:i2pcontrol')
implementation project(':apps:imagegen') api project(':apps:imagegen')
implementation project(':core') api project(':core')
implementation project(':router') api project(':router')
implementation project(path : ':installer', configuration: 'jbigi') api project(path : ':installer', configuration: 'jbigi')
implementation files("../apps/susidns/src/lib/standard.jar") api files("../apps/susidns/src/lib/standard.jar")
implementation files("../apps/susidns/src/lib/jstl.jar") api files("../apps/susidns/src/lib/jstl.jar")
} }
import java.nio.file.* import java.nio.file.*
@ -55,7 +59,7 @@ task copyWars {
filter({it.getName().endsWith('war')}).each { file -> filter({it.getName().endsWith('war')}).each { file ->
println "copying war $file exists ${file.exists()}" println "copying war $file exists ${file.exists()}"
File target = new File(webappDir, file.getName()) File target = new File(webappDir, file.getName())
Files.copy(file.toPath(), target.toPath()) Files.copy(file.toPath(), target.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING)
} }
} }
} }
@ -71,7 +75,7 @@ task copyGeoip() {
File target = new File(geoipDir, "GeoLite2-Country.mmdb") File target = new File(geoipDir, "GeoLite2-Country.mmdb")
File source = new File("$rootDir/installer/resources/GeoLite2-Country.mmdb.gz") File source = new File("$rootDir/installer/resources/GeoLite2-Country.mmdb.gz")
InputStream is = new GZIPInputStream(new FileInputStream(source)) InputStream is = new GZIPInputStream(new FileInputStream(source))
java.nio.file.Files.copy(is, target.toPath()) java.nio.file.Files.copy(is, target.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING)
} }
} }

View File

@ -25,7 +25,7 @@ sourceSets {
dependencies { dependencies {
api project(':core') api project(':core')
implementation 'gnu.getopt:java-getopt:1.0.13' api 'gnu.getopt:java-getopt:1.0.13'
testImplementation project(path: ':core', configuration: 'tests') testImplementation project(path: ':core', configuration: 'tests')
} }