blob: 4a2f0db45dd62590b3c0d940ec9de83843b68d46 [file] [log] [blame]
/*
* Copyright (C) 2017. Uber Technologies
*
* 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 {
google() // For Gradle 4.0+
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
}
}
plugins {
id "com.github.sherter.google-java-format" version "0.8"
id "net.ltgt.errorprone" version "0.7" apply false
id "com.github.johnrengelman.shadow" version "2.0.4" apply false
id 'com.github.kt3k.coveralls' version '2.6.3' apply false
id 'com.android.application' version '3.5.0' apply false
}
repositories {
// to get the google-java-format jar and dependencies
jcenter()
}
apply from: "gradle/dependencies.gradle"
subprojects { project ->
project.apply plugin: "net.ltgt.errorprone"
project.dependencies {
errorprone deps.build.errorProneCore
errorproneJavac deps.build.errorProneJavac
}
project.tasks.withType(JavaCompile) {
dependsOn(installGitHooks)
options.compilerArgs += [
"-Xlint:deprecation",
"-Xlint:rawtypes",
"-Xlint:unchecked",
"-Werror"
]
options.errorprone {
// disable warnings in generated code; AutoValue code fails UnnecessaryParentheses check
disableWarningsInGeneratedCode = true
// Triggers for generated Android code (R.java)
check("MutablePublicArray", CheckSeverity.OFF)
// this check is too noisy
check("StringSplitter", CheckSeverity.OFF)
check("WildcardImport", CheckSeverity.ERROR)
}
}
if (JavaVersion.current().java9Compatible) {
tasks.withType(JavaCompile) {
options.compilerArgs += [ "--release", "8" ]
}
}
repositories {
jcenter()
google()
}
}
googleJavaFormat {
toolVersion = "1.6"
}
////////////////////////////////////////////////////////////////////////
//
// Google Java Format pre-commit hook installation
//
tasks.register('installGitHooks', Copy) {
from(file('config/hooks/pre-commit-stub')) {
rename 'pre-commit-stub', 'pre-commit'
}
into file('.git/hooks')
fileMode 0777
}