"Fossies" - the Fresh Open Source Software Archive 
Member "selenium-selenium-4.8.1/java/private/export.bzl" (17 Feb 2023, 3203 Bytes) of package /linux/www/selenium-selenium-4.8.1.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the last
Fossies "Diffs" side-by-side code changes report for "export.bzl":
4.8.0_vs_4.8.1.
1 load(
2 "@rules_jvm_external//:defs.bzl",
3 "javadoc",
4 "pom_file",
5 )
6 load("@rules_jvm_external//private/rules:maven_bom_fragment.bzl", "maven_bom_fragment")
7 load("@rules_jvm_external//private/rules:maven_project_jar.bzl", "maven_project_jar")
8 load("@rules_jvm_external//private/rules:maven_publish.bzl", "maven_publish")
9 load("//java/private:module.bzl", "java_module")
10
11 def java_export(
12 name,
13 maven_coordinates,
14 pom_template = None,
15 hides = [],
16 uses = [],
17 opens_to = [],
18 exports = [],
19 tags = [],
20 testonly = None,
21 visibility = None,
22 **kwargs):
23 tags = tags + ["maven_coordinates=%s" % maven_coordinates]
24 lib_name = "%s-lib" % name
25
26 # Construct the java_library we'll export from here.
27 native.java_library(
28 name = lib_name,
29 tags = tags,
30 exports = exports,
31 **kwargs
32 )
33
34 # Merge the jars to create the maven project jar
35 maven_project_jar(
36 name = "%s-project" % name,
37 target = ":%s" % lib_name,
38 tags = tags,
39 )
40
41 native.filegroup(
42 name = "%s-maven-artifact" % name,
43 srcs = [
44 ":%s-project" % name,
45 ],
46 output_group = "maven_artifact",
47 )
48
49 native.filegroup(
50 name = "%s-maven-source" % name,
51 srcs = [
52 ":%s-project" % name,
53 ],
54 output_group = "maven_source",
55 )
56
57 java_module(
58 name = "%s-module" % name,
59 target = ":%s-project" % name,
60 deps = kwargs.get("deps", []) + kwargs.get("runtime_deps", []),
61 exports = exports,
62 hides = hides,
63 opens_to = opens_to,
64 tags = tags,
65 uses = uses,
66 )
67
68 native.filegroup(
69 name = "%s-maven-module" % name,
70 srcs = [
71 ":%s-module" % name,
72 ],
73 output_group = "module_jar",
74 )
75
76 javadoc(
77 name = "%s-docs" % name,
78 deps = [
79 ":%s-project" % name,
80 ],
81 )
82
83 pom_file(
84 name = "%s-pom" % name,
85 target = ":%s" % lib_name,
86 pom_template = pom_template,
87 )
88
89 maven_publish(
90 name = "%s.publish" % name,
91 coordinates = maven_coordinates,
92 pom = "%s-pom" % name,
93 javadocs = "%s-docs" % name,
94 artifact_jar = ":%s-maven-module" % name,
95 source_jar = ":%s-maven-source" % name,
96 visibility = visibility,
97 )
98
99 # We may want to aggregate several `java_export` targets into a single Maven BOM POM
100 # https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms
101 maven_bom_fragment(
102 name = "%s.bom-fragment" % name,
103 maven_coordinates = maven_coordinates,
104 artifact = ":%s" % lib_name,
105 src_artifact = ":%s-maven-source" % name,
106 javadoc_artifact = None if "no-javadocs" in tags else ":%s-docs" % name,
107 pom = ":%s-pom" % name,
108 testonly = testonly,
109 tags = tags,
110 visibility = visibility,
111 )
112
113 # Finally, alias the primary output
114 native.alias(
115 name = name,
116 actual = ":%s-module" % name,
117 visibility = visibility,
118 )