Tac*_*0sS 5 android gradle maven android-studio android-gradle-plugin
我有一个我在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
}
Run Code Online (Sandbox Code Playgroud)
从命令行运行时出现的错误是:
Could not find method repository() for arguments [{url=file:///some/path/to/my/repo}] on repository container
Run Code Online (Sandbox Code Playgroud)
如果我省略这一行,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
Run Code Online (Sandbox Code Playgroud)
====扩展这个问题一个比特====
因为我已经为这个问题设置了一个赏金,让我们扩展它并询问我该如何制作它以便我将在我的项目gradle文件中编写上述代码一次,并在"gradle uploadArchives"上它将部署工件所有项目?目前我已经复制了所有构建gradle文件的所有代码,我讨厌这种解决方案......
好吧,所以我浪费了很多时间和脑细胞......
而不是声明:
repository(url: file("/some/path/to/my/custom/repo"))
Run Code Online (Sandbox Code Playgroud)
将其更改为:
repository url: 'file://' + new File("/some/path/to/my/custom/repo").absolutePath
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但现在我尝试的每个配置都有效......
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |