aboutsummaryrefslogtreecommitdiff
path: root/tool/src/BUILD.bazel
blob: 30e9de7c2905c6d4dac989c4d32ddee249f2c5a9 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
"""BUILD.bazel file for ANTLR 3."""

load("@rules_java//java:defs.bzl", "java_binary", "java_library", "java_test")

package(default_visibility = ["//visibility:private"])

java_binary(
    name = "tool",
    main_class = "org.antlr.Tool",
    visibility = ["//:__pkg__"],
    runtime_deps = [":tool_lib"],
)

java_library(
    name = "tool_lib",
    srcs = glob(["main/java/**/*.java"]) + [
        "main/java/org/antlr/grammar/v3/ANTLRLexer.java",
        "main/java/org/antlr/grammar/v3/ANTLRParser.java",
        "main/java/org/antlr/grammar/v3/ANTLRTreePrinter.java",
        "main/java/org/antlr/grammar/v3/ANTLRv3Lexer.java",
        "main/java/org/antlr/grammar/v3/ANTLRv3Parser.java",
        "main/java/org/antlr/grammar/v3/ANTLRv3Tree.java",
        "main/java/org/antlr/grammar/v3/ActionAnalysis.java",
        "main/java/org/antlr/grammar/v3/ActionTranslator.java",
        "main/java/org/antlr/grammar/v3/AssignTokenTypesWalker.java",
        "main/java/org/antlr/grammar/v3/CodeGenTreeWalker.java",
        "main/java/org/antlr/grammar/v3/DefineGrammarItemsWalker.java",
        "main/java/org/antlr/grammar/v3/LeftRecursiveRuleWalker.java",
        "main/java/org/antlr/grammar/v3/TreeToNFAConverter.java",
    ],
    javacopts = [
        "-Xep:EqualsHashCode:OFF",
    ],
    resource_strip_prefix = "tool/src/main/resources",
    resources = glob(["main/resources/**/*.stg"]),
    visibility = ["//visibility:public"],
    deps = [
        ":tool_bootstrap",
        "//:java_runtime",
        "@stringtemplate4",
    ],
)

genrule(
    name = "tool_bootstrap",
    srcs = [
        "main/antlr3/org/antlr/grammar/v3/ANTLR.g",
        "main/antlr3/org/antlr/grammar/v3/ANTLRTreePrinter.g",
        "main/antlr3/org/antlr/grammar/v3/ANTLRv3.g",
        "main/antlr3/org/antlr/grammar/v3/ANTLRv3Tree.g",
        "main/antlr3/org/antlr/grammar/v3/ActionAnalysis.g",
        "main/antlr3/org/antlr/grammar/v3/ActionTranslator.g",
        "main/antlr3/org/antlr/grammar/v3/AssignTokenTypesWalker.g",
        "main/antlr3/org/antlr/grammar/v3/CodeGenTreeWalker.g",
        "main/antlr3/org/antlr/grammar/v3/DefineGrammarItemsWalker.g",
        "main/antlr3/org/antlr/grammar/v3/LeftRecursiveRuleWalker.g",
        "main/antlr3/org/antlr/grammar/v3/TreeToNFAConverter.g",
    ],
    outs = [
        "main/java/org/antlr/grammar/v3/ANTLRLexer.java",
        "main/java/org/antlr/grammar/v3/ANTLRParser.java",
        "main/java/org/antlr/grammar/v3/ANTLRTreePrinter.java",
        "main/java/org/antlr/grammar/v3/ANTLRv3Lexer.java",
        "main/java/org/antlr/grammar/v3/ANTLRv3Parser.java",
        "main/java/org/antlr/grammar/v3/ANTLRv3Tree.java",
        "main/java/org/antlr/grammar/v3/ActionAnalysis.java",
        "main/java/org/antlr/grammar/v3/ActionTranslator.java",
        "main/java/org/antlr/grammar/v3/AssignTokenTypesWalker.java",
        "main/java/org/antlr/grammar/v3/CodeGenTreeWalker.java",
        "main/java/org/antlr/grammar/v3/DefineGrammarItemsWalker.java",
        "main/java/org/antlr/grammar/v3/LeftRecursiveRuleWalker.java",
        "main/java/org/antlr/grammar/v3/TreeToNFAConverter.java",
    ],
    cmd = """
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/ANTLR.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/ANTLRTreePrinter.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/ANTLRv3.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/ANTLRv3Tree.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/ActionAnalysis.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/ActionTranslator.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/AssignTokenTypesWalker.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/CodeGenTreeWalker.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/DefineGrammarItemsWalker.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/LeftRecursiveRuleWalker.g)
      $(JAVA) -cp $(location @antlr3_bootstrap//jar) org.antlr.Tool -fo $(RULEDIR)/main/java/org/antlr/grammar/v3 $(location :main/antlr3/org/antlr/grammar/v3/TreeToNFAConverter.g)
    """,
    toolchains = ["@bazel_tools//tools/jdk:current_host_java_runtime"],
    tools = ["@antlr3_bootstrap//jar"],
)

java_test(
    name = "tests",
    srcs = glob(["test/java/**/*.java"]),
    args = [
        "org.antlr.test.TestASTConstruction",
        "org.antlr.test.TestAttributes",
        "org.antlr.test.TestAutoAST",
        "org.antlr.test.TestBufferedTreeNodeStream",
        "org.antlr.test.TestCharDFAConversion",
        "org.antlr.test.TestCommonTokenStream",
        "org.antlr.test.TestCompositeGrammars",
        "org.antlr.test.TestDFAConversion",
        "org.antlr.test.TestDFAMatching",
        "org.antlr.test.TestFastQueue",
        "org.antlr.test.TestHeteroAST",
        "org.antlr.test.TestInterpretedLexing",
        "org.antlr.test.TestInterpretedParsing",
        "org.antlr.test.TestIntervalSet",
        "org.antlr.test.TestJavaCodeGeneration",
        "org.antlr.test.TestLeftRecursion",
        "org.antlr.test.TestLexer",
        "org.antlr.test.TestMessages",
        "org.antlr.test.TestNFAConstruction",
        "org.antlr.test.TestRewriteAST",
        "org.antlr.test.TestRewriteTemplates",
        "org.antlr.test.TestSemanticPredicateEvaluation",
        "org.antlr.test.TestSemanticPredicates",
        "org.antlr.test.TestSets",
        "org.antlr.test.TestSymbolDefinitions",
        "org.antlr.test.TestSyntacticPredicateEvaluation",
        "org.antlr.test.TestSyntaxErrors",
        "org.antlr.test.TestTemplates",
        "org.antlr.test.TestTokenRewriteStream",
        "org.antlr.test.TestTopologicalSort",
        "org.antlr.test.TestTreeGrammarRewriteAST",
        "org.antlr.test.TestTreeIterator",
        "org.antlr.test.TestTreeNodeStream",
        "org.antlr.test.TestTreeParsing",
        "org.antlr.test.TestTrees",
        "org.antlr.test.TestTreeWizard",
    ],
    javacopts = [
        "-Xep:JUnit4RunWithMissing:OFF",
    ],
    main_class = "org.junit.runner.JUnitCore",
    use_testrunner = False,
    visibility = ["//:__pkg__"],
    deps = [
        ":tool_lib",
        "//:java_runtime",
        "@hamcrest_core//jar",
        "@junit//jar",
        "@stringtemplate4",
    ],
)