@@ -7,11 +7,14 @@ exports_files(glob(["**/*.clj"]))
77java_library (
88 name = "bootstrap" ,
99 resources = ["bootstrap_compiler.clj" ,
10+ "bootstrap_gen_build.clj" ,
11+ "bootstrap_libfs.clj" ,
1012 "bootstrap_worker.clj" ,
1113 "compile.clj" ,
1214 "fs.clj" ,
1315 "jar.clj" ,
1416 "worker.clj" ,
17+ "gen_build.clj" ,
1518 "namespace/parse.cljc" ,
1619 "namespace/file.clj" ,
1720 "namespace/find.clj" ,
@@ -32,7 +35,8 @@ java_library(
3235 "@rules_clojure_maven_deps//:org_clojure_spec_alpha" ,
3336 "@rules_clojure_maven_deps//:org_clojure_core_specs_alpha" ,
3437 "@rules_clojure_maven_deps//:org_clojure_core_cache" ,
35- "@rules_clojure_maven_deps//:org_clojure_data_json" ])
38+ "@rules_clojure_maven_deps//:org_clojure_data_json" ,
39+ "@rules_clojure_maven_deps//:org_clojure_tools_deps_alpha" ])
3640
3741java_binary (
3842 name = "bootstrap-bin" ,
@@ -59,6 +63,24 @@ genrule(
5963 """ ,
6064 outs = ["libcompile.jar" ])
6165
66+ genrule (
67+ name = "bootstrap-libfs" ,
68+ tools = [":bootstrap-bin" ],
69+ cmd = """
70+ mkdir -p fs-classes
71+ $(location :bootstrap-bin) -m rules-clojure.bootstrap-libfs $(location :libfs.jar)
72+ """ ,
73+ outs = ["libfs.jar" ])
74+
75+ genrule (
76+ name = "bootstrap-gen-build" ,
77+ tools = [":bootstrap-bin" ],
78+ cmd = """
79+ mkdir -p gen-build-classes
80+ $(location :bootstrap-bin) -m rules-clojure.bootstrap-gen-build $(location :libgen_build.jar)
81+ """ ,
82+ outs = ["libgen_build.jar" ])
83+
6284java_import (name = "libworker" ,
6385 jars = ["libworker.jar" ],
6486 runtime_deps = ["@rules_clojure_maven_deps//:org_clojure_clojure" ,
@@ -70,51 +92,26 @@ java_import(name="libcompile",
7092 jars = ["libcompile.jar" ],
7193 data = [":bootstrap-compiler" ])
7294
95+ java_import (name = "libfs" ,
96+ jars = ["libfs.jar" ],
97+ data = [":bootstrap-libfs" ])
98+
99+ java_import (name = "libgen_build" ,
100+ jars = ["libgen_build.jar" ],
101+ runtime_deps = ["@rules_clojure_maven_deps//:org_clojure_clojure" ,
102+ "@rules_clojure_maven_deps//:org_clojure_spec_alpha" ,
103+ "@rules_clojure_maven_deps//:org_clojure_core_specs_alpha" ,
104+ "@rules_clojure_maven_deps//:org_clojure_tools_deps_alpha" ,
105+ ":libfs" ],
106+ data = [":bootstrap-gen-build" ])
107+
73108java_binary (name = "worker" ,
74- main_class = "clojure.main " ,
109+ main_class = "rules_clojure.worker " ,
75110 jvm_flags = ["-Dclojure.main.report=stderr" ,
76111 "-Xmx2g" ,
77112 "-XX:MaxMetaspaceSize=4g" ],
78113 runtime_deps = ["libworker" ])
79114
80- clojure_library (name = "libfs" ,
81- srcs = ["fs.clj" ],
82- resource_strip_prefix = "src" ,
83- resources = ["fs.clj" ],
84- aot = ["rules-clojure.fs" ],
85- deps = ["@rules_clojure_maven_deps//:org_clojure_clojure" ,
86- "@rules_clojure_maven_deps//:org_clojure_spec_alpha" ,
87- "@rules_clojure_maven_deps//:org_clojure_core_specs_alpha" ])
88-
89- clojure_library (
90- name = "libgen_build" ,
91- srcs = ["gen_build.clj" , "namespace/parse.cljc" ],
92- resource_strip_prefix = "src" ,
93- deps = ["@rules_clojure_maven_deps//:org_clojure_clojure" ,
94- "@rules_clojure_maven_deps//:org_clojure_core_specs_alpha" ,
95- "@rules_clojure_maven_deps//:org_clojure_data_json" ,
96- "@rules_clojure_maven_deps//:org_clojure_spec_alpha" ,
97- "@rules_clojure_maven_deps//:org_clojure_tools_deps_alpha" ,
98- "libfs" ],
99- aot = ["clojure.tools.deps.alpha.extensions" ,
100- "clojure.tools.deps.alpha.util.session" ,
101- "clojure.tools.deps.alpha.util.io" ,
102- "clojure.tools.deps.alpha.util.dir" ,
103- "clojure.tools.deps.alpha.util.concurrent" ,
104- "clojure.tools.deps.alpha" ,
105- "rules-clojure.tools.reader.default-data-readers" ,
106- "rules-clojure.tools.reader.impl.commons" ,
107- "rules-clojure.tools.reader.impl.inspect" ,
108- "rules-clojure.tools.reader.impl.errors" ,
109- "rules-clojure.tools.reader.impl.utils" ,
110- "rules-clojure.tools.reader.reader-types" ,
111- "rules-clojure.tools.reader" ,
112-
113- "rules-clojure.java.classpath" ,
114- "rules-clojure.gen-build" ,
115- "rules-clojure.namespace.file" ,
116- "rules-clojure.namespace.find" ])
117-
118115java_binary (name = "gen_build" ,
119116 main_class = "rules_clojure.gen_build" ,
120117 runtime_deps = [":libgen_build" ],
0 commit comments