Gradle - excepción tiro si el proyecto todavía tiene dependencias INSTANTÁNEA

George Cimpoies:

Quiero dejar la acumulación Gradle si el proyecto actual todavía tiene instantáneas dependencias.

Mi código hasta ahora sólo busca dependencias java, faltan los .NET por lo que sólo funciona para proyectos Java. Quiero hacer que funcione para todos los proyectos.

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")
                }
            }
        })
    }
}

Necesito un poco de ayuda en generifying este fragmento que sea aplicable a todos los tipos de dependencias (no solo java)

¡Gracias!

LE Podría algo así como este trabajo? https://discuss.gradle.org/t/how-can-i-check-for-snapshot-dependencies-and-throw-an-exception-if-some-where-found/4064

lanza-java:

Algo como

Collection<ResolvedArtifact> snapshotArtifacts = project.configurations*.resolvedConfiguration.resolvedArtifacts.filter { it.moduleVersion.id.version.endsWith('-SNAPSHOT') }
if (!snapshotArtifacts.empty) {
   // throw exception
}

Ver https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html#getResolvedConfiguration-- https://docs.gradle.org/current/javadoc/org/gradle/api/ artefactos / ResolvedConfiguration.html # getResolvedArtifacts--

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=181983&siteId=1
Recomendado
Clasificación