Dies ist der Befehl aeb, der beim kostenlosen Hosting-Anbieter OnWorks über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
Aegis Build – Bauen Sie eine Veränderung
ZUSAMMENFASSUNG
Ägide -Bauen [ ganz ohne irgendetwas tun oder drücken zu müssen.... ][ Dateinamen... ]
Ägide -Bauen -Aufführen [ ganz ohne irgendetwas tun oder drücken zu müssen.... ]
Ägide -Bauen -Hilfe
BESCHREIBUNG
Die Ägide -Bauen Der Befehl wird zum Erstellen eines Projekts verwendet. Die Projektkonfigurationsdatei ist
für den entsprechenden Build-Befehl konsultiert, und dieser Befehl wird ausgeführt (siehe bauen_
Befehl und Integrationsbuildbefehl Felder in aepconf(5) für weitere Informationen.) Ausgabe
des Befehls wird automatisch im aegis.log Datei im Stammverzeichnis der
Entwicklungsverzeichnisbaum. Der Build-Befehl wird mit dem aktuellen
Verzeichnis ist die Wurzel des Entwicklungsverzeichnisses, unabhängig davon, ob dort die Ägide
-Bauen Befehl wurde ausgeführt.
Wenn die Änderung in der Sein integriert Status, Verweise auf das Entwicklungsverzeichnis,
oben, sollte als Integrationsverzeichnis gelesen werden. Integrations-Build-Befehle sind
ausgeführt, wobei der Benutzer und die Gruppe auf den Eigentümer des Projekts eingestellt sind. Das heißt, es
Es ist nicht notwendig, dass sich ein Integrator als jemand anderes anmeldet, das Projektkonto für
beispielsweise um eine Integration durchzuführen.
Nein Bauen Erforderlich
Es ist möglich, Ihr Projekt so zu konfigurieren, dass kein Build erforderlich ist. Setzen Sie dazu
die folgende
Build_Command = "Ausgang 0";
in der Projektkonfigurationsdatei.
Prozess Seite Effekte
Dieser Befehl storniert alle Testregistrierungen, da der Aufbau des Projekts logisch
macht sie ungültig. Wenn die Projektkonfigurationsdatei gelöscht wird,
wird ebenfalls abgesagt.
Benachrichtigung
Die Aktionen des Befehls werden von gesteuert bauen_ Befehl und integration_build_‐
Befehl Bereiche des Projekts Config Datei. Sehen aepconf(5) für weitere Informationen.
Reichen Sie das Action Einstellung
Wenn dieser Befehl ausgeführt wird, werden zunächst die Änderungsdateien mit den Projektdateien verglichen. Wenn
Sollte es zu Inkonsistenzen kommen, werden die Dateiaktionen wie folgt angepasst:
create Wenn eine Datei erstellt wird, aber ein anderer Änderungssatz integriert ist, der ebenfalls
Wenn die Datei erstellt wird, wird die Dateiaktion im noch zu entwickelnden Änderungssatz ausgeführt
angepasst auf „ändern“.
modifizieren Wenn eine Datei geändert wird, aber ein anderer Änderungssatz integriert ist, der entfernt wird
In der Datei wird die Dateiaktion im Änderungssatz noch entwickelt
angepasst auf „erstellen“.
entfernen Wenn eine Datei entfernt wird, aber ein anderer Änderungssatz integriert ist, der entfernt wird
Wenn Sie die Datei löschen, wird die Datei aus dem Änderungssatz gelöscht, der noch entwickelt wird.
TEILWEISE BUILD
Wenn Dateien in der Befehlszeile benannt werden, werden diese Dateien an den Build-Befehl angehängt.
Dies wird als partieller Build bezeichnet. Partielle Builds sind nicht zulässig in der Sein integriert
Zustand, kann aber oft nützlich sein in der Sein entwickelt Zustand. Teilweise Builds sind nicht
im Änderungsstatus aufgezeichnet, da Builds von Aegis entkoppelt sind, ist es nicht möglich
damit Aegis weiß, ob ein Satz von Teilbuilds einem vollständigen Build entspricht.
Warnung: Für einen Teilbuild wird keine Statusänderungssperre verwendet, sondern nur eine Basislinien-Lesesperre.
Reichen Sie das Name Dolmetschen
Das Programm aegis versucht, die Projektdateinamen aus den Dateinamen zu ermitteln
auf der Kommandozeile angegeben. Alle Dateinamen werden innerhalb von aegis-Projekten als relativ gespeichert
zum Stamm des Basisverzeichnisbaums. Das Entwicklungsverzeichnis und die
Integrationsverzeichnis sind Schatten dieses Basisverzeichnisses, daher diese relativen Namen
auch hier bewerben. In der Befehlszeile benannte Dateien werden zuerst in absolute Pfade konvertiert
Falls benötigt. Sie werden dann mit dem Baseline-Pfad, dem Entwicklungsverzeichnis, verglichen
path und den Integrationsverzeichnispfad, um einen baselinerelativen Namen zu bestimmen. es ist
ein Fehler, wenn sich die benannte Datei außerhalb einer dieser Verzeichnisbäume befindet.
Die -BAse_RElativ Option kann verwendet werden, um relative Dateinamen zu interpretieren als
relativ zum Basislinienpfad; absolute Dateinamen werden trotzdem mit den verschiedenen verglichen
Pfade, um einen baseline-relativen Namen zu ermitteln.
Die relativer_dateiname_präferenz in der Benutzerkonfigurationsdatei kann zum Ändern verwendet werden
dieses Standardverhalten. Sehen euconf(5) für weitere Informationen.
SYMBOLISCH Verbindet
Viele Tools zur Abhängigkeitswartung und tatsächlich einige Compiler bieten kaum oder gar keine Unterstützung
für Include-Dateisuchpfade und damit für das Konzept des zweistufigen Verzeichnisses
Hierarchie, die von Aegis eingesetzt wird. (Mit der Verzweigungsfunktionalität von Aegis wird es mehrstufig
wird verwendet.) Um die Verwendung dieser Tools zu ermöglichen, bietet Aegis die Möglichkeit, einen Satz zu verwalten
symbolischer Verknüpfungen zwischen dem Entwicklungsverzeichnis einer Änderung und der Baseline einer
Projekt, so dass es für diese Tools so aussieht, als ob alle Dateien des Projekts im vorhanden sind
Entwicklungsverzeichnis.
Projekt Konfiguration
Die Entwicklungsverzeichnis_Stil Das Feld der Projektkonfigurationsdatei steuert die
Aussehen des Entwicklungsverzeichnisses. Sehen aepconf(5) für weitere Informationen.
Durch die Verwendung einer Einstellung wie
development_directory_style =
{
source_file_symlink = true;
while_build_only = true;
};
Der Benutzer sieht die symbolischen Links nie, da sie nur zum Nutzen hinzugefügt werden
das Abhängigkeitswartungstool während der Ausführung des aeb(1) Befehl.
Durch die Verwendung einer Einstellung wie
development_directory_style =
{
source_file_symlink = true;
};
(Der andere Wert ist standardmäßig auf „false“). Die symbolischen Links werden zu Beginn der Entwicklung erstellt
Zeit (vgl aedb(1) für weitere Informationen) und auch von jedem gepflegt aeb(1) Aufruf.
Beachten Sie, dass die symbolischen Links nur zu diesen Zeiten gepflegt werden, also Projektintegrationen
Während der Bearbeitung von Sourec-Dateien kann es vorkommen, dass die symbolischen Links in einem verbleiben
inkonsistenter Zustand bis zum nächsten Build.
Wenn Dateien von der Baseline in eine Änderung kopiert werden, verwenden Sie die aecp(1) Befehl, der
Ein symbolischer Link, der auf die Baseline verweist, wird (falls vorhanden) vor der Datei entfernt
kopiert.
Hinweis: Die Verwendung dieser Funktionalität in beiden Formen hat Auswirkungen darauf, wie die Regeldatei von
Das Abhängigkeitswartungstool ist geschrieben. Regeln müssen entfernen ihre Ziele vorher
Erstellen Sie sie (normalerweise mit einem rm -f Befehl), wenn Sie eines der Link-Unterfelder verwenden (beide
harte Links und symbolische Links). Dadurch soll vermieden werden, dass versucht wird, das Ergebnis auf das zu schreiben
symbolischer Link, der auf eine schreibgeschützte Datei in der Projektbasislinie verweist. Das ist
ähnlich der gleichen Anforderung für die Verwendung des link_integration_directory Bereich der
Projektkonfigurationsdatei.
Mitglied Konfiguration
Da ist ein symbolische_Link_Präferenz Feld in der Benutzerkonfigurationsdatei (siehe euconf(5)
für mehr Informationen). Dies steuert, ob aeb(1) überprüft die symbolischen Links
vor dem Build (Standard) oder ob davon ausgegangen wird, dass sie auf dem neuesten Stand sind. (Dieses Feld ist
nur relevant, wenn Entwicklungsverzeichnis__style.source_file_symlink ist wahr.)
Bei mittelgroßen bis großen Projekten kann die Überprüfung der symbolischen Links genauso lange dauern wie der Build
selbst. Vorausgesetzt, die symbolischen Links sind aktuell, kann dies eine große Zeitersparnis bedeuten
Projekte. In einer solchen Situation kann es ratsam sein, Ihre DMT-Wahl zu überprüfen.
Die aedb(1) Befehl die nicht Konsultieren Sie diese Präferenz. Daher ist in den meisten Situationen die
Symbolische Links sind aktuell, wenn der Build ausgeführt wird. Die einzige Aegis-Funktion
was dazu führen kann, dass die symbolischen Verknüpfungen veraltet sind, ist die Integration einer anderen
ändern, da sich dadurch das Vorhandensein oder Fehlen von Dateien in der Baseline ändern kann. In diesem
Situation, der Standard aeb(1) Die Aktion besteht darin, die Benutzerpräferenz und die Überprüfung zu ignorieren
symbolische Links.
Es gibt zwei Befehlszeilenoptionen, die Änderungen vornehmen aeb(1) Verhalten weiter: das -Verifizieren-
Symbolische Links Option besagt, dass die symbolischen Links überprüft werden sollen; und das -Assume-Symbolic-Links
Die Option besagt, dass davon ausgegangen werden soll, dass die symbolischen Links aktuell sind. In jedem Fall ist die Option über-
verwendet die Standardeinstellung und die Benutzereinstellung.
Es ist möglich, ein ähnliches Verhalten wie Tom Lord'a Arch zu erreichen, indem man eine Einstellung wie die folgende verwendet:
development_directory_style =
{
source_file_link = true;
source_file_symlink = true;
};
Es ist möglich, ein CVS-ähnliches Verhalten zu erzielen, indem eine Einstellung wie die folgende verwendet wird:
development_directory_style =
{
source_file_copy = true;
};
Es gibt viele weitere mögliche Konfigurationen des Entwicklungsverzeichnis_Stil, In der Regel
mit hilfreichen Build-Nebenwirkungen. Sehen aepconf(1) und der Abhängigkeit Wartung Werkzeug
Weitere Informationen finden Sie im Kapitel des Benutzerhandbuchs.
Die Befehlszeilenoptionen und -einstellungen für symbolische Links gelten gleichermaßen für Hardlinks und
Dateikopien (die Namen haben historischen Ursprung).
BASISLINIE LOCK
Die Baseline-Sperre wird verwendet, um sicherzustellen, dass die Baseline in einem konsistenten Zustand bleibt
die Dauer von Befehlen, die den Inhalt von Dateien in der Baseline lesen müssen.
Die Befehle, die eine konsistente Grundlinie erfordern (dazu gehören die aeb(1)
aecp(1) und aed(1) Befehle) nehmen eine Grundlinie besuch sperren. Dies ist also eine nicht-exklusive Sperre
die gleichzeitige Entwicklung von Veränderungen wird nicht behindert.
Der Befehl, der die Grundlinie ändert, aeipass(1) nimmt eine Grundlinie schreiben sperren. Das
ist eine exklusive Sperre, die erzwingt aeipass(1) Blockieren, bis keine aktiven Baseline-Lesevorgänge mehr vorhanden sind
Schlösser.
Es ist möglich, dass einer der oben genannten Entwicklungsbefehle blockiert, bis er ausgeführt wird
Ägide -Integrate_PASS vervollständigt. Dies ist in der Regel während der Projektlaufzeit von kurzer Dauer
Der Verlauf wird aktualisiert. Die Verzögerung ist wichtig, damit diese Befehle konsistent empfangen werden
Blick auf die Grundlinie. Kein anderer Integrationsbefehl wird die obige Entwicklung verursachen
Befehle zum Blockieren.
Wenn die Branch-Funktionalität von Aegis verwendet wird, wird eine Lesesperre (nicht exklusiv) für die verwendet
Zweig-Baseline und auch jede der „übergeordneten“ Baselines. Allerdings eine Grundlinie schreiben
(exklusive) Sperre wird nur auf der Zweigbasislinie angewendet; die „übergeordneten“ Grundlinien sind nur
lesbar (nicht exklusiv) gesperrt.
METRIK
Aegis ist in der Lage, Metriken als Teil der Dateiattribute einer Änderung aufzuzeichnen. Das
ermöglicht die Aufzeichnung verschiedener Eigenschaften von Dateien für eine spätere Trendanalyse oder andere Zwecke
verwendet.
Die spezifischen Metriken werden nicht von Aegis vorgegeben. Es wird erwartet, dass die Integration
Build erstellt eine Metrikdatei für jede der geänderten Quelldateien. Diese Kennzahlen
Dateien müssen in dem von angegebenen Format vorliegen Aemetrie(5).
Der Name der Metrikdatei lautet standardmäßig „Dateinamen,S“, wie auch immer es variiert werden kann
Einstellen der metrics_filename_pattern Bereich des Projekts Config Datei. Sehen aepconf(5)
.
Wenn eine solche Metrikdatei vorhanden ist, wird sie für jede Quelldatei in einer Änderung gelesen und
Ich erinnere mich an die Integrationszeit. Wenn es nicht existiert, geht Aegis davon aus, dass es keine gibt
relevante Metriken für diese Datei und fährt im Stillen fort; es ist kein Fehler.
OPTIONAL
Folgende Optionen werden verstanden:
Name=Wert
Bei Kommandozeilenargumenten dieser Form handelt es sich um Variablenzuweisungen für
das Build-Tool. Sie werden unverändert weitergegeben. Sie implizieren einen partiellen Build.
-BAse_RElativ
Diese Option kann verwendet werden, um relative Dateinamen als relativ zu zu betrachten
die Basis des Quellbaums. Sehen euconf(5) für den entsprechenden Benutzer
entsprechend Ihrer Präferenzen.
-CUrrent_RElative
Diese Option kann verwendet werden, um relative Dateinamen als relativ zu zu betrachten
das aktuelle Verzeichnis. Dies ist normalerweise die Standardeinstellung. Sehen euconf(5) für die
entsprechende Benutzerpräferenz.
-Veränderung Anzahl
Diese Option kann verwendet werden, um eine bestimmte Änderung innerhalb eines Projekts anzugeben. Sehen
Ägide(1) für eine vollständige Beschreibung dieser Option.
-Hilfe
Diese Option kann verwendet werden, um weitere Informationen zur Verwendung des Ägide
-Aufführen
Diese Option kann verwendet werden, um eine Liste geeigneter Themen für diesen Befehl zu erhalten.
Die Liste ist möglicherweise allgemeiner als erwartet.
-Minimum
Mit dieser Option können Sie eine Nur-Quelle-Anfrage stellen. Entwicklungsverzeichnis_Stil.
Dies ist nützlich, wenn Sie etwas simulieren möchten wie aeib -Minimum in England,
Entwicklungsverzeichnis. Diese Option ist nur sinnvoll, wenn Entwicklungsverzeichnis_‐
Stil wird verwendet. Wenn die Änderung in der Sein integriert Staat, und die
Entwickler angegeben -Minimum bei der Ausgabe der Ägide -Integrate_Begin Befehl,
dann ist diese Option standardmäßig eingestellt.
-Not_Logging
Diese Option kann verwendet werden, um die automatische Protokollierung von Ausgaben und Fehlern zu deaktivieren
eine Datei. Dies ist oft nützlich, wenn mehrere aegis-Befehle in einer Shell zusammengefasst sind
Skripte.
-Projekt Name
Diese Option kann verwendet werden, um das gewünschte Projekt auszuwählen. Wenn nein -Projekt
Option angegeben ist, die AEGIS_PROJEKT Umgebungsvariable wird konsultiert. Wenn
die nicht existiert, die des Benutzers $HOME/.aegisrc Datei wird auf einen Standard untersucht
Projektfeld (siehe euconf(5) für weitere Informationen). Wenn das nicht existiert,
Wenn der Benutzer nur an Änderungen innerhalb eines einzelnen Projekts arbeitet, wird das Projekt
Der Name ist standardmäßig auf dieses Projekt eingestellt. Andernfalls handelt es sich um einen Fehler.
-Knapp
Diese Option kann verwendet werden, um zu veranlassen, dass Listings das absolute Minimum an
Information. Es ist normalerweise für Shell-Skripte nützlich.
-Ausführlich
Diese Option kann verwendet werden, um aegis zu veranlassen, mehr Ausgabe zu erzeugen. Standardmäßig aegis
erzeugt nur bei Fehlern eine Ausgabe. Bei Verwendung mit dem -Aufführen Option diese Option
bewirkt, dass Spaltenüberschriften hinzugefügt werden.
-Verify_Symbolic_Links
Diese Option kann verwendet werden, um zu verlangen, dass die symbolischen Links oder Hardlinks oder
Dateikopien, im Arbeitsbereich aktualisiert werden, um den aktuellen Stand der
Grundlinie. Dies wird von der Entwicklungsverzeichnis_Stil Bereich der
Projektkonfigurationsdatei. Nur Dateien, die nicht an der Änderung beteiligt sind
Aktualisiert. Siehe auch das Feld „symbolic_links_preference“ von euconf(5). Dies
Option ist die Standardeinstellung, sofern dies für Ihre Konfiguration sinnvoll ist. Der Name ist ein
Historischer Unfall, Hardlinks und Dateikopien sind enthalten.
-Assume_Symbolic_Links
Diese Option kann verwendet werden, um anzufordern, dass keine Aktualisierung der Baseline-Spiegeldateien durchgeführt wird
Platz. Diese Option ist nützlich, wenn Sie definitiv kennt die Aktualität der Dateien -
ness ist im Moment nicht wichtig; falsche Verwendung dieser Option kann haben
unerwartete Build-Nebenwirkungen. Siehe auch das Feld „symbolic_links_preference“
of euconf(5). Diese Option ist die Standardeinstellung, wenn sie für Sie nicht sinnvoll ist
Aufbau. Der Name ist ein historischer Unfall, Hardlinks und Dateikopien
sind inklusive.
-Warten Diese Option kann verwendet werden, um zu verlangen, dass Aegis-Befehle auf Zugriffssperren warten, wenn
sie sind nicht sofort erhältlich. Standardmäßig die des Benutzers lock_wait_preference
wenn nicht angegeben, siehe euconf(5) für weitere Informationen.
-Nein_Warten
Diese Option kann verwendet werden, um zu verlangen, dass Aegis-Befehle einen schwerwiegenden Fehler ausgeben, wenn Zugriff
Schlösser sind nicht sofort erhältlich. Standardmäßig die des Benutzers
lock_wait_preference wenn nicht angegeben, siehe euconf(5) für weitere Informationen.
Web Link Ägide(1) für Optionen, die allen aegis-Befehlen gemeinsam sind.
Alle Optionen können abgekürzt werden; die Abkürzung wird als Großbuchstaben dokumentiert,
alle Kleinbuchstaben und Unterstriche (_) sind optional. Sie müssen aufeinanderfolgend verwenden
Folgen von optionalen Buchstaben.
Bei allen Optionen wird die Groß-/Kleinschreibung nicht beachtet, Sie können sie in Groß- oder Kleinschreibung oder a . eingeben
Kombination von beiden, Groß-/Kleinschreibung ist nicht wichtig.
Zum Beispiel: Die Argumente "-project, "-PROJ" und "-p" werden alle so interpretiert, dass sie die
-Projekt Möglichkeit. Das Argument "-prj" wird nicht verstanden, da aufeinanderfolgend
optionale Zeichen wurden nicht angegeben.
Optionen und andere Befehlszeilenargumente können auf der Befehlszeile beliebig gemischt werden,
nach den Funktionswählern.
Die langen Optionsnamen von GNU werden verstanden. Da alle Optionsnamen für Ägide sind lang,
Dies bedeutet, dass das zusätzliche führende '-' ignoriert wird. Die "--ganz ohne irgendetwas tun oder drücken zu müssen.=Wert"Konvention ist auch
verstanden.
EMPFOHLEN ALIAS
Der empfohlene Alias für diesen Befehl ist
csh% alias aeb 'aegis -b \!* -v'
sh$ aeb(){aegis -b "$@" -v}
FEHLER
Es ist ein Fehler, wenn die Änderung nicht dem aktuellen Benutzer zugewiesen ist.
Es handelt sich um einen Fehler, wenn sich die Änderung nicht in einem der folgenden befindet Sein entwickelt or Sein integriert
Zustände.
Es ist ein Fehler, wenn ein partieller Build angefordert wird und die Änderung in der Sein integriert
Zustand.
EXIT STATUS
Die Ägide Der Befehl wird bei jedem Fehler mit dem Status 1 beendet. Die Ägide Befehl wird nur
mit dem Status 0 beenden, wenn keine Fehler vorliegen.
VARIABLEN
Weitere Informationen finden Sie auch in den Ägide(1) für eine Liste von Umgebungsvariablen, die diesen Befehl beeinflussen können. Sehen
aepconf(5) für die Projektkonfigurationsdatei projektspezifisch Feld für die Einstellung
Umgebungsvariablen für alle von Aegis ausgeführten Befehle.
Nutzen Sie aeb online mit den Diensten von onworks.net