正在从 TravisCI 上传 Android aar 库到 bintray
Uploading Android aar library to bintray from TravisCI
这是我第一次尝试向 maven 发布内容,但我有一个 Android 库,我正尝试将其与 TravisCI
集成,以便在任何内容被推送到 master 时构建它查看Bintray gradle documentation 以及我发现的一些关于两者之间集成的文章,我为我的 build.gradle
文件
想出了这个
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'maven-publish'
publishing {
publications {
Production(MavenPublication) {
artifact("$buildDir/outputs/aar/mlcamera-release.aar")
groupId 'com.tycz'
artifactId 'mlcamera'
version '0.1.0'
//The publication doesn't know about our dependencies, so we have to manually add them to the pom
pom.withXml {
//def dependenciesNode = asNode().appendNode('dependencies')
//Iterate over the compile dependencies (we don't want the test ones), adding a <dependency> node for each
configurations.compile.allDependencies.each {
if (it.name != 'unspecified') {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
bintray {
// Get Bintray credential from environment variable
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_API_KEY')
dryRun = false
override = false
publish = true
pkg {
repo = 'MLCamera'
name = project.name
userOrg = 'tyczj359'
desc = 'A wrapper library for the new CameraX API and Firebase MLKit to create easier setup for MLKit usage'
vcsUrl = 'https://github.com/tyczj/MLCamera.git'
version {
name = '0.1.0'
released = new Date()
}
}
publications = ['Production']
}
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "0.1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'com.google.firebase:firebase-ml-vision:24.0.1'
implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.0.2'
implementation 'com.google.firebase:firebase-ml-vision-object-detection-model:19.0.3'
implementation 'androidx.core:core-ktx:1.2.0'
implementation "androidx.camera:camera-core:1.0.0-beta01"
implementation "androidx.camera:camera-camera2:1.0.0-beta01"
implementation "androidx.camera:camera-view:1.0.0-alpha08"
implementation "androidx.camera:camera-lifecycle:1.0.0-beta01"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
库本身似乎在 travis 中构建良好,但当我查看我的 bintray 存储库时,我发现那里什么也没有。
这是我在 travis
上构建的 yml
文件
language: android
jdk: oraclejdk8
dist: trusty
android:
components:
- build-tools-29.0.3
- android-29
- extra-google-m2repository
- extra-android-m2repository
- extra-google-google_play_services
script:
- ./gradlew build
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
有人可以帮我把它发布到 bintray 吗?
这是完整的repo任何人都需要其他东西
Travis yml
文件仅构建 aar
但未按照 script
命令 ./gradlew build
发布。将其更改为 ./gradlew build bintrayUpload
应该可以像步骤 8 here.
这是我第一次尝试向 maven 发布内容,但我有一个 Android 库,我正尝试将其与 TravisCI
集成,以便在任何内容被推送到 master 时构建它查看Bintray gradle documentation 以及我发现的一些关于两者之间集成的文章,我为我的 build.gradle
文件
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'maven-publish'
publishing {
publications {
Production(MavenPublication) {
artifact("$buildDir/outputs/aar/mlcamera-release.aar")
groupId 'com.tycz'
artifactId 'mlcamera'
version '0.1.0'
//The publication doesn't know about our dependencies, so we have to manually add them to the pom
pom.withXml {
//def dependenciesNode = asNode().appendNode('dependencies')
//Iterate over the compile dependencies (we don't want the test ones), adding a <dependency> node for each
configurations.compile.allDependencies.each {
if (it.name != 'unspecified') {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
bintray {
// Get Bintray credential from environment variable
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_API_KEY')
dryRun = false
override = false
publish = true
pkg {
repo = 'MLCamera'
name = project.name
userOrg = 'tyczj359'
desc = 'A wrapper library for the new CameraX API and Firebase MLKit to create easier setup for MLKit usage'
vcsUrl = 'https://github.com/tyczj/MLCamera.git'
version {
name = '0.1.0'
released = new Date()
}
}
publications = ['Production']
}
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "0.1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'com.google.firebase:firebase-ml-vision:24.0.1'
implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.0.2'
implementation 'com.google.firebase:firebase-ml-vision-object-detection-model:19.0.3'
implementation 'androidx.core:core-ktx:1.2.0'
implementation "androidx.camera:camera-core:1.0.0-beta01"
implementation "androidx.camera:camera-camera2:1.0.0-beta01"
implementation "androidx.camera:camera-view:1.0.0-alpha08"
implementation "androidx.camera:camera-lifecycle:1.0.0-beta01"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
库本身似乎在 travis 中构建良好,但当我查看我的 bintray 存储库时,我发现那里什么也没有。
这是我在 travis
上构建的yml
文件
language: android
jdk: oraclejdk8
dist: trusty
android:
components:
- build-tools-29.0.3
- android-29
- extra-google-m2repository
- extra-android-m2repository
- extra-google-google_play_services
script:
- ./gradlew build
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
有人可以帮我把它发布到 bintray 吗?
这是完整的repo任何人都需要其他东西
Travis yml
文件仅构建 aar
但未按照 script
命令 ./gradlew build
发布。将其更改为 ./gradlew build bintrayUpload
应该可以像步骤 8 here.