2017-06-07 4 views
2

Ich bemerkte auf der rules_closure repository (verwendet von Tensorflow beim Erstellen mit //tensorflow/tools/pip_package:build_pip_package), dass es Regeln gibt, um einige Abhängigkeiten wie nodejs und protoc über die filegroup_external Schnittstelle zu bauen.Warum lädt bazels rules_closure plattformspezifische Binärdateien statt Quellen herunter?

Warum ist der Grund dafür, dass es nicht wie bei anderen Abhängigkeiten neu erstellt wird?

Ich frage, weil dieser Ansatz Portabilität gefährdet, da es die Binärdateien für jede Plattform auflistet, die versucht, Tensorflow zu bauen (und es ist noch schlimmer, wenn es keine Binär-bereit für Ihre Plattform gibt).

+2

Ich weiß es nicht, aber [@jart] (https://github.com/jart) verpflichtet sich in diesem Repo oft so vielleicht weiß sie. –

Antwort

3

Diese Build-Konfiguration funktioniert deterministisch, ohne Systemabhängigkeiten, auf aktuellen Linux/Mac/Windows-Systemen mit Intel-CPUs und verursacht keine zusätzliche Build-Latenz. Unser Ziel war es, für das beste Build-Erlebnis zu optimieren, für das, was in unserer Support-Matrix ist. Ich stimme Ihnen zu, dass eine Fluchtluke für andere Systeme existieren sollte. Fühlen Sie sich frei, ein Problem mit dem rules_closure-Projekt und CC: @jart zu lösen, damit wir mehr darüber diskutieren können, wie wir das lösen können.

Verwandte Themen