如何为 maven_aar 规则指定 Maven 存储库?
How to specify a maven repository for the maven_aar rule?
如何为maven_aar
规则指定maven仓库? maven_aar
似乎无法识别我的 maven_server
:
maven_server(
name = "default",
url = "http://xxx"
)
非常感谢!
它使用常规的 Maven 构造而不是 maven_server。
来自这个已关闭的问题 ():
“... maven_server 规则仅适用于本机 maven_jar 规则。我们使 skylark maven_jar 和 mane_aar 规则不同。相反,它使用标准的 Maven 设置 XML约定。
https://maven.apache.org/settings.html
您可以将您的存储库放在您机器上的全局 maven 设置文件中,或者您可以创建一个自定义 settings.xml 并将它的路径放在 [=25] 的 'settings' 属性中=]."
maven_jar
和 maven_aar
规则 @bazel_tools//tools/build_defs/repo:maven_rules.bzl
从 Maven 安装设置文件 ${maven.home}/conf/settings.xml
中读取 Maven 设置,用户安装设置文件 ${user.home}/.m2/settings.xml
或来自 maven_aar
规则的 settings
属性中指定的路径。
要为您的项目指定存储库,您可能需要编写一个 Maven settings.xml 文件并将其签入您的存储库
例如,要使用使用 JCenter 作为中央存储库的 Maven 配置文件来设置依赖于 Volley 的 android_binary
,
$ cat WORKSPACE
load("@bazel_tools//tools/build_defs/repo:maven_rules.bzl", "maven_aar")
maven_aar(
name = "volley",
artifact = "com.android.volley:volley:1.0.0",
settings = "//:settings.xml",
)
$ cat settings.xml
<?xml version='1.0' encoding='UTF-8'?>
<settings
xsi:schemaLocation='http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd'
xmlns='http://maven.apache.org/SETTINGS/1.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<profiles>
<profile>
<repositories>
<repository>
<id>central</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
</repositories>
<id>bintray</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>bintray</activeProfile>
</activeProfiles>
</settings>
$ cat BUILD
android_binary(
name = "app",
srcs = glob(["*.java"]),
manifest = "AndroidManifest.xml",
custom_package = "com.example.app",
deps = ["@volley//aar"],
)
如何为maven_aar
规则指定maven仓库? maven_aar
似乎无法识别我的 maven_server
:
maven_server(
name = "default",
url = "http://xxx"
)
非常感谢!
它使用常规的 Maven 构造而不是 maven_server。
来自这个已关闭的问题 (
https://maven.apache.org/settings.html
您可以将您的存储库放在您机器上的全局 maven 设置文件中,或者您可以创建一个自定义 settings.xml 并将它的路径放在 [=25] 的 'settings' 属性中=]."
maven_jar
和 maven_aar
规则 @bazel_tools//tools/build_defs/repo:maven_rules.bzl
从 Maven 安装设置文件 ${maven.home}/conf/settings.xml
中读取 Maven 设置,用户安装设置文件 ${user.home}/.m2/settings.xml
或来自 maven_aar
规则的 settings
属性中指定的路径。
要为您的项目指定存储库,您可能需要编写一个 Maven settings.xml 文件并将其签入您的存储库
例如,要使用使用 JCenter 作为中央存储库的 Maven 配置文件来设置依赖于 Volley 的 android_binary
,
$ cat WORKSPACE
load("@bazel_tools//tools/build_defs/repo:maven_rules.bzl", "maven_aar")
maven_aar(
name = "volley",
artifact = "com.android.volley:volley:1.0.0",
settings = "//:settings.xml",
)
$ cat settings.xml
<?xml version='1.0' encoding='UTF-8'?>
<settings
xsi:schemaLocation='http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd'
xmlns='http://maven.apache.org/SETTINGS/1.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<profiles>
<profile>
<repositories>
<repository>
<id>central</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
</repositories>
<id>bintray</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>bintray</activeProfile>
</activeProfiles>
</settings>
$ cat BUILD
android_binary(
name = "app",
srcs = glob(["*.java"]),
manifest = "AndroidManifest.xml",
custom_package = "com.example.app",
deps = ["@volley//aar"],
)