1
votes

Gradle.properties a-t-il accès aux variables d'environnement

J'ai regardé autour de moi et je n'ai trouvé aucun moyen d'accéder aux variables d'environnement dans mon gradle.properties.

Ce que je peux faire: Dans mon build.gradle, je peux accéder à des variables d'environnement comme celle-ci System.getenv ("MY_VAR") . J'aimerais faire la même chose dans mon gradle.properties.

Exemple de ce que je veux faire: Dans mon gradle.properties, remplacez build.foo = bar par build.foo = System.getenv ("BAR ")

Jusqu'à présent, toutes mes tentatives d'accès aux variables d'environnement à partir de gradle.properties ont échoué.

Tout aperçu de la question serait formidable, merci!


0 commentaires

3 Réponses :


3
votes

je n'ai trouvé aucun moyen d'accéder aux variables d'environnement dans mon gradle.properties.

Vous ne pouvez pas. gradle.properties n'a rien d'extraordinaire, c'est un fichier de propriétés standard .

Vous devrez post-traiter les propriétés d'une manière ou d'une autre comme indiqué dans ceci . Actuellement, Gradle n'offre aucune fonctionnalité de ce type pour le "chargement personnalisé" gradle.properties .


0 commentaires

3
votes

Toutes les variables d'environnement ne sont pas visibles à la gradation. Si vous pouvez les nommer avec le préfixe spécial ORG_GRADLE_PROJECT_ , ceux-ci seront disponibles. Vous pouvez en lire ici

ORG_GRADLE_PROJECT_foo est accessible en tant que foo dans gradle.


1 commentaires

Votre déclaration est vraie en ce que seules les variables env spécialement nommées sont automatiquement chargées dans les propriétés internes de gradle. Mais vous pouvez explicitement utiliser System.getEnv ('ENV_VAR ") pour charger n'importe quelle variable d'environnement dans des scripts gradle.



0
votes

Depuis https://docs.gradle.org/current/userguide/build_environment. html "... mais si une option est configurée à plusieurs endroits, la première l'emporte:

propriétés système, par exemple lorsque -Dgradle.user.home est défini sur la ligne de commande. "

Sous Unix, vous pouvez faire comme ceci: -Dgradle.user.home = $ GRADLE_USER_HOME


0 commentaires