diff --git a/build.gradle b/build.gradle index 3f66b04c11..f69bd35f2a 100644 --- a/build.gradle +++ b/build.gradle @@ -51,17 +51,12 @@ subprojects { apply plugin: "jacoco-report-aggregation" apply plugin: "groovy" - tasks.withType(JavaCompile) { + tasks.withType(JavaCompile).configureEach { options.compilerArgs << "-Xlint:unchecked" options.compilerArgs << "-Xlint:deprecation" - } - project(":polaris-service") { - apply plugin: "application" - } - - project(":polaris-core") { - apply plugin: "java-library" + // TODO Disabled until the code is only Java 11/17, see #76 + // options.release = 17 } project(":polaris-eclipselink") { @@ -84,11 +79,9 @@ subprojects { testRuntimeOnly("org.junit.platform:junit-platform-launcher") } - task format { - dependsOn "spotlessApply" - } + tasks.register("format").configure {dependsOn("spotlessApply") } - test { + tasks.named("test", Test).configure { useJUnitPlatform() jvmArgs += [ '-Duser.language=en' ] } diff --git a/polaris-core/build.gradle b/polaris-core/build.gradle index 3d46fcce7e..7368137017 100644 --- a/polaris-core/build.gradle +++ b/polaris-core/build.gradle @@ -20,11 +20,6 @@ plugins { id("java-test-fixtures") } -compileJava { - sourceCompatibility = 11 - targetCompatibility = 11 -} - dependencies { implementation(platform(libs.iceberg.bom)) implementation("org.apache.iceberg:iceberg-api") @@ -125,10 +120,15 @@ openApiValidate { inputSpec = "$rootDir/spec/polaris-management-service.yml" } -task generatePolarisService(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) { +tasks.withType(JavaCompile).configureEach { + // TODO Disabled until the code is only Java 11, see #76 + // options.release = 11 +} + +tasks.register("generatePolarisService", org.openapitools.generator.gradle.plugin.tasks.GenerateTask).configure { inputSpec = "$rootDir/spec/polaris-management-service.yml" generatorName = "jaxrs-resteasy" - outputDir = "$buildDir/generated" + outputDir = "$projectDir/build/generated" modelPackage = "io.polaris.core.admin.model" ignoreFileOverride = "$rootDir/.openapi-generator-ignore" removeOperationIdPrefix = true @@ -150,5 +150,6 @@ task generatePolarisService(type: org.openapitools.generator.gradle.plugin.tasks serverVariables = [basePath: "api/v1"] } -compileJava.dependsOn tasks.generatePolarisService -sourceSets.main.java.srcDirs += ["$buildDir/generated/src/main/java"] +tasks.named("compileJava").configure {dependsOn("generatePolarisService") } + +sourceSets.main.java.srcDirs += [ project.layout.buildDirectory.dir("generated/src/main/java") ] diff --git a/polaris-service/build.gradle b/polaris-service/build.gradle index 37106acd8f..0b9268cbab 100644 --- a/polaris-service/build.gradle +++ b/polaris-service/build.gradle @@ -14,9 +14,12 @@ * limitations under the License. */ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + plugins { alias(libs.plugins.shadow) alias(libs.plugins.openapi.generator) + id("application") } dependencies { @@ -93,7 +96,7 @@ dependencies { openApiGenerate { inputSpec = "$rootDir/spec/rest-catalog-open-api.yaml" generatorName = "jaxrs-resteasy" - outputDir = "$buildDir/generated" + outputDir = "$projectDir/build/generated" apiPackage = "io.polaris.service.catalog.api" ignoreFileOverride = "$rootDir/.openapi-generator-ignore" removeOperationIdPrefix = true @@ -149,10 +152,10 @@ openApiGenerate { ] } -task generatePolarisService(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) { +tasks.register("generatePolarisService", org.openapitools.generator.gradle.plugin.tasks.GenerateTask).configure { inputSpec = "$rootDir/spec/polaris-management-service.yml" generatorName = "jaxrs-resteasy" - outputDir = "$buildDir/generated" + outputDir = "$projectDir/build/generated" apiPackage = "io.polaris.service.admin.api" modelPackage = "io.polaris.core.admin.model" ignoreFileOverride = "$rootDir/.openapi-generator-ignore" @@ -176,9 +179,9 @@ task generatePolarisService(type: org.openapitools.generator.gradle.plugin.tasks } compileJava.dependsOn tasks.openApiGenerate, tasks.generatePolarisService -sourceSets.main.java.srcDirs += ["$buildDir/generated/src/main/java"] +sourceSets.main.java.srcDirs += ["$projectDir/build/generated/src/main/java"] -test { +tasks.named("test", Test).configure { if (System.getenv("AWS_REGION") == null) { environment "AWS_REGION", "us-west-2" } @@ -187,29 +190,29 @@ test { maxParallelForks = 4 } -task runApp(type: JavaExec) { +tasks.register("runApp", JavaExec).configure { if (System.getenv("AWS_REGION") == null) { environment "AWS_REGION", "us-west-2" } classpath = sourceSets.main.runtimeClasspath mainClass = "io.polaris.service.PolarisApplication" - args "server", "$rootDir/polaris-server.yml" + args = ["server", "$rootDir/polaris-server.yml"] } application { mainClass = "io.polaris.service.PolarisApplication" } -jar { +tasks.named("jar", Jar).configure { manifest { attributes "Main-Class": "io.polaris.service.PolarisApplication" } } -shadowJar { +tasks.named("shadowJar", ShadowJar).configure { mainClassName = "io.polaris.service.PolarisApplication" mergeServiceFiles() zip64 true } -build.dependsOn(shadowJar) +tasks.named("build").configure { dependsOn("shadowJar") }