es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estrategia de resolución de Gradle en el archivo build.gradle raíz.

¿Es posible especificar una ResolutionStrategy en el archivo build.gradle raíz que se aplique en los subproyectos? Solo puedo hacer que funcione si la ResolutionStrategy se agrega directamente en el archivo build.gradle del subproyecto.

subprojects {

configurations.all {
    resolutionStrategy {
        eachDependency { DependencyResolveDetails details ->
            if(details.requested.group == 'org.apache.logging.log4j') {
                details.useVersion '2.15.0'
            }
        }
    }
}
}

Cuando pongo eso en mi archivo build.gradle raíz y ejecuto ./gradlew :subproyecto:dependencies, la estrategia no se aplica. Sin embargo, cuando pongo el mismo bloque de configuración dentro del archivo build.gradle del subproyecto, funciona como se espera.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que es posible especificar una ResolutionStrategy en el archivo build.gradle raíz que se aplica en los subproyectos, pero requiere una ligera modificación en el bloque de configuración. La sintaxis correcta es:

    subprojects {
        // Definir las configuraciones a las que se aplicará esto
        configurations {
            all {
                resolutionStrategy {
                    eachDependency { DependencyResolveDetails details ->
                        if(details.requested.group == 'org.apache.logging.log4j') {
                            details.useVersion '2.15.0'
                        }
                    }
                }
            }
        }
    }
    

    Al definir explícitamente las configuraciones a las que se aplicará la estrategia de resolución, se puede aplicar correctamente a los subproyectos desde el archivo build.gradle raíz.

Comments are closed.