Java 如何为gradle存储库定义助手方法?
例如,Gradle脚本具有定义常见已知存储库的快捷功能Java 如何为gradle存储库定义助手方法?,java,gradle,build.gradle,Java,Gradle,Build.gradle,例如,Gradle脚本具有定义常见已知存储库的快捷功能 repositories { mavenCentral() } 我想定义自己的快捷方式函数,比如myPrivateMavenRepo(),这样我就可以编写 repositories { mavenCentral() myPrivateMavenRepo() } 而不是 repositories { mavenCentral() maven { url "http://repo.my
repositories {
mavenCentral()
}
我想定义自己的快捷方式函数,比如myPrivateMavenRepo()
,这样我就可以编写
repositories {
mavenCentral()
myPrivateMavenRepo()
}
而不是
repositories {
mavenCentral()
maven {
url "http://repo.mycompany.com/maven2"
}
}
问题:
- 如何开发定制回购功能
- 这个自定义函数托管在哪里李>
- 我有很多repo我想切换到gradle我不想用repo Url硬编码每个build.gradle文件我如何以一种易于引导的方式集中这些文件
mavenCentral()
、mavenLocal()
和jcenter()
添加预定义的存储库时,所有其他方法都需要配置闭包、操作或映射,这些配置闭包、操作或映射将应用于新的存储库
一种简单的方法是定义此类配置闭包、操作或映射,并通过插件扩展提供它们:
repositories {
mavenCentral()
maven myPluginExtension.myRepoClosure
}
由于RepositoryHandler
也是一个,您可以直接使用其修改方法,如add
来创建和注册ArtifactRepository
对象:
repositories {
jcenter()
add myPluginExtension.myRepo
}
如果要将方法直接添加到RepositoryHandler
,可以。请注意,这是一个Groovy特性,因此您只能在Groovy插件中使用它,而不能在Java插件中使用它
project.repositories.metaClass.myRepo {
// implement logic to add repository (e.g. call maven(closure) ...)
}
该方法将在生成脚本中可用:
repositories {
mavenLocal()
myRepo()
}
我想你也可以
allprojects {
repositories.ext.myPrivateMavenRepo = {
repositories.maven {
url: 'http://repo.mycompany.com/maven2'
}
}
}
用法
repositories {
myPrivateMavenRepo()
}
你可以很容易地把它变成你正在寻找的插件