gradle-graal/build.gradle
2023-02-14 06:00:56 +00:00

101 lines
3.5 KiB
Groovy

/*
* (c) Copyright 2018 Palantir Technologies Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import net.ltgt.gradle.errorprone.CheckSeverity
buildscript {
repositories {
mavenCentral() { metadataSources { mavenPom(); ignoreGradleMetadataRedirection() } }
gradlePluginPortal() { metadataSources { mavenPom(); ignoreGradleMetadataRedirection() } }
}
dependencies {
classpath 'com.palantir.jakartapackagealignment:jakarta-package-alignment:0.5.0'
classpath 'com.palantir.gradle.jdks:gradle-jdks:0.29.0'
classpath 'com.palantir.gradle.jdkslatest:gradle-jdks-latest:0.7.0'
classpath 'com.gradle.publish:plugin-publish-plugin:1.1.0'
classpath 'com.palantir.baseline:gradle-baseline-java:4.188.0'
classpath 'com.palantir.gradle.consistentversions:gradle-consistent-versions:2.12.0'
classpath 'com.palantir.gradle.externalpublish:gradle-external-publish-plugin:1.11.0'
classpath 'com.palantir.gradle.gitversion:gradle-git-version:1.0.0'
classpath 'com.palantir.javaformat:gradle-palantir-java-format:2.28.0'
classpath 'gradle.plugin.org.inferred:gradle-processors:3.7.0'
}
}
allprojects {
apply plugin: 'com.palantir.jakarta-package-alignment'
}
apply plugin: 'java-gradle-plugin'
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'com.palantir.baseline'
apply plugin: 'com.palantir.baseline-java-versions'
apply plugin: 'com.palantir.consistent-versions'
apply plugin: 'com.palantir.external-publish-gradle-plugin'
apply plugin: 'com.palantir.external-publish-jar'
apply plugin: 'com.palantir.git-version'
apply plugin: 'com.palantir.java-format'
apply plugin: 'com.palantir.jdks.latest'
apply plugin: 'org.inferred.processors'
group 'com.palantir.graal'
version gitVersion()
repositories {
mavenCentral() { metadataSources { mavenPom(); ignoreGradleMetadataRedirection() } }
}
dependencies {
implementation localGroovy()
implementation gradleApi()
testImplementation gradleTestKit()
testImplementation 'com.netflix.nebula:nebula-test'
testImplementation 'com.squareup.okhttp3:mockwebserver'
}
gradlePlugin {
plugins {
graal {
id = 'com.palantir.graal'
displayName = 'Palantir Graal Plugin'
implementationClass = 'com.palantir.gradle.graal.GradleGraalPlugin'
}
}
}
pluginBundle {
website = 'https://github.com/palantir/gradle-graal'
vcsUrl = 'https://github.com/palantir/gradle-graal'
description = 'A plugin for Gradle that adds tasks to download, extract and interact with GraalVM tooling.'
tags = ['graal', 'native-image']
}
tasks.withType(JavaCompile) {
options.compilerArgs += ['-Werror']
options.errorprone {
check("PreferSafeLogger", CheckSeverity.OFF)
check("PreferSafeLoggingPreconditions", CheckSeverity.OFF)
check("PreferSafeLoggableExceptions", CheckSeverity.OFF)
check("Slf4jLogsafeArgs", CheckSeverity.OFF)
}
}
javaVersions {
libraryTarget = 11
runtime = 17
}