@@ -81,25 +81,27 @@ def _merge_sourcelinks(name, sourcelinks, known_good = None):
8181 extra_srcs = [known_good ]
8282 known_good_arg = "--known_good $(location %s)" % known_good
8383
84+ merge_sourcelinks_tool = Label ("//scripts_bazel:merge_sourcelinks" )
85+
8486 native .genrule (
8587 name = name ,
8688 srcs = sourcelinks + extra_srcs ,
8789 outs = [name + ".json" ],
8890 cmd = """
89- $(location @score_docs_as_code//scripts_bazel:merge_sourcelinks ) \
91+ $(location {merge_sourcelinks_tool} ) \
9092 --output $@ \
9193 {known_good_arg} \
9294 $(SRCS)
93- """ .format (known_good_arg = known_good_arg ),
94- tools = ["@score_docs_as_code//scripts_bazel:merge_sourcelinks" ],
95+ """ .format (known_good_arg = known_good_arg , merge_sourcelinks_tool = merge_sourcelinks_tool ),
96+ tools = [merge_sourcelinks_tool ],
9597 )
9698
9799def _missing_requirements (deps ):
98100 """Add Python hub dependencies if they are missing."""
99101 found = []
100102 missing = []
101103 def _target_to_packagename (target ):
102- return target .split ("/" )[- 1 ].split (":" )[0 ]
104+ return str ( target ) .split ("/" )[- 1 ].split (":" )[0 ]
103105 all_packages = [_target_to_packagename (pkg ) for pkg in all_requirements ]
104106 def _find (pkg ):
105107 for dep in deps :
@@ -156,10 +158,12 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
156158 module_deps = deps
157159 deps = deps + _missing_requirements (deps )
158160 deps = deps + [
159- "@score_docs_as_code //src:plantuml_for_python" ,
160- "@score_docs_as_code //src/extensions/score_sphinx_bundle:score_sphinx_bundle" ,
161+ Label ( " //src:plantuml_for_python") ,
162+ Label ( " //src/extensions/score_sphinx_bundle:score_sphinx_bundle") ,
161163 ]
162164
165+ incremental_src = Label ("//src:incremental.py" )
166+
163167 sphinx_build_binary (
164168 name = "sphinx_build" ,
165169 visibility = ["//visibility:private" ],
@@ -212,8 +216,9 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
212216 "SCORE_SOURCELINKS" : "$(location :merged_sourcelinks)" ,
213217 } | metamodel_env
214218 if known_good :
215- docs_env ["KNOWN_GOOD_JSON" ] = "$(location " + known_good + ")"
216- docs_sources_env ["KNOWN_GOOD_JSON" ] = "$(location " + known_good + ")"
219+ known_good_str = str (known_good )
220+ docs_env ["KNOWN_GOOD_JSON" ] = "$(location " + known_good_str + ")"
221+ docs_sources_env ["KNOWN_GOOD_JSON" ] = "$(location " + known_good_str + ")"
217222 docs_data .append (known_good )
218223 combo_data .append (known_good )
219224
@@ -222,7 +227,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
222227 py_binary (
223228 name = "docs" ,
224229 tags = ["cli_help=Build documentation:\n bazel run //:docs" ],
225- srcs = ["@score_docs_as_code//src:incremental.py" ],
230+ srcs = [incremental_src ],
226231 data = docs_data ,
227232 deps = deps ,
228233 env = docs_env
@@ -232,7 +237,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
232237 py_binary (
233238 name = "docs_combo" ,
234239 tags = ["cli_help=Build full documentation with all dependencies:\n bazel run //:docs_combo" ],
235- srcs = ["@score_docs_as_code//src:incremental.py" ],
240+ srcs = [incremental_src ],
236241 data = combo_data ,
237242 deps = deps ,
238243 env = docs_sources_env
@@ -248,7 +253,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
248253 py_binary (
249254 name = "docs_link_check" ,
250255 tags = ["cli_help=Verify Links inside Documentation:\n bazel run //:link_check\n (Note: this could take a long time)" ],
251- srcs = ["@score_docs_as_code//src:incremental.py" ],
256+ srcs = [incremental_src ],
252257 data = docs_data ,
253258 deps = deps ,
254259 env = docs_env
@@ -258,7 +263,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
258263 py_binary (
259264 name = "docs_check" ,
260265 tags = ["cli_help=Verify documentation:\n bazel run //:docs_check" ],
261- srcs = ["@score_docs_as_code//src:incremental.py" ],
266+ srcs = [incremental_src ],
262267 data = docs_data ,
263268 deps = deps ,
264269 env = docs_env
@@ -268,7 +273,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
268273 py_binary (
269274 name = "live_preview" ,
270275 tags = ["cli_help=Live preview documentation in the browser:\n bazel run //:live_preview" ],
271- srcs = ["@score_docs_as_code//src:incremental.py" ],
276+ srcs = [incremental_src ],
272277 data = docs_data ,
273278 deps = deps ,
274279 env = docs_env
@@ -278,7 +283,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
278283 py_binary (
279284 name = "live_preview_combo_experimental" ,
280285 tags = ["cli_help=Live preview full documentation with all dependencies in the browser:\n bazel run //:live_preview_combo_experimental" ],
281- srcs = ["@score_docs_as_code//src:incremental.py" ],
286+ srcs = [incremental_src ],
282287 data = combo_data ,
283288 deps = deps ,
284289 env = docs_sources_env
@@ -316,10 +321,18 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = [], known_good =
316321 allow_persistent_workers = False ,
317322 )
318323
324+ native .genrule (
325+ name = "metrics_json" ,
326+ srcs = [":needs_json" ],
327+ outs = ["metrics.json" ],
328+ cmd = "cp $(location :needs_json)/metrics.json $@" ,
329+ visibility = ["//visibility:public" ],
330+ )
331+
319332 native .alias (
320333 name = "traceability_gate" ,
321- actual = "@score_docs_as_code //scripts_bazel:traceability_gate" ,
322- tags = ["cli_help=Enforce traceability coverage thresholds:\n bazel run //:traceability_gate -- --metrics-json bazel-bin/needs_json/_build/needs/metrics.json " ],
334+ actual = Label ( " //scripts_bazel:traceability_gate") ,
335+ tags = ["cli_help=Enforce traceability coverage thresholds:\n bazel run //:traceability_gate -- --metrics-json $(location //:metrics_json) " ],
323336 )
324337
325338def _sourcelinks_json (name , srcs ):
@@ -334,15 +347,17 @@ def _sourcelinks_json(name, srcs):
334347 """
335348 output_file = name + ".json"
336349
350+ generate_sourcelinks_tool = Label ("//scripts_bazel:generate_sourcelinks" )
351+
337352 native .genrule (
338353 name = name ,
339354 srcs = srcs ,
340355 outs = [output_file ],
341356 cmd = """
342- $(location @score_docs_as_code//scripts_bazel:generate_sourcelinks ) \
357+ $(location {generate_sourcelinks_tool} ) \
343358 --output $@ \
344359 $(SRCS)
345- """ ,
346- tools = ["@score_docs_as_code//scripts_bazel:generate_sourcelinks" ],
360+ """ . format ( generate_sourcelinks_tool = generate_sourcelinks_tool ) ,
361+ tools = [generate_sourcelinks_tool ],
347362 visibility = ["//visibility:public" ],
348363 )
0 commit comments