Sono nuovo di gradle e desidero accedere al mio repository artifactory da esso. Se metto tutte le configurazioni in uno script di compilazione, la compilazione ha esito positivo. Qui ci sono le parti rilevanti della mia build.gradle:Gradle: impossibile configurare l'artefatto da uno script di build esterno
allprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'artifactory'
}
// ...
buildscript {
repositories {
maven {
url 'http://repo.jfrog.org/artifactory/gradle-plugins'
}
maven {
url artifactory_contextUrl + 'plugins-release'
credentials {
username = artifactory_user
password = artifactory_password
}
}
}
dependencies {
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.0.16')
}
}
artifactory {
contextUrl = artifactory_contextUrl
publish {
repository {
repoKey = 'libs-release-local'
username = artifactory_user
password = artifactory_password
maven = true
}
}
resolve {
repository {
repoKey = 'libs-release'
username = artifactory_user
password = artifactory_password
maven = true
}
}
}
dependencies {
// My dependencies ...
}
// Rest of the build script ...
Ora, vorrei tirare fuori la parte Artifactory in uno script Gradle separata per una migliore organizzazione. Questo è dove la costruzione va storta. Abbastanza sorprendentemente, ottengo il seguente errore anche se copio il mio build.gradle a foo.gradle, e il cambiamento build.gradle per contenere solo la singola linea
apply from: 'foo.gradle'
L'errore è
FAILURE: Build failed with an exception.
* Where:
Script '/path/to/my/project/foo.gradle' line: 5
* What went wrong:
A problem occurred evaluating script.
> Plugin with id 'artifactory' not found.
In caso questo non è un bug, qualcuno può spiegare questo comportamento di gradle's apply from
e proporre una soluzione?
Grazie
Potrebbe utilizzare un esempio di come questo dovrebbe funzionare in uno script di init. Ho provato, ma non sono riuscito a far funzionare lo script di init e a configurare correttamente le cose. –
Beh, è esattamente di che cosa parla la sezione 60.5. Esempio aggiunto. – JBaruch