Déclarer tableau/table de hachage dans gradle.fichier de propriétés
Je suis en train de créer un tableau dans le gradle.fichier de propriétés. Lorsque, par exemple, je ne le prochain, dans certains gradle script:
project.ext.mygroup = [
myelement1: "myvalue1",
myelement2: "myvalue2"
]
project.mygroup.put("myelement3", "myvalue3"); //As internally it works like a hashmap
et puis je liste les propriétés, j'obtiens:
mygroup: {myelement1=myvalue1, myelement2=myvalue2, myelement3=myvalue3}
Donc, si j'ai essayer de définir une propriété de la même forme, dans le gradle.fichier de propriétés:
mytestgroup={myelement1=myvalue1, myelement2=myvalue2}
Et puis dans le gradle script j'essaie d'accéder à cette propriété:
project.mytestgroup.put("myelement3", "myvalue3");
J'obtiens l'erreur suivante:
No signature of method: java.lang.String.put() is applicable for argument types: (java.lang.String, java.lang.String) values: [myelement3, myvalue3]
C'est parce que la propriété "mytestgroup" est une chaîne de caractères au lieu d'un tableau.
Croit-on savoir quelle est la bonne syntaxe pour déclarer un tableau dans le gradle.fichier de propriétés?
Merci d'avance
Vous ne pouvez pas définir une liste ou d'une carte de valeur dans
gradle.properties
, comme c'est un simple fichier de propriétés Java où toutes les valeurs sont des chaînes de caractères.
OriginalL'auteur gomerudo | 2014-10-23
Vous devez vous connecter pour publier un commentaire.
La notation
{myelement1=myvalue1, myelement2=myvalue2, myelement3=myvalue3}
est simplement une chaîne de caractères de la représentation de l'objet en tant que résultat de l'appel d'Map.toString()
. Il n'est pas syntaxiquement correct Groovy.Votre premier exemple est la bonne manière de définir un
Map
.La définition d'un tableau est similaire.
Désolé à ce sujet, je suppose que je n'ai pas lu complètement à votre question. Peter est correcte, les valeurs dans les propriétés des fichiers ne peuvent être des chaînes de caractères.
OriginalL'auteur Mark Vieira
Définir la propriété de chaîne JSON
et de l'analyser dans le script de construction avec JsonSlurper:
OriginalL'auteur Franklin Yu
La JsonSlurper moyen est bon, mais je voulais une manière plus propre de définir à la fois une simple chaîne de caractères ou un tableau en tant que propriété. Je l'ai résolu en déclarant la propriété:
ou:
Puis à l'intérieur de Gradle récupérer la propriété avec:
Et vous obtiendrez un tableau de Chaîne de caractères. Soyez prudent avec les caractères d'espace autour de la virgule.
OriginalL'auteur Kazikal