Definir propiedades de proxy en un fixture de Gradle TestKit
Define gradle.properties en la raíz del fixture antes de ejecutar esa compilación separada, comprobando explícitamente las anulaciones y el directorio de usuario aislado.
new File(fixtureDir, 'gradle.properties').text = """systemProp.http.proxyHost=proxy.example
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.example
systemProp.https.proxyPort=8080
"""
def result = GradleRunner.create()
.withProjectDir(fixtureDir)
.withArguments('assemble')
.build()Usa el directorio de fixture existente que selecciona withProjectDir, junto con sus archivos build/settings. Combina las propiedades de proxy con lo que el fixture ya necesita; los hosts y puertos de proxy permanecen separados. Para las descargas permitidas de repositorios públicos, la lista de proxies HTTP aporta candidatos para esas propiedades.
La compilación externa del plugin puede tener éxito mientras esta compilación de prueba funcional falla. Importar su clase de prueba no copia el gradle.properties externo, y las propiedades del JVM de JUnit no describen por sí solas las entradas de la compilación separada.
TestKit usa por defecto un directorio de usuario de Gradle aislado, así que las propiedades privadas habituales del desarrollador pueden faltar. A la inversa, las propiedades de línea de comandos -D o del directorio de usuario pueden anular las entradas del fixture.
Esto configura las solicitudes a los repositorios de Gradle. Un plugin que lance otro descargador o tenga su propio transporte HTTP puede necesitar otra ruta.