2017-02-09 13 views
1

Я пытаюсь опубликовать Android библиотеку как артефакт Maven на хранилище Bitbucket с помощью this articleпубликации андроида библиотеку на Bitbucket как Maven артефакта вопросы

это моя первая работа, пожалуйста, объясните, просто и ясно что POM, wagon-git и deployerJar и, наконец, как я могу исправить эту ошибку:

Я получаю эту оШИБКИ:

Error:Could not find method deployerJar() for arguments [ar.com.synergian:wagon-git:0.2.3] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

мой уровень Projectbuild.gradle

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://raw.github.com/synergian/wagon-git/releases"} 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

мой приложение уровня (библиотека) build.gradle

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.1" 
    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 2 
     versionName "1.1" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.volley:volley:1.0.0' 
    compile 'com.google.firebase:firebase-messaging:9.2.1' 
    compile 'com.google.firebase:firebase-crash:9.2.1' 
    compile 'com.google.android.gms:play-services:9.2.1' 
} 

apply from: 'uploadArchives.gradle' 

и созданный uploadArchives.gradle файл в библиотеке madule:

apply plugin: 'maven' 

configurations { 
    deployerJar 
} 

dependencies { 
    deployerJar "ar.com.synergian:wagon-git:0.2.3" 
} 

uploadArchives { 
    configuration = configurations.archives 
    repositories.mavenDeployer { 
     pom.groupId = "com.example" 
     pom.artifactId = "myLibraryName" 
     pom.version = "1.0" 
     configuration = configurations.deployerJar 
     repository(url: "git:master://[email protected]:myTeam/myLibraryName.git"){ 
      authentication(userName: "my_bitbucket_username", password: "my_bitbucket_password") 
     } 
     pom.project { 
      name "myLibraryName" 
      packaging "aar" //POM_PACKAGING 
      description "Some Description" 
      url "https://bitbucket.org/myTeam/myLibraryName" 
      scm { 
       url "https://bitbucket.org/myTeam/myLibraryName" 
       connection "https://[email protected]/myTeam/myLibraryName.git" 
       developerConnection "https://[email protected]/myTeam/myLibraryName.git" 
      } 
      licenses { 
       license { 
        name "The Apache Software License, Version 2.0" 
        url "http://www.apache.org/licenses/LICENSE-2.0.txt" 
        distribution "myLibraryName" 
       } 
      } 
      developers { 
       developer { 
        id "my_bitbucket_username" 
        name "my_bitbucket_name" 
        email "my_email" 
       } 
      } 
     } 
    } 
} 

БЛАГОДАРЯ

ответ

0

POM краткость Project Object Model, является основной единицей работы в Maven.

https://maven.apache.org/guides/introduction/introduction-to-the-pom.html

wagon-git это имя артефакт, имеющий идентификатор группы ar.com.synergian

Как я знаю, не существует сфера имени deployerJar

+0

Спасибо, но почему мы должны использовать 'wagon-git' и почему я получаю ошибку' deployerJar'? –

+0

wagon-git, позволяет развертывать артефакты в удаленных репозиториях Git SCM. – Aryan

1

Наконец я нашел решение

я удалить все build.gradle s примесь, кроме apply from: 'uploadArchives.gradle'

и двигаться uploadArchives {объект} «ы значения в gradle.properties, как это:

GROUP=com.example 

и использовать так:

uploadArchives { 
    configuration = configurations.archives 
    repositories.mavenDeployer { 
     pom.groupId = GROUP 
     ... 
    } 
} 

и добавить в конце uploadArchies.gradle

allprojects { 
    repositories { 
     mavenCentral() 
     maven { url "https://raw.github.com/synergian/wagon-git/releases"} 
    } 
} 
+0

Привет, можете ли вы опубликовать обновление со всеми тремя файлами градиентов после последних изменений? Я следил за той же статьей, но я не могу найти решение, которое работает для меня .. Большое спасибо –

0

Я запускаю ту же самую проблему с пошаговой инструкцией из статьи, что репозиторий вагонов связывается как с инструкцией. Для того, чтобы все работало, все, что вам нужно сделать в оригинальном файле, - это просто замена порядка configurations и dependencies разделов. Сначала должен идти configurations. В вашем примере это также вызывает аналогичный поток, когда вы объявляете использование этой конфигурации до ее объявления.