正在将 Android 库上传到 Bintray - userOrg 参数被忽略
Uploading Android library to Bintray - userOrg parameter is ignored
我正在尝试使用本指南将 Android 库上传到 Bintray:
https://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en
一切正常,直到我尝试 运行 bintrayUpload,当我收到以下错误时:
任务“:MAS:bintrayUpload”执行失败。
Could not create package 'user/maven/my-repo': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
我认为问题在于存储库归 Bintray 上的组织所有。但是它正在用户下寻找它。
IE。 user/maven/my-repo 应该是 organisation/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 = 'user@email.com'
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'
将上下文上传到组织拥有的存储库时,您必须使用以下路径遵守 Bintray REST API 约定:OrganizationName/RepoName 而不是 UserName/RepoName.
不知道你上面写的路径中的'maven'字是什么意思
对于上述情况,以下 Bintray REST API 链接可能会有所帮助:
在上述情况下 :subject 指的是组织名称(而不是用户名)。在任何情况下,存储库在用户下 :subject 指的是用户名。
更多详情请关注完整Bintray REST API documentation.
上传文件的另一种方法是使用 Bintray UI,它可以更直观地了解您的存储库、包、版本和工件的结构。
我正在尝试使用本指南将 Android 库上传到 Bintray: https://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en
一切正常,直到我尝试 运行 bintrayUpload,当我收到以下错误时:
任务“:MAS:bintrayUpload”执行失败。
Could not create package 'user/maven/my-repo': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
我认为问题在于存储库归 Bintray 上的组织所有。但是它正在用户下寻找它。 IE。 user/maven/my-repo 应该是 organisation/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 = 'user@email.com'
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'
将上下文上传到组织拥有的存储库时,您必须使用以下路径遵守 Bintray REST API 约定:OrganizationName/RepoName 而不是 UserName/RepoName.
不知道你上面写的路径中的'maven'字是什么意思
对于上述情况,以下 Bintray REST API 链接可能会有所帮助:
在上述情况下 :subject 指的是组织名称(而不是用户名)。在任何情况下,存储库在用户下 :subject 指的是用户名。
更多详情请关注完整Bintray REST API documentation.
上传文件的另一种方法是使用 Bintray UI,它可以更直观地了解您的存储库、包、版本和工件的结构。