Загрузка библиотеки Android aar в bintray из TravisCI - PullRequest
0 голосов
/ 11 марта 2020

Я впервые пытаюсь опубликовать sh что-то для maven, но у меня есть библиотека Android, которую я пытаюсь интегрировать с TravisCI, чтобы создать ее, когда что-то подтолкнуть к мастеру. 1002 * документация вместе с некоторыми статьями, которые я нашел об интеграции между ними, и я придумал это для моего 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, я вижу, что там ничего нет.

Это мой yml файл для сборки на travis

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?

Это полный репо кому-то нужно что-то еще

1 Ответ

1 голос
/ 13 марта 2020

Файл Travis yml только создает aar, но не публикуется согласно команде script ./gradlew build. Изменение на ./gradlew build bintrayUpload должно сделать то же самое, что и в шаге 8 здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...