Geo*_*ies 5 .net java groovy gradle
如果当前项目仍具有快照依赖项,我想使gradle构建失败.
到目前为止,我的代码只查找java依赖项,缺少.NET项,因此它只适用于java项目.我想让它适用于所有项目.
def addSnapshotCheckingTask(Project project) {
project.tasks.withType(JavaCompile) { compileJava ->
project.tasks.create(compileJava.name + 'SnapshotChecking', {
onlyIf {
project.ext.isRelease || project.ext.commitVersion != null
}
compileJava.dependsOn it
doLast {
def snapshots = compileJava.classpath
.filter { project.ext.isRelease || !(it.path ==~ /(?i)${project.rootProject.projectDir.toString().replace('\\', '\\\\')}.*build.libs.*/) }
.filter { it.path =~ /(?i)-SNAPSHOT/ }
.collect { it.name }
.unique()
if (!snapshots.isEmpty()) {
throw new GradleException("Please get rid of snapshots for following dependencies before releasing $snapshots")
}
}
})
}
}
Run Code Online (Sandbox Code Playgroud)
我需要一些帮助,以便将此代码段生成适用于所有类型的依赖项(不仅仅是java)
谢谢!
就像是
Collection<ResolvedArtifact> snapshotArtifacts = project.configurations*.resolvedConfiguration.resolvedArtifacts.filter { it.moduleVersion.id.version.endsWith('-SNAPSHOT') }
if (!snapshotArtifacts.empty) {
// throw exception
}
Run Code Online (Sandbox Code Playgroud)
请参阅 https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html#getResolvedConfiguration-- https://docs.gradle.org/current/javadoc/org/gradle/api/工件/ResolvedConfiguration.html#getResolvedArtifacts--
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |