plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' id 'java' id 'com.github.ben-manes.versions' version '0.48.0' } repositories { mavenCentral() } base { archivesName = 'jortage-poolmgr' version = '1.5.5' } compileJava { options.release = 11 } sourceSets { main { java { srcDirs = ['src/main/java', 'src/s3proxy/java'] } } } configurations.all { resolutionStrategy { force 'org.slf4j:slf4j-api:1.7.36' } } dependencies { implementation 'blue.endless:jankson:1.2.3' implementation 'com.squareup.okhttp3:okhttp:4.11.0' implementation 'com.squareup.okhttp3:okhttp-brotli:4.11.0' implementation 'org.mariadb.jdbc:mariadb-java-client:3.2.0' implementation 'com.zaxxer:HikariCP:5.0.1' implementation 'org.apache.jclouds:jclouds-blobstore:2.5.0' implementation 'org.apache.jclouds.provider:aws-s3:2.5.0' implementation 'org.apache.jclouds.provider:b2:2.5.0' implementation 'org.apache.jclouds.api:filesystem:2.5.0' implementation 'org.apache.jclouds.driver:jclouds-slf4j:2.5.0' implementation 'org.eclipse.jetty:jetty-server:11.0.16' implementation 'org.slf4j:slf4j-api:1.7.36' implementation 'org.slf4j:slf4j-simple:1.7.36' implementation 'com.google.code.findbugs:jsr305:3.0.2' implementation 'com.google.code.findbugs:findbugs-annotations:3.0.1' implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.2' implementation 'com.fasterxml.woodstox:woodstox-core:6.5.1' implementation 'commons-fileupload:commons-fileupload:1.5' } // I am *not* pulling in seven different dependencies for classes we don't use ['junit/S3ProxyRule.java', 'junit/S3ProxyExtension.java', 'Main.java', 'EncryptedBlobStore.java'].each { file('s3proxy/src/main/java/org/gaul/s3proxy/'+it).delete() } jar { destinationDirectory.set(file('build/tmp')) } shadowJar { configurations = [project.configurations.compileClasspath] manifest.attributes ( 'Main-Class': 'com.jortage.poolmgr.Poolmgr' ) archiveClassifier = '' mergeServiceFiles() } build.dependsOn shadowJar tasks.named("dependencyUpdates").configure { gradleReleaseChannel = 'current' revision = 'release' rejectVersionIf { it.candidate.version.contains("alpha") || it.candidate.version.contains("beta") || (it.candidate.group == 'org.slf4j' && it.candidate.version.startsWith("2.")) || (it.candidate.group == 'org.eclipse.jetty' && it.candidate.version.startsWith("12.")) } }