javacc@7.0.13.bcr.1 (#6089)
diff --git a/modules/javacc/7.0.13.bcr.1/MODULE.bazel b/modules/javacc/7.0.13.bcr.1/MODULE.bazel
new file mode 100644
index 0000000..d35242f
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/MODULE.bazel
@@ -0,0 +1,8 @@
+module(
+ name = "javacc",
+ version = "7.0.13.bcr.1",
+ bazel_compatibility = [">=7.2.1"],
+ compatibility_level = 1,
+)
+
+bazel_dep(name = "rules_java", version = "8.16.1")
diff --git a/modules/javacc/7.0.13.bcr.1/overlay/BUILD.bazel b/modules/javacc/7.0.13.bcr.1/overlay/BUILD.bazel
new file mode 100644
index 0000000..a3a03bd
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/overlay/BUILD.bazel
@@ -0,0 +1,254 @@
+load("@rules_java//java:java_binary.bzl", "java_binary")
+load("@rules_java//java:java_library.bzl", "java_library")
+load(":javacc_bootstrap.bzl", "javacc_bootstrap")
+
+JAVAC_OPTS = [
+ "-XepAllErrorsAsWarnings",
+ "-Xep:ComparisonOutOfRange:OFF",
+ "-Xep:ChainingConstructorIgnoresParameter:OFF",
+ "-Xlint:-dep-ann",
+]
+
+JAR_RESOURCES = glob(["src/main/resources/**/*"])
+
+JAVACC_PARSER_SRCS = glob([
+ "src/main/java/org/javacc/parser/**/*.java",
+ "src/main/java/org/javacc/utils/**/*.java",
+])
+
+JTREE_SRCS = glob([
+ "src/main/java/org/javacc/jjtree/**/*.java",
+])
+
+java_library(
+ name = "javacc_version",
+ srcs = ["src/main/java/org/javacc/Version.java"],
+)
+
+java_library(
+ name = "javacc_parser",
+ srcs = JAVACC_PARSER_SRCS + [
+ ":javacc_stage2_ConditionParser",
+ ":javacc_stage2_JavaCC",
+ ],
+ javacopts = JAVAC_OPTS,
+ deps = [":javacc_version"],
+)
+
+java_binary(
+ name = "javacc",
+ srcs = ["src/main/java/javacc.java"],
+ javacopts = JAVAC_OPTS,
+ main_class = "javacc",
+ resources = JAR_RESOURCES,
+ visibility = ["//visibility:public"],
+ deps = [":javacc_parser"],
+)
+
+java_binary(
+ name = "jjdoc",
+ srcs = ["src/main/java/jjdoc.java"] + glob([
+ "src/main/java/org/javacc/jjdoc/**/*.java",
+ ]),
+ javacopts = JAVAC_OPTS,
+ main_class = "jjdoc",
+ visibility = ["//visibility:public"],
+ deps = [":javacc_parser"],
+)
+
+java_binary(
+ name = "jjtree",
+ srcs = JTREE_SRCS + [
+ "src/main/java/jjtree.java",
+ ":javacc_stage2_JJTree",
+ ":jtree_stage2_JJTree_java",
+ ],
+ javacopts = JAVAC_OPTS,
+ main_class = "jjtree",
+ resources = JAR_RESOURCES,
+ visibility = ["//visibility:public"],
+ deps = [
+ ":javacc_parser",
+ ":javacc_version",
+ ],
+)
+
+# javacc bootstrap {{{
+
+JAVACC_JJ_OUTS = [
+ "JavaCCParser.java",
+ "JavaCCParserConstants.java",
+ "JavaCCParserTokenManager.java",
+ "JavaCharStream.java",
+ "ParseException.java",
+ "TokenMgrError.java",
+]
+
+CONDITION_PARSER_JJ_OUTS = [
+ "ConditionParser.java",
+ "ConditionParserConstants.java",
+ "ConditionParserTokenManager.java",
+ "JavaCharStream.java",
+ "ParseException.java",
+ "Token.java",
+ "TokenMgrError.java",
+]
+
+javacc_bootstrap(
+ name = "javacc_stage1_JavaCC",
+ src = "src/main/javacc/JavaCC.jj",
+ outs = JAVACC_JJ_OUTS,
+ javacc = "//bootstrap:javacc_stage1",
+)
+
+javacc_bootstrap(
+ name = "javacc_stage1_ConditionParser",
+ src = "src/main/javacc/ConditionParser.jj",
+ outs = CONDITION_PARSER_JJ_OUTS,
+ javacc = "//bootstrap:javacc_stage1",
+)
+
+javacc_bootstrap(
+ name = "javacc_stage2_JavaCC",
+ src = "src/main/javacc/JavaCC.jj",
+ outs = JAVACC_JJ_OUTS,
+ javacc = ":javacc_stage2",
+)
+
+javacc_bootstrap(
+ name = "javacc_stage2_ConditionParser",
+ src = "src/main/javacc/ConditionParser.jj",
+ outs = CONDITION_PARSER_JJ_OUTS,
+ javacc = ":javacc_stage2",
+)
+
+java_binary(
+ name = "javacc_stage2",
+ srcs = JAVACC_PARSER_SRCS + [
+ "src/main/java/javacc.java",
+ ":javacc_stage1_ConditionParser",
+ ":javacc_stage1_JavaCC",
+ ],
+ javacopts = JAVAC_OPTS,
+ main_class = "javacc",
+ resources = JAR_RESOURCES,
+ deps = [":javacc_version"],
+)
+
+# }}}
+
+# jtree bootstrap {{{
+
+JJTREE_JJ_OUTS = [
+ "JavaCharStream.java",
+ "JJTreeParserConstants.java",
+ "JJTreeParser.java",
+ "JJTreeParserTokenManager.java",
+ "ParseException.java",
+ "TokenMgrError.java",
+]
+
+JJTREE_JJT_OUTS = [
+ "ASTBNFAssignment.java",
+ "ASTBNFChoice.java",
+ "ASTBNFLookahead.java",
+ "ASTBNFNonTerminal.java",
+ "ASTBNFOneOrMore.java",
+ "ASTBNFParenthesized.java",
+ "ASTBNFSequence.java",
+ "ASTBNFTryBlock.java",
+ "ASTBNFZeroOrMore.java",
+ "ASTBNFZeroOrOne.java",
+ "ASTCharDescriptor.java",
+ "ASTPrimaryExpression.java",
+ "ASTProductions.java",
+ "ASTRECharList.java",
+ "ASTREChoice.java",
+ "ASTREEOF.java",
+ "ASTRE.java",
+ "ASTRENamed.java",
+ "ASTREOneOrMore.java",
+ "ASTREParenthesized.java",
+ "ASTREReference.java",
+ "ASTRESequence.java",
+ "ASTRESpec.java",
+ "ASTREStringLiteral.java",
+ "ASTREZeroOrMore.java",
+ "ASTREZeroOrOne.java",
+ "ASTRRepetitionRange.java",
+ "ASTTokenDecls.java",
+ "JJTJJTreeParserState.java",
+ "JJTreeParserTreeConstants.java",
+ "Node.java",
+ "SimpleNode.java",
+]
+
+javacc_bootstrap(
+ name = "jtree_stage1_JJTree",
+ src = "src/main/jjtree/JJTree.jjt",
+ outs = ["JJTree.jj"] + JJTREE_JJT_OUTS,
+ javacc = "//bootstrap:jjtree_stage1",
+)
+
+filegroup(
+ name = "jtree_stage1_JJTree_java",
+ srcs = [":jtree_stage1_JJTree"],
+ output_group = "java_files",
+)
+
+filegroup(
+ name = "jtree_stage1_JJTree_jj",
+ srcs = [":jtree_stage1_JJTree"],
+ output_group = "jj_files",
+)
+
+javacc_bootstrap(
+ name = "javacc_stage1_JJTree",
+ src = ":jtree_stage1_JJTree_jj",
+ outs = JJTREE_JJ_OUTS,
+ javacc = ":javacc",
+)
+
+java_binary(
+ name = "jjtree_stage2",
+ srcs = JTREE_SRCS + [
+ "src/main/java/jjtree.java",
+ ":javacc_stage1_JJTree",
+ ":jtree_stage1_JJTree_java",
+ ],
+ javacopts = JAVAC_OPTS,
+ main_class = "jjtree",
+ resources = JAR_RESOURCES,
+ deps = [
+ ":javacc_parser",
+ ":javacc_version",
+ ],
+)
+
+javacc_bootstrap(
+ name = "jtree_stage2_JJTree",
+ src = "src/main/jjtree/JJTree.jjt",
+ outs = ["JJTree.jj"] + JJTREE_JJT_OUTS,
+ javacc = ":jjtree_stage2",
+)
+
+filegroup(
+ name = "jtree_stage2_JJTree_java",
+ srcs = [":jtree_stage2_JJTree"],
+ output_group = "java_files",
+)
+
+filegroup(
+ name = "jtree_stage2_JJTree_jj",
+ srcs = [":jtree_stage2_JJTree"],
+ output_group = "jj_files",
+)
+
+javacc_bootstrap(
+ name = "javacc_stage2_JJTree",
+ src = ":jtree_stage2_JJTree_jj",
+ outs = JJTREE_JJ_OUTS,
+ javacc = ":javacc",
+)
+
+# }}}
diff --git a/modules/javacc/7.0.13.bcr.1/overlay/MODULE.bazel b/modules/javacc/7.0.13.bcr.1/overlay/MODULE.bazel
new file mode 120000
index 0000000..9b599e3
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/overlay/MODULE.bazel
@@ -0,0 +1 @@
+../MODULE.bazel
\ No newline at end of file
diff --git a/modules/javacc/7.0.13.bcr.1/overlay/bootstrap/BUILD.bazel b/modules/javacc/7.0.13.bcr.1/overlay/bootstrap/BUILD.bazel
new file mode 100644
index 0000000..f8e225b
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/overlay/bootstrap/BUILD.bazel
@@ -0,0 +1,21 @@
+load("@rules_java//java:java_binary.bzl", "java_binary")
+load("@rules_java//java:java_import.bzl", "java_import")
+
+java_import(
+ name = "javacc_jar",
+ jars = ["javacc.jar"],
+)
+
+java_binary(
+ name = "javacc_stage1",
+ main_class = "javacc",
+ visibility = ["//:__subpackages__"],
+ runtime_deps = [":javacc_jar"],
+)
+
+java_binary(
+ name = "jjtree_stage1",
+ main_class = "jjtree",
+ visibility = ["//:__subpackages__"],
+ runtime_deps = [":javacc_jar"],
+)
diff --git a/modules/javacc/7.0.13.bcr.1/overlay/javacc_bootstrap.bzl b/modules/javacc/7.0.13.bcr.1/overlay/javacc_bootstrap.bzl
new file mode 100644
index 0000000..9327842
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/overlay/javacc_bootstrap.bzl
@@ -0,0 +1,42 @@
+def _javacc_bootstrap(ctx):
+ outs = []
+ java_outs = []
+ jj_outs = []
+ for out_basename in ctx.attr.outs:
+ out = ctx.actions.declare_file(ctx.attr.name + "/" + out_basename)
+ outs.append(out)
+ if out_basename.endswith(".java"):
+ java_outs.append(out)
+ if out_basename.endswith(".jj"):
+ jj_outs.append(out)
+ ctx.actions.run(
+ outputs = outs,
+ inputs = ctx.files.src,
+ executable = ctx.executable.javacc,
+ arguments = [
+ "-OUTPUT_DIRECTORY:" + outs[0].dirname,
+ ctx.file.src.path,
+ ],
+ mnemonic = "JavaccBootstrap",
+ )
+ return [
+ DefaultInfo(files = depset(outs)),
+ OutputGroupInfo(
+ jj_files = depset(jj_outs),
+ java_files = depset(java_outs),
+ ),
+ ]
+
+javacc_bootstrap = rule(
+ implementation = _javacc_bootstrap,
+ attrs = {
+ "javacc": attr.label(
+ executable = True,
+ cfg = "exec",
+ ),
+ "src": attr.label(
+ allow_single_file = True,
+ ),
+ "outs": attr.string_list(),
+ },
+)
diff --git a/modules/javacc/7.0.13.bcr.1/presubmit.yml b/modules/javacc/7.0.13.bcr.1/presubmit.yml
new file mode 100644
index 0000000..b837825
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/presubmit.yml
@@ -0,0 +1,18 @@
+matrix:
+ platform:
+ - debian11
+ - ubuntu2204
+ - macos
+ - macos_arm64
+ - windows
+ bazel:
+ - 8.x
+tasks:
+ verify_targets:
+ name: Verify build targets
+ platform: ${{ platform }}
+ bazel: ${{ bazel }}
+ build_targets:
+ - '@javacc//:javacc'
+ - '@javacc//:jjdoc'
+ - '@javacc//:jjtree'
diff --git a/modules/javacc/7.0.13.bcr.1/source.json b/modules/javacc/7.0.13.bcr.1/source.json
new file mode 100644
index 0000000..ae2c5cd
--- /dev/null
+++ b/modules/javacc/7.0.13.bcr.1/source.json
@@ -0,0 +1,11 @@
+{
+ "url": "https://github.com/javacc/javacc/archive/refs/tags/javacc-7.0.13.tar.gz",
+ "integrity": "sha256-0b/rtMqSYcXDsWsAKAsyeKQbGTyoUD8ph/ct5FO/mcY=",
+ "strip_prefix": "javacc-javacc-7.0.13",
+ "overlay": {
+ "BUILD.bazel": "sha256-qy7XIZTiovJzlHmFTDjGamlS+xvV2yplwHP69OLuCdg=",
+ "MODULE.bazel": "sha256-5E7wuRDVz7TZJbCt+SwQDEQNkn/96vIjhHVUCDHUdpE=",
+ "bootstrap/BUILD.bazel": "sha256-GT4+hUnNv4d6LZrtTX3z/w9VDeNQFT34qnIPMS5OyD0=",
+ "javacc_bootstrap.bzl": "sha256-flnrJHZLXsw2fySqzLzKaZPhPpjI+Cem5x3gmqOZu0U="
+ }
+}
diff --git a/modules/javacc/metadata.json b/modules/javacc/metadata.json
index fc9c570..e641663 100644
--- a/modules/javacc/metadata.json
+++ b/modules/javacc/metadata.json
@@ -4,15 +4,16 @@
{
"email": "john@john-millikin.com",
"github": "jmillikin",
- "name": "John Millikin",
- "github_user_id": 646128
+ "github_user_id": 646128,
+ "name": "John Millikin"
}
],
"repository": [
"github:javacc/javacc"
],
"versions": [
- "7.0.13"
+ "7.0.13",
+ "7.0.13.bcr.1"
],
"yanked_versions": {}
}