2010-11-03 6 views
1

Salut J'utilise ant pour construire un projet scala android. Il semble que mon $ {scala_home} ne s'étende pas et que je doive coder en dur l'emplacement de la scala. Je ne veux évidemment pas faire ça.ant ne développe pas mon répertoire personnel scala

Toute idée de ce que je fais peut-être incorrectement. Il semble qu'aucune variable d'environnement ne soit développée dans le script. J'ai testé ceci avec < echo message = "$ {PATH}" /> et $ {PATH}

+0

Publiez votre script de génération et vérifiez si la variable est valide ou non. Si ce n'est pas valide, Ant ne le résoudra pas. –

Répondre

3

Les variables d'environnement ne sont pas automatiquement disponibles pour être référencées en tant que propriétés dans une construction Ant.

Deux options pour passer une variable d'environnement à Ant:

  • fournir la variable sur la ligne de commande Ant comme une définition de propriété
  • Définir un prefix à utiliser pour accéder à des variables d'environnement via les propriétés

Pour la première vous pouvez utiliser:

$ ant -Dscala_home=$SCALA_HOME 

Ce qui ferait définir la propriété scala_home pour la construction.

Pour la seconde vous pouvez utiliser:

<property environment="env" /> 

pour spécifier le préfixe, vous pouvez voir la valeur de cette façon:

<echo message="${env.SCALA_HOME}" /> 

Si vous avez en quelque sorte un build.xml complexe repose sur une propriété non-préfixée - ${scala_home} - alors vous pouvez copier la valeur de l'environnement en utilisant

<property environment="env" /> 
<property name="scala_home" value="${env.scala_home}" /> 

(Notez que vous devrez peut-être ajuster le cas dans les noms de variables d'environnement.)

+0

Merci - j'ai couru ces deux solutions et ils fonctionnent parfaitement - ira probablement avec Meredith

Questions connexes