我们有一个包含多个子项目的多项目gradle存储库。其中一个子项目应该生成单独的testJar并将其发布到本地maven存储库:
// build a repositories-testJar.jar with test classes for services tests
tasks.register<Jar>("testJar") {
archiveClassifier.set("testJar")
from(sourceSets["test"].output)
}
// the testJar must be built within the build phase
tasks.build {
dependsOn(tasks.withType<Jar>())
}
// needed for publishing plugin to be aware of the testJar
configurations.create("testJar") {
extendsFrom(configurations["testCompile"])
}
artifacts {
add("testJar", tasks.named<Jar>("testJar"))
}
这有效,我可以看到-testJar.jar
是在/build/libs
中生成的。
然后,在根项目gradle中。kts我们设立了一个发布扩展:
allprojects {
configure<PublishingExtension> {
publications {
create<MavenPublication>(project.name) {
groupId = "foo.bar"
artifactId = project.name.toLowerCase().replace(":", "-")
version = "ci"
from(components["kotlin"])
}
}
repositories {
maven {
url = uri("file://${rootProject.rootDir}/../m2")
}
}
}
}
这也正常工作,我可以看到模块发布在m2
目录中。但是,testJar
没有发布。我找不到如何将testJar
工件附加到根项目中定义的发布。
通过添加以下内容解决:
publishing {
publications {
create<MavenPublication>(project.name + "-" + testArtifact.name) {
groupId = "my.group"
artifactId = project.name.toLowerCase().replace(":", "-")
version = "version"
artifact(testArtifact)
}
}
}
构建 当项目开发完毕,只需要运行一行命令就可以打包你的应用: # 打包正式环境 npm run build:prod # 打包预发布环境 npm run build:stage 构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。 如果需要自定义构建,比如指定 dist 目录等,则需要通过 co
一旦源代码tarball已经从稳定的发布分支产生,发布过程公共部分便已经开始。但是在tarball进入公开之前,必须经过少量开发者的确认,通常需要三位或者更多。确认不仅仅是检测发布的明显缺陷;理想情况下,开发者应该下载tarball,在干净的系统上构建并安装,运行回归测试包Chapter 8, 管理志愿者的(见the section called “自动测试”),然后执行一些手工测试。假如通过了这
Egg.js应用开发-构建和发布 研发流程 开发构建 生产部署 Egg.js应用开发-构建和发布 更新时间:2018-08-08 15:55:03 本章讲解:如何构建部署 研发流程 服务端托管应用的研发流程分为两种:生产环境 和 开发环境 -> 生产环境 生产环境:只有一套线上环境,部署后服务端应用将直接上线。 开发环境 -> 生产环境:存在线下和线上两套相互独立的环境,部署后服务端应用将先在开发
我如何用Gradle在发布模式下构建测试APK?
在项目正常开发,预览效果达到要求的情况下,可以构建项目来进行更多的测试。 导读 熟悉构建发布面板 了解通用构建参数 命令行发布项目 定制项目的构建模版 扩展构建流程 构建流程简介与常见错误处理 发布到 web 平台 发布到原生平台 安装配置原生环境 原生平台 JavaScript 调试 发布到 iOS App Clip (轻 App) 发布到支付宝小游戏 发布到字节小游戏 发布到 Cocos Pl
我有一个多模块项目。而且,我希望能够只做gradle发布,并发布所有模块的所有工件。其中一个问题是,当我包含插件时,我得到了名为“构建”的任务,但在根项目中找不到。 当我运行