Ich muss eine Variable als Teil einer Zeichenfolge verwenden, die verwendet wird, um eine andere Variable in einem gstring zu adressieren.
In Syntesys, was ich möchte ist tun: ${${it}_checkout}
GString innerhalb eines Gstring in Gradle/Groovy
Die ganze Codezeile wäre:
def checkouts = repos.collect{"${it} = ${${it}_checkout} "}
Mit repos
eine Liste von Endlagern zur Kasse zu sein.
Jedes Repo hat eine Eigenschaft namens <repo>_checkout
.
Zum Beispiel, wenn ich zwei repos haben, genannt foo
und bar
, werde ich zwei Variablen namens foo_checkout
und bar_checkout
, enthält die Zweige checkouted werden.
Ich versuche, die folgende Zeichenfolge zu erstellen: "foo = $ foo_checkout bar = $ bar_checkout".
Das wird übersetzt in "foo = master bar = dev"
Gibt es einen Weg?
Die Sache ist, dass ich den Wert der Variablen müssen das wäre genannt $ {it} _checkout. Zum Beispiel, wenn ich einen Repo namens 'foo' habe, werde ich eine Variable namens' foo_checkout' haben, die den Zweig zum Checkout enthält. Ich werde die Frage aktualisieren, um Verwirrung zu vermeiden –
@PedroWitzel Aktualisierte Antwort, hoffe es ist näher? –