2015-11-29 1 views
7

Je me demandais s'il existait un moyen d'obtenir la liste, la sortie, l'affichage, etc. de Bazel, toutes les commandes qui peuvent être exécutées à partir d'une ligne de commande qui sont exécutées pendant un construire après un nettoyage. Je me fiche de savoir si la sortie est à l'écran, dans un fichier, etc. Je vais le masser sous une forme utilisable si nécessaire.Comment obtenir les commandes exécutées par Bazel

J'ai capturé la sortie d'écran pendant une course de Bazel qui me donne une idée de ce qui est fait, cependant ne me donne pas une commande que je peux exécuter sur la ligne de commande. La commande devrait inclure toutes les options de commande et ne pas afficher les variables. Si ce n'est pas possible, puisque Bazel est open source, où dans le code sont/sont les lignes qui représentent les commandes à exécuter afin que je puisse modifier Bazel pour sortir les commandes exécutables.

Je suis conscient de la commande de requête dans Bazel, et je l'ai utilisé pour générer le diagramme de dépendance. Si cela pouvait être fait en tant que commande de requête, ce serait encore mieux.

TLDR;

Mon but est de construire TensorFlow en utilisant Bazel sur Windows. Oui, je connais tous les problèmes et les raisons de ne pas le faire et j'ai installé avec succès TensorFlow sur Windows via une machine virtuelle ou Docker. J'ai essayé de construire Bazel sur Windows en commençant par Cygwin, mais cela a commencé à devenir incontrôlable car je suis habitué à installer des paquets et Cygwin ne joue pas bien avec les paquets, alors j'ai commencé à essayer de construire Bazel à la main et cela devenait un bourbier. Donc, j'essaie maintenant de construire TensorFlow à la main sur Windows en dupliquant ce que Bazel ferait pour construire TensorFlow sous Linux.

Répondre

9

Vous avez raison, vous pouvez utiliser l'option -s (--subcommands):

bazel build -s //foo 

Voir https://docs.bazel.build/versions/master/user-manual.html#flag--subcommands.

Pour votre cas d'utilisation, vous souhaiterez probablement rediriger la sortie vers un fichier, puis remplacer globalement tous les chemins de bibliothèque/binaires par les équivalents Windows.

Vous voudrez peut-être suivre https://github.com/bazelbuild/bazel/issues/276 (support Windows), mais cela prendra probablement du temps.

+0

Le lien bazel.io est mort. –

+1

Correction, ça devrait être bon. – kristina