AS-独自の倉庫の構築
5944 ワード
まず、これはandroid studioで使用中に作られたと宣言します.
asのプロジェクトでは、このようなコードがよく見られます.
あるいは、
使用する場合、copyは他のオープンソースプロジェクトから来ていますが、なぜこのように使用するのか分かりませんが、gradleの構築方式の使用のため、asがbuild.gradleファイルで上記のcompile文を宣言すると、gradleは自動的にネット上から対応するライブラリ(jarやaarなど)を見つけて現在のプロジェクトにロードし、便利に使用できます.
今日は午後になって、やっと分かりました.これは多くの達人が使っている中央倉庫、maven、jcenter、rpmなどです.一言:自分のオープンソースプロジェクトライブラリを書いて、中央倉庫に置いて、他の人や自分で使うようにします.使うのも便利ですが、上記のように導入してgradleを自動的にコンパイルすればいいです.
具体的な使い方:着https://bintray.com アカウントを登録して、登録時のアカウントとAPIkey(個人情報編集ページに表示される) を覚えてください.独自のオープンソースプロジェクトを作成します.このプロジェクトは一般的にライブラリプロジェクトです.メインプロジェクトでmoduleライブラリプロジェクトを作成することもできます.次に、忍耐と注意が必要です. まずlibraryプロジェクトの
5.次に、現在のgradleファイルの下部に追加します.
6.このbintray.gradleファイルはlibraryプロジェクトのルートディレクトリの下に置けばいいです.内容は次のとおりです.
7.libraryディレクトリの下にある
8.命令を実行し、倉庫を中央倉庫に発行する
または
2.実行
9.jcenterセントラルライブラリに含める
このページに進みます.https://bintray.com/bintray/jcenter、Include My Packageをクリックして、ポップアップダイアログボックスでアイテムを検索してチェックし、send できます.
これで、あなたの倉庫の発表が完了し、審査が成功するのを待って、誰もがプロジェクトで参照することができます.例えば、上記の私のライブラリの使用方法は次のとおりです.
asのプロジェクトでは、このようなコードがよく見られます.
compile 'com.quicktortoise:com-quicktortoise-dev:1.0.0'
あるいは、
compile('com.afollestad.material-dialogs:core:0.8.4.2@aar') {
transitive = true
}
使用する場合、copyは他のオープンソースプロジェクトから来ていますが、なぜこのように使用するのか分かりませんが、gradleの構築方式の使用のため、asがbuild.gradleファイルで上記のcompile文を宣言すると、gradleは自動的にネット上から対応するライブラリ(jarやaarなど)を見つけて現在のプロジェクトにロードし、便利に使用できます.
今日は午後になって、やっと分かりました.これは多くの達人が使っている中央倉庫、maven、jcenter、rpmなどです.一言:自分のオープンソースプロジェクトライブラリを書いて、中央倉庫に置いて、他の人や自分で使うようにします.使うのも便利ですが、上記のように導入してgradleを自動的にコンパイルすればいいです.
具体的な使い方:
build.gradle
に次のコンストラクションスクリプト依存性を追加します:buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
}
}
5.次に、現在のgradleファイルの下部に追加します.
apply from: 'bintray.gradle'
6.このbintray.gradleファイルはlibraryプロジェクトのルートディレクトリの下に置けばいいです.内容は次のとおりです.
group = PROJ_GROUP
version = PROJ_VERSION
project.archivesBaseName = PROJ_ARTIFACTID
apply plugin: 'com.jfrog.bintray'
apply plugin: "com.jfrog.artifactory"
apply plugin: 'maven-publish'
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += configurations.compile
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
javadoc {
options{
encoding "UTF-8"
charSet 'UTF-8'
author true
version true
links "http://docs.oracle.com/javase/7/docs/api"
title PROJ_ARTIFACTID
}
}
def pomConfig = {
licenses {
license {
name "The Apache Software License, Version 2.0"
url "http://www.apache.org/licenses/LICENSE-2.0.txt"
distribution "repo"
}
}
developers {
developer {
id DEVELOPER_ID
name DEVELOPER_NAME
email DEVELOPER_EMAIL
}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
artifactId PROJ_ARTIFACTID
artifact javadocJar
artifact sourcesJar
pom{
packaging 'aar'
}
pom.withXml {
def root = asNode()
root.appendNode('description', PROJ_DESCRIPTION)
root.children().last() + pomConfig
}
}
}
}
afterEvaluate {
publishing.publications.mavenJava.artifact(bundleRelease)
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
//user = hasProperty("bintrayUser")?getProperty("bintrayUser"):getProperty("BINTRAY_USER")
//key = hasProperty("bintrayKey")?getProperty("bintrayKey"):getProperty("BINTRAY_KEY")
publications = ['mavenJava']
publish = true
pkg {
repo = 'maven'
name = PROJ_NAME
desc = PROJ_DESCRIPTION
websiteUrl = PROJ_WEBSITEURL
issueTrackerUrl = PROJ_ISSUETRACKERURL
vcsUrl = PROJ_VCSURL
licenses = ['Apache-2.0']
publicDownloadNumbers = true
}
}
artifactory {
contextUrl = 'http://oss.jfrog.org/artifactory'
resolve {
repository {
repoKey = 'libs-release'
}
}
publish {
repository {
repoKey = 'oss-snapshot-local' //The Artifactory repository key to publish to
username = bintray.user
password = bintray.key
maven = true
}
defaults {
// , jfrog
publications('mavenJava')
publishArtifacts = true
}
}
}
7.libraryディレクトリの下にある
gradle.properties, :
の構成PROJ_GROUP=com.quicktortoise
PROJ_VERSION=1.0.0
PROJ_NAME=quicktortoise
PROJ_WEBSITEURL=https://github.com/gao746700783/QuickTortoise
PROJ_ISSUETRACKERURL=
[email protected]:quicktortoise/QuickTortoise.git
PROJ_DESCRIPTION=android quick Dev
PROJ_ARTIFACTID=com-quicktortoise-dev
DEVELOPER_ID=tortoise
DEVELOPER_NAME=gaoxiaohui
[email protected]
#BINTRAY_USER=**************
#BINTRAY_KEY=**************
8.命令を実行し、倉庫を中央倉庫に発行する
gradle bintray
または
1.gradle bintrayUpload
を別々に実行するbintray.comにライブラリをパブリッシュする.gradle bintrayUpload
2.実行
gradle artifactoryPublish
はoss.jfrog.orgにリリースできる.gradle artifactoryPublish
9.jcenterセントラルライブラリに含める
このページに進みます.https://bintray.com/bintray/jcenter、Include My Packageをクリックして、ポップアップダイアログボックスでアイテムを検索してチェックし、send できます.
これで、あなたの倉庫の発表が完了し、審査が成功するのを待って、誰もがプロジェクトで参照することができます.例えば、上記の私のライブラリの使用方法は次のとおりです.
compile 'com.quicktortoise:com-quicktortoise-dev:1.0.0'
, , , 。
, ,