- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
很抱歉,如果这看起来是一个愚蠢的问题。但我是 Java 和 Gradle 的初学者,有时我确实会遇到“Gradle 文档”的问题。
我只是想找到一种简单的方法来重用项目的 build.gradle
文件中的代码。因此,将此代码打包到一个插件中,并在我的公司存储库中上传和版本控制似乎是理想的选择。但这些独立插件是 java/groovy 项目/程序,其语法与 gradle DSL 不同。所以它们不会促进与 gradle.build 文件中相同的可能性和关闭,对吗?
例如,如果我想要一个可重用的存储库闭包,如下所示:
repositories {
maven {
url project.Repo_GP_Internal
credentials {
username project.Repo_GP_User
}
}
}
或者 uploadArchives 闭包:
uploadArchives {
repositories {
mavenDeployer {
repository(url: Repo_Upload_Internal){
authentication(userName: project.Repo_Upload_User, password: project.Repo_Upload_Pass)
}
snapshotRepository(url: Repo_Upload_Snapshot){
authentication(userName: project.Repo_Upload_User, password: project.Repo_Upload_Pass)
}
}
}
}
我可以以任何方式将其打包到一个插件中,然后将其作为 jar 上传到我的存储库吗?正如您所看到的,它是关于配置阶段的代码。
提前谢谢您。
最佳答案
您绝对也可以使用插件中 build.gradle 中可用的所有功能。
build.gradle 文件本质上只是一个使用项目对象集作为委托(delegate)执行的 groovy 脚本,您在其中使用的大多数魔术词(例如 task
)都只是 Project 的方法。类(class)。最显着的区别是,在自定义插件或任务中,您必须显式地与项目交互。
像这样的事情应该可以解决问题:
class MyPlugin implements Plugin<Project> {
void apply(Project project) {
project.repositories {
maven {
url project.Repo_GP_Internal
credentials {
username project.Repo_GP_User
}
}
}
}
}
有关repositories
闭包内可用的方法,请参阅documentation for RepositoryHandler
当然,仍然存在您的项目将如何访问您的插件的问题。例如,它可能从 Maven 存储库检索它,在这种情况下,您需要在每个项目中显式使用该 Maven 存储库参数定义 buildscript { repositories {
。
关于java - 自定义独立 gradle 插件不像通常的 build.gradle 代码那么强大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38639827/
Stackoverflow JS Genius的! 我当前的项目有一个问题,它正在使用 Node 的HTTP createServer,并使用Formidable来解析主体数据。 请参阅下面的代码。
我正在尝试将文件上传到我的 NodeJS 服务器。我目前收到错误: 错误:错误的内容类型 header ,未知的内容类型:image/jpeg “image/jpeg”是有效的 MIME 类型,为什么
我有一个用作路由器的 Node.JS 服务器,可以向它发出 post 请求以上传文件,应该只允许 jpg/png/jpeg 扩展名我目前正在做的是: var form = new formidable
我正在使用https://github.com/felixge/node-formidable用于使用express上传文件。 虽然它工作得很好,但有一个问题:我有一个包含 9 个 type="fil
Haskell 的类型推理引擎比 Scala 的类型推理引擎强大得多。在 Haskell 中,我很少需要显式编写类型,而在 Scala 中,类型只能在表达式中推断,而不能在方法定义中推断。 例如,请参
我将 Superpowered 用于各种实时 FX,它们都非常简单。然而,音高变换是另一回事,我认为事实上是因为它基于时间拉伸(stretch)算法,当然必须处理随时间变化的输出,这比应用 EQ 或混
我正在使用mean stack 和formidable上传文件 表单具有 multipart/form-data 属性 exports.create = function(req, res) {
我正在尝试构建我的第一个 node.js 应用程序,但是,使用 node server.js 运行时,我收到以下错误消息: connect: multipart: use parser (multip
对于强大的 npm 包,当我使用 import * as formidable from "formidable" 时,我收到一条错误消息,指出 formidable({ multiples: tru
我注意到了 std::string str; str += 'b'; // works str.append('b'); // does not work str.append(1, 'b'); //
我有一个需要访问本地 FS 的 HTML/JS(YUI 框架)照片管理器。我应该将 HTML/JS 移动到 AIR,还是硬着头皮将其“移植”到 Flex AIR? 我知道营销说的是什么,但我想要真正的
我是一名优秀的程序员,十分优秀!