Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Publish Android aar to artifactory

I'm stuck with integrating artifactory 3.0.1 plugin with Gradle. I'm using Android Studio 1.0 so I'm guessing that I'm on Gradle 2.0. Any examples on publishing to artifactory using the 3.0.1 plugin would be highly helpful.

Thanks in advance

like image 223
Jani Avatar asked Sep 30 '22 02:09

Jani


1 Answers

Publishing to Artifactory is just a configuration task. You just need to configure two plugins, com.jfrog.artifactory and maven-publish, and run artifactoryPublish Gradle's task. But... let's explain it by code, to ease copypasting :·)

At your library's build.gradle:

apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'

publishing {
    publications {
        aar(MavenPublication) {
            groupId 'com.fewlaps.something' //put here your groupId
            artifactId 'productname' //put here your artifactId
            version '7.42.0' //put here your library version

            // Tell maven to prepare the generated "*.aar" file for publishing
            artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
        }
    }
}

artifactory {
    contextUrl = 'https://your-artifactory-host.com/artifactory'
    publish {
        repository {
            repoKey = "libs-release-local"
            username = "username"
            password = "password"
        }
        defaults {
            // Tell the Artifactory Plugin which artifacts should be published to Artifactory.
            publications('aar')
        }
    }
}

And then, run ./gradlew artifactoryPublish

In addition, if you want to upload the artifact everytime you push a tag to GitHub, add this code to your .travis.yml

deploy:
  - provider: script
    script: ./gradlew artifactoryPublish
    skip_cleanup: true
    on:
      tags: true

If it doesn't launch a build for the tag when you push a tag to GitHub, check that you're building vX.X.X tags on Travis:

# Build only master and "vX.X.X" tags to prevent flooding Travis machines
branches:
  only:
    - master
    - /^v\d+\.\d+\.\d+$/
like image 50
Roc Boronat Avatar answered Oct 04 '22 02:10

Roc Boronat