Githubパッケージを使用したAndroidライブラリの公開
Githubは2019年11月にGithubパッケージをリリースしました.これで、サードパーティサービスを購読することなく、さまざまな種類のパッケージやライブラリ、すなわちMaven、NPM、Ruby Gems、Dockerなどを公開することができます.
本稿では、AndroidライブラリやMavenパッケージ、すなわちjar、aarなどをGithubパッケージに公開する方法について説明します.
例プロジェクトを見ることができますhere .
これらの簡単な手順ですべてのことを学びます. セットアップ資格 Androidライブラリを発行 別のプロジェクトでライブラリを使用します 詳しく説明しましょう
セットアップ資格
Githubに任意のパッケージを公開するには、githubユーザ名とgithubトークンが必要です.usernameは既に持っている問題ではありません.ここでGithubトークンを作成する必要があります.
新しいトークンを作成するには、Githubアカウントの右上にあるプロフィール画像をクリックして開きます.それから行きなさい.
次のパーミッションを確認してください.
Androidライブラリを発行
資格情報が準備できたら、モジュールレベルのgradleファイルにコードを追加するときです.
オープンモジュールまたはライブラリの
現在Gradleを同期し、新しいGradleタスクが表示されます
新しいアーティファクトを作成し、Githubパッケージにアップロードする時です.
新しいビルドを作成するには、次のコマンドを実行します.
これらの2つのコマンドを実行した後、私たちのパッケージが正常に公開されます.そのパッケージを見ることができますGitHub Packages .
このプロジェクトの完全なコードも、このパブリックリポジトリに表示できます.
Analytics GitHub Repository
別のプロジェクトでライブラリを使用します
我々は、ライブラリを正常にgithubパッケージを公開している.このライブラリを別のプロジェクトで使用するには、次のGradle依存をappレベルのgradleファイルに追加します.
私は、これらの資格情報を加えることがオープンソースプロジェクトのために苦痛であるということを知っています、しかし、それは現在義務的です.Githubが中央リポジトリでこれらのライブラリをホストすることを望みます.
はい、それです!
結論
当社のライブラリGithubパッケージで公開されており、あなたのプロジェクトで使用することができます.このライブラリをチェックしますかGitHub あなたがAnalytics、MixPanel、Google Analyticsをあなたのプロジェクトに統合しているならば、それはあなたの人生を簡単にします.
Githubのパッケージは、既にGithub生態系を使用している場合に便利です.AndroidとJavaのライブラリを簡単にインストールできます.
本稿では、AndroidライブラリやMavenパッケージ、すなわちjar、aarなどをGithubパッケージに公開する方法について説明します.
例プロジェクトを見ることができますhere .
これらの簡単な手順ですべてのことを学びます.
セットアップ資格
Githubに任意のパッケージを公開するには、githubユーザ名とgithubトークンが必要です.usernameは既に持っている問題ではありません.ここでGithubトークンを作成する必要があります.
新しいトークンを作成するには、Githubアカウントの右上にあるプロフィール画像をクリックして開きます.それから行きなさい.
Developer settings ➡ Personal access tokens ➡ Generate new token
.次のパーミッションを確認してください.
read:packages
write:packages
repo
このトークンはGithubで再び見ることができません.それで、トークンをコピーして、あなたのシステムまたは安全な場所のどこかにそれを保存してください.コピーを保存しない場合は、新しいものを生成できます.Androidライブラリを発行
資格情報が準備できたら、モジュールレベルのgradleファイルにコードを追加するときです.
オープンモジュールまたはライブラリの
build.gradle
ファイルを次のプラグインを適用しますapply plugin: 'maven-publish'
現在、ライブラリに関連する情報を返すメソッドを定義する時が来ました.以下にこれらのメソッドを示します:// Place the version of your library here
def getVersionName = { ->
return "0.0.1"
}
// Add the name of your library here
def getArtifactId = { ->
return "analytics-sdk"
}
// Add the group ID of your library here
def getGroupId = { ->
return "com.otb"
}
// Prepare URL of maven package.
// Replace 'mohitrajput987' with your github repo's username or organization name.
// Replace 'analytics-sdk-android' with the name of github repo
def getGitHubUrl = { ->
return "https://maven.pkg.github.com/mohitrajput987/analytics-sdk-android"
}
コンプリートbuild.gradle
ライブラリモジュールのファイルは次のようになります.apply plugin: 'java-library'
apply plugin: 'kotlin'
apply plugin: 'maven-publish'
def getVersionName = { ->
return "0.0.1"
}
def getArtifactId = { ->
return "analytics-sdk"
}
def getGroupId = { ->
return "com.otb"
}
def getGitHubUrl = { ->
return "https://maven.pkg.github.com/mohitrajput987/analytics-sdk-android"
}
publishing {
publications {
bar(MavenPublication) {
groupId getGroupId()
artifactId getArtifactId()
version getVersionName()
// Place the path of your artifact here
artifact("$buildDir/libs/${getArtifactId()}.jar")
}
}
repositories {
maven {
name = "GitHubPackages"
url = uri(getGitHubUrl())
credentials {
username = System.getenv("GITHUB_USER_NAME")
password = System.getenv("GITHUB_TOKEN")
}
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
Githubのユーザ名とパスワードを環境変数に保存し、以下のようにします.username = System.getenv("GITHUB_USER_NAME")
password = System.getenv("GITHUB_TOKEN")
からアクセスできますlocal.properties
ファイルも.現在Gradleを同期し、新しいGradleタスクが表示されます
publish
.新しいアーティファクトを作成し、Githubパッケージにアップロードする時です.
新しいビルドを作成するには、次のコマンドを実行します.
./gradlew analytics-sdk:assemble
これはJARファイルを作成します.Githubパッケージにこれを公開するには、次のコマンドを実行します../gradlew analytics-sdk:publish
置換analytics-sdk
モジュールのプロジェクト名を指定します.これらの2つのコマンドを実行した後、私たちのパッケージが正常に公開されます.そのパッケージを見ることができますGitHub Packages .
このプロジェクトの完全なコードも、このパブリックリポジトリに表示できます.
Analytics GitHub Repository
別のプロジェクトでライブラリを使用します
我々は、ライブラリを正常にgithubパッケージを公開している.このライブラリを別のプロジェクトで使用するには、次のGradle依存をappレベルのgradleファイルに追加します.
implementation "com.otb:analytics-sdk:0.0.1"
publicかprivateなリポジトリであるかどうか、ユーザはルートレベルのgradleファイルにパッケージURLと資格情報を追加しなければなりません.repositories {
maven {
url = "https://maven.pkg.github.com/mohitrajput987/analytics-sdk"
credentials {
username = GITHUB_USER
password = GITHUB_TOKEN
}
}
}
ユーザのgithubトークンにはrepo
and read package
許可.私は、これらの資格情報を加えることがオープンソースプロジェクトのために苦痛であるということを知っています、しかし、それは現在義務的です.Githubが中央リポジトリでこれらのライブラリをホストすることを望みます.
はい、それです!
結論
当社のライブラリGithubパッケージで公開されており、あなたのプロジェクトで使用することができます.このライブラリをチェックしますかGitHub あなたがAnalytics、MixPanel、Google Analyticsをあなたのプロジェクトに統合しているならば、それはあなたの人生を簡単にします.
Githubのパッケージは、既にGithub生態系を使用している場合に便利です.AndroidとJavaのライブラリを簡単にインストールできます.
Reference
この問題について(Githubパッケージを使用したAndroidライブラリの公開), 我々は、より多くの情報をここで見つけました https://dev.to/mohitrajput987/publish-android-library-using-github-packages-4lnfテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol