Skip to content

Commit 88042fb

Browse files
committed
Initial bazel build
1 parent 21d1511 commit 88042fb

File tree

5 files changed

+320
-0
lines changed

5 files changed

+320
-0
lines changed

WORKSPACE

+84
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,18 @@ bind(
3434
actual = "@guava//jar"
3535
)
3636

37+
maven_jar(
38+
name = "javacutil",
39+
group_id = "org.checkerframework",
40+
artifact_id = "javacutil",
41+
version = "1.8.10",
42+
)
43+
44+
bind(
45+
name = "javacutil-jar",
46+
actual = "@javacutil//jar"
47+
)
48+
3749
maven_jar(
3850
name = "dataflow",
3951
group_id = "org.checkerframework",
@@ -130,6 +142,30 @@ bind(
130142
actual = "@jimfs//jar"
131143
)
132144

145+
maven_jar(
146+
name = "guice_servlet",
147+
group_id = "com.google.inject.extensions",
148+
artifact_id = "guice-servlet",
149+
version = "4.0-beta5",
150+
)
151+
152+
bind(
153+
name = "guice_servlet-jar",
154+
actual = "@guice_servlet//jar"
155+
)
156+
157+
maven_jar(
158+
name = "guice_assistedinject",
159+
group_id = "com.google.inject.extensions",
160+
artifact_id = "guice-assistedinject",
161+
version = "4.0-beta5",
162+
)
163+
164+
bind(
165+
name = "guice_assistedinject-jar",
166+
actual = "@guice_assistedinject//jar"
167+
)
168+
133169
maven_jar(
134170
name = "guice",
135171
group_id = "com.google.inject",
@@ -177,6 +213,18 @@ bind(
177213
actual = "@hamcrest_core//jar"
178214
)
179215

216+
maven_jar(
217+
name = "mockito_core",
218+
group_id = "org.mockito",
219+
artifact_id = "mockito-core",
220+
version = "2.0.3-beta",
221+
)
222+
223+
bind(
224+
name = "mockito_core-jar",
225+
actual = "@mockito_core//jar"
226+
)
227+
180228
maven_jar(
181229
name = "mockito",
182230
group_id = "org.mockito",
@@ -188,3 +236,39 @@ bind(
188236
name = "mockito-jar",
189237
actual = "@mockito//jar"
190238
)
239+
240+
maven_jar(
241+
name = "objenesis",
242+
group_id = "org.objenesis",
243+
artifact_id = "objenesis",
244+
version = "2.1",
245+
)
246+
247+
bind(
248+
name = "objenesis-jar",
249+
actual = "@objenesis//jar"
250+
)
251+
252+
maven_jar(
253+
name = "jsr330_inject",
254+
group_id = "javax.inject",
255+
artifact_id = "javax.inject",
256+
version = "1",
257+
)
258+
259+
bind(
260+
name = "jsr330_inject-jar",
261+
actual = "@jsr330_inject//jar"
262+
)
263+
264+
maven_jar(
265+
name = "protobuf",
266+
group_id = "com.google.protobuf",
267+
artifact_id = "protobuf-java",
268+
version = "2.6.1",
269+
)
270+
271+
bind(
272+
name = "protobuf-jar",
273+
actual = "@protobuf//jar"
274+
)

annotation/BUILD

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Description:
2+
# Error prone is a library for matching Javac ASTs, and detecting common
3+
# Java programming mistakes.
4+
5+
package(default_visibility = ["//visibility:public"])
6+
7+
licenses(["notice"]) # Apache 2.0
8+
9+
java_library(
10+
name = "annotation",
11+
srcs = glob(["src/main/java/**/*.java"]),
12+
)

annotations/BUILD

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Description:
2+
# Error prone is a library for matching Javac ASTs, and detecting common
3+
# Java programming mistakes.
4+
5+
package(default_visibility = ["//visibility:public"])
6+
7+
licenses(["notice"]) # Apache 2.0
8+
9+
java_library(
10+
name = "annotations",
11+
srcs = glob(["src/main/java/**/*.java"]),
12+
)

core/BUILD

+193
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# Description:
2+
# Error prone is a library for matching Javac ASTs, and detecting common
3+
# Java programming mistakes.
4+
5+
package(default_visibility = ["//visibility:public"])
6+
7+
licenses(["notice"]) # Apache 2.0
8+
9+
APPLY_SRCS = [
10+
"src/main/java/com/google/errorprone/matchers/Description.java",
11+
"src/main/java/com/google/errorprone/fixes/Replacement.java",
12+
"src/main/java/com/google/errorprone/fixes/Fix.java",
13+
"src/main/java/com/google/errorprone/DescriptionListener.java",
14+
]
15+
16+
BUGPATTERN_SRCS = glob(
17+
["src/main/java/com/google/errorprone/bugpatterns/**/*.java"],
18+
exclude = [
19+
"src/main/java/com/google/errorprone/bugpatterns/BugChecker.java",
20+
"**/*$*",
21+
],
22+
)
23+
24+
TOPLEVEL_SRCS = glob(
25+
[
26+
"src/main/java/com/google/errorprone/ErrorProneAnalyzer.java",
27+
"src/main/java/com/google/errorprone/ErrorProneCompiler.java",
28+
"src/main/java/com/google/errorprone/ErrorProneJavacJavaCompiler.java",
29+
"src/main/java/com/google/errorprone/ErrorProneJavaCompiler.java",
30+
"src/main/java/com/google/errorprone/ErrorProneOptions.java",
31+
"src/main/java/com/google/errorprone/InvalidCommandLineOptionException.java",
32+
"src/main/java/com/google/errorprone/analysis/*.java",
33+
"src/main/java/com/google/errorprone/scanner/*.java",
34+
],
35+
)
36+
37+
java_library(
38+
name = "apply",
39+
srcs = APPLY_SRCS,
40+
deps = [
41+
"//annotation",
42+
"//external:guava-jar",
43+
"//external:javac-jar",
44+
"//external:jsr305_annotations-jar",
45+
"//third_party/java/auto:auto_value",
46+
],
47+
)
48+
49+
java_library(
50+
name = "toplevel_lib",
51+
srcs = TOPLEVEL_SRCS,
52+
deps = [
53+
":checker_lib",
54+
":core_deps",
55+
":core_lib",
56+
],
57+
)
58+
59+
java_library(
60+
name = "resources",
61+
resources = glob(["**/*.properties"]),
62+
)
63+
64+
java_library(
65+
name = "core_deps",
66+
exports = [
67+
":apply",
68+
":resources",
69+
"//annotation",
70+
"//annotations",
71+
"//external:dataflow-jar",
72+
"//external:guava-jar",
73+
"//external:javac-jar",
74+
"//external:jcip_annotations-jar",
75+
"//external:jformatstring-jar",
76+
"//external:jsr305_annotations-jar",
77+
"//external:pcollections-jar",
78+
"//third_party/java/auto:auto_value",
79+
],
80+
)
81+
82+
java_library(
83+
name = "core_lib",
84+
srcs = glob(
85+
[
86+
"src/main/java/**/*.java",
87+
],
88+
exclude = APPLY_SRCS + BUGPATTERN_SRCS + TOPLEVEL_SRCS,
89+
),
90+
deps = [":core_deps"],
91+
)
92+
93+
java_library(
94+
name = "checker_lib",
95+
srcs = BUGPATTERN_SRCS,
96+
deps = [
97+
":core_deps",
98+
":core_lib",
99+
],
100+
)
101+
102+
java_library(
103+
name = "core",
104+
exports = [
105+
":apply",
106+
":checker_lib",
107+
":core_lib",
108+
":toplevel_lib",
109+
],
110+
)
111+
112+
java_library(
113+
name = "test_external",
114+
exports = [
115+
"//external:dataflow-jar",
116+
"//external:guava-jar",
117+
"//external:guice-jar",
118+
"//external:guice_assistedinject-jar",
119+
"//external:guice_servlet-jar",
120+
"//external:hamcrest_core-jar",
121+
"//external:hamcrest_library-jar",
122+
"//external:javac-jar",
123+
"//external:javacutil-jar",
124+
"//external:jcip_annotations-jar",
125+
"//external:jformatstring-jar",
126+
"//external:jimfs-jar",
127+
"//external:jsr305_annotations-jar",
128+
"//external:jsr330_inject-jar",
129+
"//external:junit-jar",
130+
"//external:mockito-jar",
131+
"//external:mockito_core-jar",
132+
"//external:objenesis-jar",
133+
"//external:pcollections-jar",
134+
"//external:protobuf-jar",
135+
"//external:truth-jar",
136+
"//third_party/java/auto:auto_value",
137+
],
138+
)
139+
140+
TEST_COMMON = [
141+
"src/test/java/com/google/errorprone/CompilationTestHelper.java",
142+
"src/test/java/com/google/errorprone/DogfoodErrorProne.java",
143+
"src/test/java/com/google/errorprone/util/InheritedAnnotation.java",
144+
"src/test/java/com/google/errorprone/DiagnosticTestHelper.java",
145+
"src/test/java/com/google/errorprone/ErrorProneInMemoryFileManager.java",
146+
"src/test/java/com/google/errorprone/ErrorProneTestCompiler.java",
147+
"src/test/java/com/google/errorprone/NullAnnotationProcessor.java",
148+
"src/test/java/com/google/errorprone/matchers/CompilerBasedAbstractTest.java",
149+
"src/test/java/com/google/errorprone/matchers/DescendantOfAbstractTest.java",
150+
]
151+
152+
java_library(
153+
name = "test_common",
154+
srcs = TEST_COMMON,
155+
deps = [
156+
":core",
157+
":test_external",
158+
],
159+
)
160+
161+
TESTDATA = glob(["src/test/java/**/testdata/**"])
162+
163+
TESTS = glob(
164+
["src/test/java/**/*.java"],
165+
exclude = TESTDATA + TEST_COMMON,
166+
)
167+
168+
java_test(
169+
name = "tests",
170+
size = "medium",
171+
srcs = glob(
172+
TESTS,
173+
exclude = [
174+
# broken by langtools / classpath skew
175+
# TODO(cushon): figure out how to use javac9 properly
176+
"src/test/java/com/google/errorprone/bugpatterns/threadsafety/GuardedByBinderTest.java",
177+
],
178+
),
179+
resources = TESTDATA,
180+
deps = [
181+
":core",
182+
":test_common",
183+
":test_external",
184+
"//annotation",
185+
"//annotations",
186+
],
187+
)
188+
189+
java_binary(
190+
name = "error_prone",
191+
main_class = "com.google.errorprone.ErrorProneCompiler",
192+
runtime_deps = [":core"],
193+
)

third_party/java/auto/BUILD

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Description:
2+
# A set of tools to generate or analyze java code based on annotations.
3+
4+
licenses(["notice"]) # Apache License 2.0
5+
6+
package(default_visibility = ["//visibility:public"])
7+
8+
java_plugin(
9+
name = "auto_value_processor",
10+
deps = ["//external:auto_value-jar"],
11+
processor_class = "com.google.auto.value.processor.AutoValueProcessor",
12+
)
13+
14+
java_library(
15+
name = "auto_value",
16+
exports = ["//external:auto_value-jar"],
17+
exported_plugins = [":auto_value_processor"],
18+
visibility = ["//visibility:public"],
19+
)

0 commit comments

Comments
 (0)