forked from palantir/conjure-java-runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
68 lines (58 loc) · 2.38 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
buildscript {
repositories {
gradlePluginPortal()
maven { url "http://palantir.bintray.com/releases" }
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
classpath 'com.netflix.nebula:gradle-dependency-lock-plugin:7.0.1'
classpath 'com.netflix.nebula:nebula-publishing-plugin:9.1.1'
classpath 'com.palantir.baseline:gradle-baseline-java:0.38.0'
classpath 'com.palantir.gradle.gitversion:gradle-git-version:0.11.0'
classpath 'gradle.plugin.org.inferred:gradle-processors:2.1.0'
}
}
apply plugin: 'com.palantir.baseline'
apply plugin: 'com.palantir.git-version'
allprojects {
version gitVersion()
group 'com.palantir.conjure.java.runtime'
repositories {
jcenter()
maven { url "http://palantir.bintray.com/releases" }
}
}
subprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
if (gradle.startParameter.taskNames.find {
it.endsWith('verifyDependencyLocksAreCurrent') || it.endsWith('build')}) {
gradle.startParameter.setTaskNames(gradle.startParameter.taskNames + ['generateLock'])
}
apply plugin: 'nebula.dependency-lock'
dependencyLock {
includeTransitives = true
lockFile = 'versions.lock'
configurationNames = ['runtime', 'compileClasspath']
}
task verifyDependencyLocksAreCurrent {
doLast {
def expectedDependencies = tasks.saveLock.getOutputLock()
def actualDependencies = tasks.saveLock.getGeneratedLock()
def digester = java.security.MessageDigest.getInstance('SHA')
logger.info("Verifying integrity of dependency locks: {} vs {}", expectedDependencies, actualDependencies)
if (digester.digest(expectedDependencies.bytes) != digester.digest(actualDependencies.bytes)) {
throw new GradleException("The dependencies of project " + project.name + " do not match the expected "
+ "dependencies recorded in " + expectedDependencies + ". "
+ "Run `./gradlew generateLock saveLock` and commit the updated version.lock files")
}
}
}
verifyDependencyLocksAreCurrent.dependsOn(generateLock)
build.dependsOn(verifyDependencyLocksAreCurrent)
tasks.check.dependsOn(javadoc)
test {
minHeapSize = "512m"
maxHeapSize = "512m"
}
}