aboutsummaryrefslogtreecommitdiff
path: root/gradle/dependencies.gradle
blob: 566b5cfdbb6d95a4e9a59410a594153ed8af947c (plain)
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import org.gradle.util.VersionNumber

/*
 * 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.
 */

// The oldest version of Error Prone that we support running on
def oldestErrorProneVersion = "2.10.0"
// Latest released Error Prone version that we've tested with
def latestErrorProneVersion = "2.23.0"
// Default to using latest tested Error Prone version
def defaultErrorProneVersion =  latestErrorProneVersion
def errorProneVersionToCompileAgainst = defaultErrorProneVersion

// If the epApiVersion project property is set, compile and test against that version of Error Prone
if (project.hasProperty("epApiVersion")) {
    def epApiVNum = VersionNumber.parse(epApiVersion)
    if (epApiVNum.equals(VersionNumber.UNKNOWN)) {
        throw new IllegalArgumentException("Invalid Error Prone API version " + epApiVersion)
    }
    if (epApiVNum.compareTo(VersionNumber.parse(oldestErrorProneVersion)) < 0) {
        throw new IllegalArgumentException(
        "Error Prone API version " + epApiVersion + " is too old; "
        + oldestErrorProneVersion + " is the oldest supported version")
    }
    errorProneVersionToCompileAgainst = epApiVersion
}

def versions = [
    asm                    : "9.3",
    checkerFramework       : "3.39.0",
    // for comparisons in other parts of the build
    errorProneLatest       : latestErrorProneVersion,
    // The version of Error Prone used to check NullAway's code.
    errorProne             : defaultErrorProneVersion,
    // The version of Error Prone that NullAway is compiled and tested against
    errorProneApi          : errorProneVersionToCompileAgainst,
    support                : "27.1.1",
    wala                   : "1.6.2",
    commonscli             : "1.4",
    autoValue              : "1.10.2",
    autoService            : "1.1.1",
]

def apt = [
    autoValue        : "com.google.auto.value:auto-value:${versions.autoValue}",
    autoValueAnnot   : "com.google.auto.value:auto-value-annotations:${versions.autoValue}",
    autoService      : "com.google.auto.service:auto-service:${versions.autoService}",
    autoServiceAnnot : "com.google.auto.service:auto-service-annotations:${versions.autoService}",
    jakartaInject    : "jakarta.inject:jakarta.inject-api:2.0.0",
    javaxInject      : "javax.inject:javax.inject:1",
]

def build = [
    asm                     : "org.ow2.asm:asm:${versions.asm}",
    asmTree                 : "org.ow2.asm:asm-tree:${versions.asm}",
    errorProneCheckApi      : "com.google.errorprone:error_prone_check_api:${versions.errorProneApi}",
    errorProneCore          : "com.google.errorprone:error_prone_core:${versions.errorProne}",
    errorProneCoreForApi    : "com.google.errorprone:error_prone_core:${versions.errorProneApi}",
    errorProneJavac         : "com.google.errorprone:javac:9+181-r4173-1",
    errorProneTestHelpers   : "com.google.errorprone:error_prone_test_helpers:${versions.errorProneApi}",
    checkerDataflow         : "org.checkerframework:dataflow-nullaway:${versions.checkerFramework}",
    guava                   : "com.google.guava:guava:30.1-jre",
    javaxValidation         : "javax.validation:validation-api:2.0.1.Final",
    jspecify                : "org.jspecify:jspecify:0.3.0",
    jsr305Annotations       : "com.google.code.findbugs:jsr305:3.0.2",
    commonsIO               : "commons-io:commons-io:2.11.0",
    wala                    : [
        "com.ibm.wala:com.ibm.wala.util:${versions.wala}",
        "com.ibm.wala:com.ibm.wala.shrike:${versions.wala}",
        "com.ibm.wala:com.ibm.wala.core:${versions.wala}"
    ],
    commonscli              : "commons-cli:commons-cli:${versions.commonscli}",

    // android stuff
    compileSdkVersion: 30,
    ci: "true" == System.getenv("CI"),
    minSdkVersion: 16,
    targetSdkVersion: 30,

]

def support = [
    appcompat   : "com.android.support:appcompat-v7:${versions.support}"
]

def test = [
    junit4                  : "junit:junit:4.13.2",
    junit5Jupiter           : [
        "org.junit.jupiter:junit-jupiter-api:5.0.2",
        "org.apiguardian:apiguardian-api:1.0.0"
    ],
    jetbrainsAnnotations    : "org.jetbrains:annotations:24.1.0",
    cfQual                  : "org.checkerframework:checker-qual:${versions.checkerFramework}",
    // 2.5.5 is the last release to contain this artifact
    cfCompatQual            : "org.checkerframework:checker-compat-qual:2.5.5",
    rxjava2                 : "io.reactivex.rxjava2:rxjava:2.1.2",
    commonsLang3            : "org.apache.commons:commons-lang3:3.8.1",
    commonsLang             : "commons-lang:commons-lang:2.6",
    lombok                  : "org.projectlombok:lombok:1.18.24",
    springBeans             : "org.springframework:spring-beans:5.3.7",
    springContext           : "org.springframework:spring-context:5.3.7",
    grpcCore                : "io.grpc:grpc-core:1.15.1", // Should upgrade, but this matches our guava version
    mockito                 : "org.mockito:mockito-core:5.5.0",
    javaxAnnotationApi      : "javax.annotation:javax.annotation-api:1.3.2",
    assertJ                 : "org.assertj:assertj-core:3.23.1",
]

ext.deps = [
    "apt": apt,
    "build": build,
    "support": support,
    "test": test,
    "versions": versions
]