2016-03-30 7 views
4

私はいくつかのソースセットをMavenリポジトリに公開していますが、私は本当に公開する必要があります。.aarライブラリaavenをmavenにアップロード

私はそれが私のsoucrseセットをリポジトリに送信しますが、私は私のAARを送信しようとすると、それは .aarに丸暗記はして正しくないと言う理解し、私はこの tutorial

task androidSourcesJar(type: Jar) { 
    classifier = 'sources' 
    from android.sourceSets.main.java.sourceFiles 
} 

そして、このコードでを使用してい

このコード:

from android.lib.build.outputs.sourceFiles 

\project\lib\build\outputs\aar\my_aar.aarにファイルを送信するにはどうすればよいですか?

EDIT:

mavenDeployer { 
      def credentials = [ 
        userName: NEXUS_USERNAME, 
        password: NEXUS_PASSWORD 
      ] 
      repository(url: "test",authentication:credentials) 
      pom.artifactId = 'com.liv' 
      pom.version = '1.5.0' 
      pom.packaging = 'aar' 
      pom.groupId = 'test2' 
     } 

そしてunfurtunatelyこのコードは、Mavenのリポジトリにこのなしでは何もアップロードしていません:

afterEvaluate { project -> 


    signing { 
     required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } 
     sign configurations.archives 
    } 


    task androidSourcesJar(type: Jar) { 
     classifier = 'sources' 
     from android.sourceSets.main.java.sourceFiles 

    } 

    artifacts { 
     archives androidSourcesJar 
    } 
} 
laseがこの資格情報を使用してMavenのために接続されているしかしAARを展開しません言ったように

EDIT:このプロジェクトには特定のSourceSetsがあるので、投稿します:

sourceSets { 
    main { 
     java.srcDirs = ['src/main/java'] 
     res.srcDirs = ['src/main/res'] 
     assets.srcDirs = ['assets'] 
    } 

    liv { 
     java.srcDirs = ['src/live/java'] 
     res.srcDirs = ['src/live/res'] 
     assets.srcDirs = ['src/main/assets'] 
     manifest.srcFile 'src/live/AndroidManifest.xml' 
     jni.srcDirs = [] 
     jniLibs.srcDir 'src/main/libs' 
    } 

    live { 
     java.srcDirs = ['src/live/java'] 
     res.srcDirs = ['src/live/res'] 
     assets.srcDirs = ['src/main/assets'] 
     manifest.srcFile 'src/live/AndroidManifest.xml' 
    } 
} 
+0

、この質問を参照してください:あなたは 'aar'が全く作成されたばかりか、あなただけの' jar'上を見ていることを確信している、http://stackoverflow.com/q/35383243/4107809 – mattm

+0

キリルをあなたのローカル? – lase

+0

@laseはい、それは\ MyProject \ lib \ build \ outputs \ aarに作成されます –

答えて

1

私はこの戦略を使って正確にやっています。私の適用されるプラグインはcom.android.librarymavenです。

android { 
    ... 
    uploadArchives { 
     repositories { 
      mavenDeployer { 
       repository(url: "http://mycompany/local/repositories/releases/") 
       pom.artifactId = 'projectName' 
       pom.version = '1.0.0' 
       pom.packaging = 'aar' 
       pom.groupId = 'com.mycompany' 
      } 
     } 
} 
+0

そしてここに認可を追加する方法は?私のリポジトリはプライベートですか? –

+0

はDEF資格情報= [ のuserName:NEXUS_USERNAME、 パスワード:NEXUS_PASSWORD ] リポジトリ(URL: "URL"、認証:資格情報) –

+0

はい、私は私の認証を得たが、私のAARは、コードのちょうどこの作品をアップロードしていません。 –

関連する問題