2016-10-06 5 views
1

を無視している私は、このガイドを使用してBintrayにAndroidのライブラリをアップロードしようとしています:私は、私は次のエラーを取得する際に、bintrayUploadを実行しようとするまで https://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/enアップロードのAndroidライブラリ - USERORGパラメータは

すべてが正常に動作します:

タスク 'MAS:bintrayUpload'の実行に失敗しました。

Could not create package 'user/maven/my-repo': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]

問題は、リポジトリがBintrayの組織によって所有されているということです。しかし、それはユーザーの下でそれを探しています。 すなわちuser/maven/my-repoはorganization/maven/my-repoでなければなりません。

私のlocal.properties

は、次のようになります。

...  
bintray.userOrg=organisation 
bintray.user=user 
bintray.apikey=key 
bintray.gpg.password=password 
... 

ライブラリモジュールのための私のbuild.gradleは、次のようになります。

/* 
* Copyright (c) 2016 CA. All rights reserved. 
* 
* This software may be modified and distributed under the terms 
* of the MIT license. See the LICENSE file for details. 
* 
*/ 

//noinspection GradleCompatible 
// In order to build messaging using gradle 2 environment variables must be exportedd 
// 1. prefix - this is the aar prefix, for example 'android' 
// 2. versionName - this is the v.r.m formatted version name as used in the AndroidManifest.xml. 
// For example, 1.1.0 

plugins { 
    id "com.jfrog.bintray" version "1.7" 
    id "com.github.dcendents.android-maven" version "1.5" 
} 

apply plugin: 'com.android.library' 
apply plugin: 'maven-publish' 



ext { 
    bintrayRepo = 'maven' 
    bintrayName = 'mobile-app-services' 

    publishedGroupId = 'com.ca' 
    libraryName = 'MobileAppServices' 
    artifact = 'mobile-app-services' 

    libraryDescription = 'The Android Mobile SDK gives developers simple and secure access to the services of CA Mobile API Gateway and CA Mobile App Services. ' 

    siteUrl = 'https://github.com/CAAPIM/Android-MAS-SDK' 
    gitUrl = 'https://github.com/CAAPIM/Android-MAS-SDK.git' 

    libraryVersion = '3.2.00' 

    developerId = 'devId' 
    developerName = 'Full Name' 
    developerEmail = '[email protected]' 

    licenseName = 'The MIT License (MIT)' 
    licenseUrl = 'license.com' 
    allLicenses = ["MIT"] 
} 

println '------> Executing mas library build.gradle' 
repositories { 
    mavenCentral() 
    flatDir { 
     dirs 'libs' 
    } 
} 
android { 
    compileSdkVersion 24 
    buildToolsVersion '24.0.2' 
    defaultConfig { 
     minSdkVersion 19 
     targetSdkVersion 24 
     versionCode 12 
     versionName "1.2" 
    } 

    lintOptions { 
     abortOnError false 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 
} 

task javadoc(type: Javadoc) { 
    source = android.sourceSets.main.java.srcDirs 
    println "Source: $source" 
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) 
    println "Classpath: $source" 
    options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED 
    destinationDir = file("../docs/mas_javadoc/") 
    failOnError false 

    include '**/*MAS*.java' 
    include '**/Device.java' 
    include '**/ScimUser.java' 

    exclude '**/MASTransformable.java' 
    exclude '**/MASResultReceiver.java' 
    exclude '**/MASWebServiceClient.java' 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile project(':MAG') 
} 

apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle' 
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle' 

答えて

6

組織によって所有されているリポジトリにコンテキストをアップロードOrganizationName/RepoNameではなく、UserName/RepoNameのパスを使用して、Bintray REST APIの規約に準拠する必要があります。

あなたが上記で書いたパスに「maven」という言葉を使用しているかどうかわかりません。目で

:あなたが役に立つことができ、次のBintrayのREST APIリンクの上に持っている場合については

上記の状況:件名は、ユーザー名ではなく組織名を指します。リポジトリがユーザの下にある場合は、:件名がユーザ名に参照されます。

詳細については、フルBintray REST API documentationに従ってください。

ファイルをアップロードするもう1つの方法は、Bintray UIを使用することです。これは、リポジトリ、パッケージ、バージョン、成果物の構造をはるかに理解することができます。