【发布时间】:2015-10-22 13:06:57
【问题描述】:
我有一个在我的 Android 项目中使用的纯 Java 库,我正在尝试对其进行配置,因此当我运行“gradle install”时,它将构建整个项目并将所有工件安装到自定义本地存储库中显然是一个 git 存储库。
这是模块 gradle 文件,项目构建良好:
group 'com.packagenaem'
def artifact = 'artifactname'
version '1.0.0'
apply plugin: 'java'
def MAVEN_LOCAL_PATH = 'file:///some/path/to/my/repo'
uploadArchives {
repositories {
apply plugin: 'maven'
mavenInstaller {
repository(url: MAVEN_LOCAL_PATH)
pom.groupId = group
pom.artifactId = artifact
pom.version = version
pom.packaging = 'jar'
}
}
}
task sourcesJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn:javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives sourcesJar
archives javadocJar
}
我从命令行运行时遇到的错误是:
Could not find method repository() for arguments [{url=file:///some/path/to/my/repo}] on repository container
如果我省略这行 repository(url: MAVEN_LOCAL_PATH),那么它会非常好地将所有工件安装到 /users/$USER/.m2/repository
=== 更新 ===
在执行以下gradle uploadArchive 时玩了一下之后,我得到了以下错误:
Failed to deploy artifacts/metadata: No connector available to access repository remote (/some/path/to/my/custom/repo) of type default using the available factories WagonRepositoryConnectorFactory
==== 将此问题扩展一点 ====
因此,既然我已经为这个问题设置了赏金,让我们扩展它并询问我如何才能做到这一点,以便我将在我的项目 gradle 文件中编写一次上述代码,并在“gradle uploadArchives”时部署它所有项目的工件?目前我已经在我拥有的所有构建 gradle 文件中复制了所有代码,我讨厌这种解决方案......
【问题讨论】:
-
同时使用 mavenInstaller 或 mavenDeployer 都不起作用......唯一的区别是 mavenDeployer 符合存储库但忽略它
标签: android maven android-studio gradle android-gradle-plugin