[英]How to attach sources of an AAR file with maven-publish gradle plugin?
[英]How to publish aar file to Apache Archiva with Gradle
我試圖將生成的我的android庫的aar文件發布到我的Apache Archiva Maven服務器,但我還沒設法讓它工作,因為這些示例都已過時或者它們是針對java而不是針對android
在注意到gradle示例的大多數方法都已棄用之后,我發現了這個新文檔:
其中介紹了如何使用新的API,似乎將uploadArchives替換為發布等等....
所以這就是我到目前為止所得到的:
apply plugin: 'com.android.library'
apply plugin: 'maven'
apply plugin: 'maven-publish'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.mycompany.mylibrary"
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
}
task sourceJar(type: Jar) {
from sourceSets.main.allJava
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId 'com.android.mylibrary'
artifactId 'MyLibrary'
version '1.0.0'
from components.java
artifact sourceJar {
classifier "sources"
}
}
}
repositories {
maven {
url "myurl"
credentials{
username "user"
password "password"
}
}
}
}
Gradle的東西對我來說就像是地獄。 我不知道什么是正確的,什么是錯的,有些事情似乎沒有任何暗示,它不再受到支持,這使得解決這些問題變得非常困難......
如何自動將生成的aar文件上傳到我的Apache Archiva?
自己解決了
apply plugin: 'com.android.library'
apply plugin: 'maven'
apply plugin: 'maven-publish'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
repositories {
mavenCentral()
}
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
provided 'com.android.support:support-v4:21.0.3'
provided 'com.android.support:appcompat-v7:21.0.3'
}
task sourceJar(type: Jar) {
classifier "source"
}
publishing {
publications {
repositories.maven {
url 'myurl/repositories/myrepo'
credentials {
username "user"
password "password"
}
}
maven(MavenPublication) {
artifacts {
groupId 'com.mycompany'
artifactId 'mylibrary'
version '1.0'
artifact 'build/outputs/aar/app-release.aar'
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.