Je construis un script ant avec groovy markupbuilder. Malheureusement MarkupBuilder ne me permet pas de créer des noeuds avec 'cible' nom (pas de problème avec targetee), becauase il me jettecomment créer un document xml avec des noms de noeuds spéciaux avec groovy markupbuilder
Caught: groovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.util.LinkedHashMap, BuildGen$_main_closure1_closure5) values: [[name:clean], [email protected]]
Possible solutions: wait(), any(), trim(), split(), dump(), next()
donc dans mon MarkupBuilder cet extrait fonctionne:
targete(name: 'clean') {
delete(dir: rootProj.compilerOutput)
}
mais Je voudrais obtenir la même chose avec un nœud « cible » ..
j'ai réussi à créer un noeud « cible » vide de cette façon:
builder.invokeMethod('target', [name: 'clean'])
mais comment puis-je continuer et mettre plus de nœuds à l'intérieur de ce nœud 'cible'?
Exemple de code de travail:
def writer = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(writer)
builder.project(name: projectName, basedir:'.') {
// works with 'target2' but not with 'target'
'target2'(name: 'build-subprojects') {
rootProj.getAllDependentProjects().each { p->
echo(message: "Compiling project: ${p.projectName}")
// some real stuff
}
}
Pouvez-vous envoyer quelques exemples de code qui ne fonctionne pas pour vous? Je ne suis pas sûr de comprendre quel est votre problème? –
J'ai ajouté cela dans la question. J'espère que cela rend mon problème clair :-) – jabal