Définition des variables d'environnement de Gradle
J'ai besoin d'exécuter de Gradle un script Ant qui s'appuie sur des variables d'environnement.
Ant utilise <property environment="env"/>
.
J'ai essayé de faire env.foo="bar"
dans Gradle, mais il jette un Groovy exception.
Quelle est la bonne façon de passer des variables d'environnement de Gradle Ant?
Avez-vous essayé d'utiliser le script Ant par
C'est ce que je suis en train d'accomplir. Malheureusement, l'héritage script Ant s'appuie sur plusieurs variables d'environnement.
ant.importBuild 'build.xml'
?C'est ce que je suis en train d'accomplir. Malheureusement, l'héritage script Ant s'appuie sur plusieurs variables d'environnement.
OriginalL'auteur Sergey | 2012-01-09
Vous devez vous connecter pour publier un commentaire.
De la gradle 2.0 docs, je vois quelque chose comme ceci est possible
Ou dans ce cas pourrait utiliser cette
J'ai essayé dans mon construire.gradle fichier (avec un autre nom de variable). Puis-je vérifier le système de variable dans mon test comme ceci:
assertTrue(System.getenv().containsKey("SOME_TEST_VAR"));
Cela donne une erreur d'assertion. Donc il semble que la variable d'environnement n'est pas définie.J'obtiens une erreur
Could not find method systemProperty() for arguments
OriginalL'auteur dre
Il est impossible de définir des variables d'environnement de Gradle ou de la JVM en général, mais il est possible de tromper Ant comme ceci:
Could not find property '' on task '
OriginalL'auteur Sergey
Accepté la solution de @Sergey:
Ne fonctionne pas pour moi sur
gradle
2.9 etant
1.9.7.Qui n'a pas jeté toute erreur, mais ne rien faire. En effet, si vous regardez le code qu'il mis en œuvre en tant que:
où org.apache.outils.ant.PropertyHelper#getProperties est:
Il faire la copie explicite et il ne peut pas travailler.
La façon de le faire correctement dans
gradle
fichier:La Documentation mentionner quelques autres méthodes (remarque, sans projet):
OriginalL'auteur Hubbitus