2016-09-28 1 views
0

J'ai trois applications:Comment savoir où une dépendance imbriquée est stockée lorsqu'elle est tirée comme une dépendance à l'aide « barres d'armature get-deps »

  • LowLevelApp (pas Erlang)
  • MidLevelApp (en Erlang, tire LowLevelApp en tant que dépendance)
  • HighLevelApp (en erlang, tire MidLevelApp en tant que dépendance)

Lors de la construction MidLevelApp, i besoin d'utiliser un crochet de précompilation pour construire LowLevelApp). Donc, dans rebar.config, j'ajoute quelque chose comme:

{pre_hooks, [{compile, "make -C deps/LowLevelApp"}]}. 

Cela fonctionne lorsque je compile MidLevelApp. Cependant, lorsque je construis HighLevelApp, la structure du répertoire est différente. Maintenant, au lieu d'être stocké dans MidLevelApp/deps/LowLevelApp, "rebar get-deps" tire toutes les dépendances (directes et récursives), dans HighLevelApp/deps. Alors maintenant, le crochet précompilé dans le repo MidLevelApp échoue.

QUESTION: Est-ce que les barres d'armature fournissent un moyen de faire référence au répertoire deps, peu importe où il se trouve?

Je voudrais avoir mon crochet precompile énumérés ci-dessus quelque chose comme:

{pre_hooks, [{compile, "make -C ${DEPS_DIR}/LowLevelApp"}]}. 

Répondre