2010-12-29 5 views
0

Ich habe zwei Hudson String Parameter in meiner parametrisierten Build-Konfiguration erstellt: svnRoot und .Verwenden Sie Hudson Build Parameter in Grails Build Ziel

Ich kann diese nur gut bei der Angabe meiner Repository-URL: ${svnRoot}/${svnBranch}/subProject.

Aber ich konnte sie nicht als Teil meiner Grails Build Target beziehen: "build-applet ${svnRoot}/${svnBranch}/appletProject username password" "war --non-interactive". build-applet ruft ein Gant-Skript im Grails-Projekt unter scripts\BuildApplet.groovy auf. Dieser Versuch ergibt die folgende Fehlermeldung:

groovy.lang.MissingPropertyException: No such property: svnRoot for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:240) at Script1.run(Script1.groovy:1) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:561) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:536) at com.g2one.hudson.grails.GrailsBuilder.evalTarget(GrailsBuilder.java:212) at com.g2one.hudson.grails.GrailsBuilder.perform(GrailsBuilder.java:168) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:603) at hudson.model.Build$RunnerImpl.build(Build.java:172) at hudson.model.Build$RunnerImpl.doRun(Build.java:137) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:417) at hudson.model.Run.run(Run.java:1337) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:140)

Was ist der beste und einfachste Weg, oder um mein Ziel zu erreichen?

Antwort

1

Vom Blick auf die Wiki-Seite auf dem Grails Plugin (http://wiki.hudson-ci.org/display/HUDSON/Grails+Plugin), sollte diese

grails build-applet ${env.svnRoot}/${env.svnBranch}/appletProject username password 

Wenn nicht, ich Probieren Sie einen Befehlszeilen-Build-Schritt aus. Stellen Sie sicher, dass Sie GRAILS_HOME als erste Zeile im Skript festlegen und Grails aufrufen.

prost

Lee

+0

Danke @leebutts! Ihr Codebeispiel hat nicht ganz funktioniert, aber es hat mich auf den richtigen Weg gebracht. Zuerst habe ich in der Dokumentation, die Sie verlinkt haben, gesehen, dass Sie vergessen haben, einfache Anführungszeichen um 'svnRoot' und' svnBranch' in Ihrem Beispiel hinzuzufügen. Aber selbst nachdem diese Korrektur vorgenommen wurde, erstickte das Skript bei der Verwendung von 'System.properties [" grails.cli.args "]?. Tokenize()', um die Argumente zu parsen. Die Punktnotation zur Dereferenzierung der 'env'-Variablen funktionierte jedoch perfekt:' grills build-applet $ {env.svnRoot}/$ {env.svnBranch}/appletProject Benutzername password'. Fühlen Sie sich frei, Ihre Antwort zu aktualisieren. –

Verwandte Themen