私はAndroidライブラリをローカルJFrog Artifactoryに公開しようとしています。私はアンドロイドのようないくつかの部分をスキップし、簡潔にするためにセクションの依存関係しているアンドロイドライブラリの生成されたpomへの依存関係を含む
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
apply plugin: 'com.android.library'
publishing {
publications {
aar(MavenPublication) {
groupId libraryGroupId
version libraryVersion
artifactId libraryArtifactId
artifact("$buildDir/outputs/aar/app-beta-debug.aar")
}
}
}
artifactory {
contextUrl = 'http://localhost:8081/artifactory'
publish {
repository {
repoKey = 'libs-release-local'
username = artifactory_username
password = artifactory_password
}
defaults {
publications('aar')
publishArtifacts = true
properties = ['qa.level': 'basic', 'q.os': 'android', 'dev.team': 'core']
publishPom = true
}
}
}
:現在、私はこれを持っています。 build.gradleには複数のコンパイル依存関係があります。
gradle artifactoryPublish
投稿されたアーティファクトはArtifactoryですが、生成されたpomには推移的な依存関係はありません。私はこの答えを見つけました:https://stackoverflow.com/a/30523571/2829308
この回答からは、pom.withXml
が働いていました(依存関係を除外する方法はわかりませんでしたが)。しかし、これはハッキリしているようです。より良い方法があるはずです。
を次のように私は成功したタスク言うが、アーティファクトがArtifactoryで公開されませんuploadArchives
方法を使用してみました。私は明白な何かを欠いていますかこれをどうやって解決するのですか?
彼が言っていることだと思います。ライブラリプロジェクトには依存関係があり、それらは自分のpomには含まれません。私はそのハックをしない限り、私は同じ問題を抱えています。 – CaptRespect