[FR] Déployer sa librairie sur Jcenter

Les librairies sous Android sont pour la plupart déployées sous JCenter, cela permet à tout à chacun d’y avoir accès directement depuis son gradle, et d’importer une multitude d’extensions super pratiques dans son projet en peu de lignes.

Je vais par la suite vous montrer comment publier une librairie Android, dans mon cas ExpectAnim, afin que tout développeur puisse l’importer dans son projet en utilisant gradle.

compile 'com.github.florent37:expectanim:1.0.2'

Bintray.com

JCenter est un dépôt Maven public, accessible directement depuis la configuration des projets Android.
Il est hébergé par le site Bintray.com.

S’inscrire

Vous l’aurez compris, la première étape afin de distribuer votre librairie sur JCenter est donc de vous inscrire sur Bintray !

Récupérer son Api Key

Il nous faut maintenant récupérer notre clé d’API, ce qui nous permettra d’uploader nos artifact sur bintray
Rendrez-vous dans l’édition de votre profil, puis clickez sur API Key

 

Ici, ma clé d’api est 53fd629a7c75e0da9b2fe13ff908e2d4740cefe7

Configurer votre projet Android

Ajoutez ensuite votre nom d’utilisateur ainsi que votre apikey dans votre fichier local.properties

bintray.user=florentchampigny
bintray.apikey=53fd629a7c75e0da9b2fe13ff908e2d4740cefe7 

Nous utiliserons le plugin gradle-bintray-plugin afin de pousser nos librairies directement depuis Android Studio, pour cela, ajoutons la dépendance dans notre fichier projet build.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'

        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
       
    }
}

Téléchargez ensuite 3 fichiers, et placez les dans votre répertoire gradle/

bintray-android-v1.gradle
bintray-java-v1.gradle
install-v1.gradle

Il ne reste qu’à décrire notre artifact au sein de notre module, pour cela, écrivez ces lignes à la fin du fichier build.gradle de votre module :

ext {
    bintrayRepo = 'maven' //le nom de votre repo maven créé dans bintray
    bintrayName = 'ExpectAnim' //le nom que vous souhaitez donner à votre projet sur bintray
    orgName = 'florentchampigny' //votre nom d'utilisateur

    publishedGroupId = 'com.florentchampigny' //aaaa : le nom de groupe de la librarie
    artifact = 'expectanim' //BBBB : le nom de la librairie
    libraryVersion = "1.0.2" //la version de la librairie

    //la librairie sera donc : aaaa:BBBB:version

    libraryName = 'ExpectAnim'
    libraryDescription = 'Animate views easily'

    siteUrl = 'https://github.com/florent37/ExpectAnim'
    gitUrl = 'https://github.com/florent37/ExpectAnim.git'

    developerId = 'florentchampigny'
    developerName = 'Florent Champigny'
    developerEmail = 'champigny.florent@gmail.com'

    licenseName = 'The Apache Software License, Version 2.0'
    licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
    allLicenses = ["Apache-2.0"]
}

apply from: rootProject.file('gradle/install-v1.gradle')
apply from: rootProject.file('gradle/bintray-android-v1.gradle')

Vous pouvez enfin pousser votre artifact sur bintray en utilisant la task gradle bintrayUpload

./gradlew bintrayUpload

Votre librairie est enfin déposée sur votre maven

 

Déployer votre librairie sur jcenter

Il ne reste plus qu’à demander à bintray de déployer notre librairie sur JCenter, pour cela il suffit de cliquer sur le nom du projet, ici ExpectAnim, puis sur Add to JCenter

 

 

Une fois cette requête acceptée (vous recevrez un email pour vous avertir), les développeurs pourront utiliser votre librairie directement depuis JCenter

compile 'com.florentchampigny:expectanim:1.0.2'

 

N’hésitez pas à partager le plus possible vos librairies github sur Jcenter, cela ne fait que renforcer la communauté android, et facilite l’entraide entre développeurs.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *