Comment faire pour configurer le Lierre répertoire de cache par utilisateur ou à l'échelle du système?
Je suis en utilisant SBT comme mon outil de construction pour la construction d'un projet Scala.
Mon problème est que je ne peux pas configurer SBT pour télécharger les dépendances à mon répertoire principal de l'utilisateur. Donc je suis à la recherche d'un utilisateur ou encore mieux, un système à l'échelle de réglage de dire SBT pour mettre le Lierre répertoire de cache quelque part d'autre.
Avec maven, il est la par utilisateur settings.xml qui peut être utilisé pour configurer le référentiel local.
J'ai lu la question Comment remplacer l'emplacement de Lierre la Cache? et c'est des réponses, mais il semble qu'il ne décrit comment configurer les paramètres sur une base par projet.
Si il n'y a pas d'alternative, je pencherais pour un par projet, mais je n'ai pas eu la réponse de la question du travail. Un peu plus de détails serait le bienvenu, par exemple, où mettre l'ivysettings.xml. Je l'ai mis dans la racine du projet de répertoire et ça ne fonctionne pas.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement ajouter une variable d'environnement pour votre sbt lancez le shell script:
Voir Gestion De La Bibliothèque dans la documentation officielle.
La
sbt.ivy.home
propriété est à seulement la moitié de la solution. Il contrôle l'endroit où le sbt lanceur de téléchargements sbt lui-même (et d'autres dépendances, comme la scala de compilateur et de la bibliothèque, etc.) Comme indiqué par Joachim Hofer, il n'a pas d'effet sur l'endroit où les dépendances déclarées par votre projet téléchargés.De changer que emplacement, vous devez définir la
ivy.home
de la propriété. Donc, pour augmenter de Joachim première solution, vous définissez à la fois les propriétés du système:Avec ces propriétés, le programme de lancement de télécharger à la fois de votre projet et sbt aux dépendances de la
/tmp/.ivy2/
répertoire. Bien sûr, vous pouvez les mettre dans des répertoires distincts ainsi.Vous devez utiliser sbt-extras si vous ne le faites pas déjà.
Alors, c'est simplement un indicateur de vous passer:
Emplacement de lierre fichiers
J'ai l'habitude de mettre la ivy.xml et ivysettings.xml fichiers côtés par build fichier comme suit:
Le lierre tâches résoudre et récupérer doit trouver les deux fichiers.
Par exemple:
Étrange, qu'il ne fonctionne pas pour vous.
Spécifique à l'utilisateur, les paramètres de
Vous pouvez émuler le maven fichier de paramètres dans un couple des manières
1) directive include dans le cadre du projet ivysettings.xml
2) Définir l'emplacement du fichier de build
3) je n'ai jamais essayé mais je pense que vous pouvez remplacer la valeur par défaut emplacement en utilisant une propriété ANT
Vous pouvez récupérer votre home directory à l'aide de
Path.userHome.absolutePath
, comme indiqué ci-dessous:Je suppose que vous pouvez également récupérer des variables d'environnement à l'aide de
System.getenv
et de les enchaîner dans la même manière, comme indiqué ci-dessous:Pour l'édition de l'emplacement de la cache pendant la SBT de démarrage lui-même, voir Sbt Lanceur De Configuration dans la documentation officielle.
Fondamentalement, pour le faire travailler à l'échelle du système, vous aurez à:
sbt.boot.properties
quelque part où il est accessible à l'échelle du système (la valeur par défaut est répertorié sur le lien ci-dessus).sbt.boot.properties
pointent vers votre fichier de configuration.cache-directory
entrée (dans le[ivy]
section) à l'emplacement de votre lierre cache.Cette configuration ne semble pas mener à la normale SBT utilisation, bien que, malheureusement.
Référence: homme sbt