2017-06-29 1 views
3

Comment obtenir le chemin absolu dans lequel le sandbox s'exécutera à partir de skylark?Chemin de sortie de l'action Bazel

J'ai un certain nombre de règles où j'ai besoin d'ajouter un argument à la commande d'action dans skylark. L'argument est toujours l'équivalent de "-fdebug-prefix-map = $ (/ bin/readlink -f.) =.". J'ai besoin du chemin pour que je puisse apprendre à mes outils à enlever le chemin du bac à sable et laisser un chemin relatif. Quel est le meilleur moyen d'accéder à ce chemin?

+0

Y a-t-il un cas où readlink ne donne pas le bon résultat, ou voulez-vous simplement connaître la manière de le faire? – kristina

+0

Je voudrais connaître la manière de bazel-y-est de le faire. Je passe actuellement tout à bash -c afin que readlink se développe correctement, mais cela se traduit par un skylark plutôt moche. –

Répondre

0

Pour contourner ce problème, vous pouvez utiliser le lien symbolique blaze-bin.

Toutefois, en général, vous ne pouvez pas (en particulier si vous utilisez --define).

Vous devez placer votre script dans une règle de type blaze et utiliser blaze run.