Ich benutze 'anwenden von:' in meinem Build.gradle Skript. Die Verwendung von "Anwenden von" erfolgt in meinem benutzerdefinierten Plugin. Hat sonst noch jemand so ein Problem gehabt?Gradle 'anwenden von:' werfen Ausnahme
apply from: '../directory/' + chosenSubDir + '/build.gradle'
Ich erhalte folgende Ausnahme:
java.util.LinkedHashMap cannot be cast to org.gradle.api.Project
Mein Punkt ist, alle Abschnitte aus richtigen Datei zu erhalten (auch build.gradle) und ordnen sie ein Feld einer Hilfsklasse, die diese Daten gespeichert werden .
EDIT: Für jetzt ist der gesamte Code in Build.main Skript, aber schließlich wird es aufgeteilt.
class MyPlugin implements Plugin<Project> {
project.extensions.create('myFile', HelperClass)
project.task('task') {
doLast {
//listing files
//choosing file by user
//here receiving an exception \/
apply from: '../DirWithFiles/' + chosenFile
//further operations with content of chosen file
}
}
}
class HelperClass {
def config = {
set {}
map {}
//etc..
}
}
apply plugin: MyPlugin
rufe ich mein Plugin durch Aufgabe Aufruf ./gradlew
Es sollte funktionieren, teilen Sie bitte die gesamte build.gradle, die das Problem reproduziert. – Opal
@Opal Bitte werfen Sie einen Blick auf den Code, den ich geteilt habe. – Arcadio
Warum bewerben Sie sich in einer Aufgabe? 'apply' sollte am Anfang des Plugins aufgerufen werden. – Opal