2017-04-14 4 views

Antwort

1

Es verwendet die regulären Maven-Konstrukte und nicht maven_server. Aus dieser geschlossenen Ausgabe (How to specify a maven repository for the maven_aar rule?):.. “... die maven_server Regel nur für die native maven_jar Regel Wir haben die Lerche maven_jar und mane_aar Regeln anders Stattdessen verwendet es die Standard-Maven-Einstellungen XML Konvention

https://maven.apache.org/settings.html.

Sie können Ihr Repository entweder in die globale Maven-Einstellungsdatei auf Ihrem Computer einfügen oder Sie können eine benutzerdefinierte settings.xml erstellen und den Pfad dazu im Attribut 'settings' von maven_aar angeben. "

+0

OK, vielen Dank! – ldjhust

0

Die maven_jar und maven_aar Regeln in @bazel_tools//tools/build_defs/repo:maven_rules.bzl lasen Maven Einstellungen aus dem Maven Einstellungen ${maven.home}/conf/settings.xml Datei installieren, installieren Sie die Benutzereinstellungen ${user.home}/.m2/settings.xml oder von einem Pfad im settings Attribute der maven_aar Regel angegebenen Datei.

Um ein Repository für Ihr Projekt angeben, werden Sie wahrscheinlich eine Maven settings.xml Datei schreiben möchten und überprüfen Sie es in Ihrem Repository

Zum Beispiel eine android_binary einrichten, die auf Volley mit einem Maven Profil abhängt, verwendet JCenter als zentrales Repository,

$ 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"], 
) 
+0

Vielen Dank! – ldjhust

Verwandte Themen