Soll die Abhängigkeit in das Repository aufgenommen werden?
Ich denke, Abhängigkeiten sollten immer in das Repository aufgenommen werden, solange das Einbeziehen von Abhängigkeiten nicht gegen Nutzungsbedingungen verstößt. Wenige Dinge sind ärgerlicher, als die richtigen Versionen der richtigen Abhängigkeiten manuell zu finden, bevor Sie einen Build erstellen können. Sicher, dies ist einfach, wenn Sie über automatisierte Tools verfügen, mit denen Sie die richtige Abhängigkeit finden und herunterladen können. Was ist jedoch, wenn Sie zur Zeit nicht mit dem Web verbunden sind oder der Server ausfällt oder das Projekt der Abhängigkeit wurde komplett eingestellt und offline geschaltet? Beziehen Sie, wenn möglich, immer die Abhängigkeiten ein.
Soll die Abhängigkeit aus demselben Erstellungsskript wie der Rest des Projekts oder aus einem separaten Erstellungsskript erstellt werden?
Verwenden Sie vorkompilierte Versionen, es sei denn, es gibt einen guten Grund, aus dem Quellcode zu kompilieren.
Und warum nicht Optionen im Build-Skript bereitstellen? Ein einfacher Schalter, um auszuwählen, ob die Abhängigkeiten auch kompiliert werden sollen oder nicht. Wenn der Benutzer auch die Abhängigkeiten kompilieren möchte, rufen Sie einfach seine eigenen Erstellungsskripte aus dem Erstellungsskript Ihres Produkts auf. Auf diese Weise kann der Benutzer die Erstellungsskripte der Abhängigkeiten manuell aufrufen oder einen vollständigen Build von allem erstellen. Aber ich würde die Abhängigkeiten nur als Binärdateien liefern, wenn es keinen guten Grund gibt, sie aus den Quellen zu kompilieren. Ich denke, in der Open Source-Welt erfordern einige Lizenzen, dass Sie die Quellen zusammen mit Ihrem Produkt vertreiben, aber das bedeutet nicht, dass Sie sie nicht vorkompilieren können.
Kurz gesagt: Stellen Sie, wenn möglich, ein vollständiges, eigenständiges Arbeitspaket bereit. Dies bietet Ihren Benutzern den größtmöglichen Komfort.