##概要
Androidで作成した自作ライブラリをGithubを利用して公開するための手順。結構躓いたので備忘録として手順をひと通りまとめてみる。mavenについて理解が甘いのでとりあえず手順だけ。
##準備
公開するライブラリはこちら。以前自分のブログで書いたTabオペレーションのための簡易UIライブラリ。鋭意開発中。。。
【Android】MenuTabのFragmentの遷移を自前のスタックで管理する at 情報系の凡才日記
##手順
-
githubでリポジトリを作る
-
gradleにMavenリポジトリに登録するためのスクリプトを書く
-
書いたタスクを動かしてできた生成物をgithubにpush
-
利用
###1. リポジトリを作る
ここは普通に作るだけなので省略。
###2. gradleにMavenリポジトリに登録するためのスクリプトを書く
apply plugin: 'android-library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository url: "file://${projectDir}/repository"
pom.groupId = 'taisho6339'
pom.artifactId = 'tab-opera'
pom.version = '0.0.3'
}
}
}
repositories {
mavenCentral()
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
}
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.2'
}
まず重要なのが、
apply plugin: 'com.android.application'
みたいになってるのを
apply plugin: 'android-library'
こう変えないとライブラリプロジェクトとみなされず、配布用 .aarファイルが生成されない。そうなると公開しても利用できない。
###3.タスクを動かして生成物をgithubにプッシュ
./gradlew uploadArchives
を実行すると、指定した場所に repository ディレクトリができあがってるはず。
これを、 git pushで公開完了。
##利用してみる
利用するときは、使いたいプロジェクトのbuild.gradle
にて、
repositories {
mavenCentral()
maven {
url 'https://raw.github.com/taisho6339/TabOpera/master/tabopera/repository'
}
}
dependencies {
compile 'taisho6339:tab-opera:0.0.3@aar'
}
を追加すれば完了。
##最後に
出来上がったリポジトリ
TabOpera
ライブラリの更新がいちいち面倒なので、
ビルド→uploadArchives→git pushで公開
の流れを自動化させたい。