Frage

Mit dem P2 Ameisenaufgaben, Es ist ziemlich einfach, die Plugins für eine Funktion zu spiegeln.

Aber wie spiegele ich alles, was notwendig ist, um eine Funktion zu installieren?

War es hilfreich?

Lösung

Konnte nicht bekommen p2.mirror Arbeiten; Die Aufgabe spiegelt entweder zu viel wider (wie alle Versionen einer Funktion, auch wenn Sie nur an der letzten oder einem bestimmten interessiert sind) und/oder zu wenig (wie nur die Funktion, aber keine der Abhängigkeiten).

Meine Lösung war so:

  1. Eclipse zu eclipse-template
  2. Erstellen Sie eine Kopie als eclipse-install
  3. Installieren Sie die Funktion in eclipse-install
  4. Löschen Sie jede Datei in der Kopie, die in der Version von Schritt 1 vorhanden ist (cd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}").

Dadurch bleibt die Funktions- und Plugin -Dateien. Verwenden org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher Um das in ein P2 -Repo zu verwandeln (Siehe die Dokumente für Details).

Update 2011-11-01 Es gibt eine andere Lösung, wenn Sie dies nicht aus der Befehlszeile ausführen müssen.

  1. Erstellen Sie eine "Zieldefinition" in einem Eclipse -Projekt (erstellen Sie eine neue oder verwenden Sie eine vorhandene, spielt keine Rolle).
  2. Fügen Sie dieser *.Target -Datei Update -Sites hinzu
  3. Wählen Sie die gewünschten Funktionen aus
  4. Klicken Sie in der oberen rechten Ecke des Target Definition -Editors auf die winzige Schaltfläche "Exportieren" (neben "Setzen Sie als Zielplattform").

Dadurch werden alle ausgewählten Funktionen mit der genauen Version exportiert, die Sie sowie alle Abhängigkeiten in einem Ordner Ihrer Wahl ausgewählt haben.

Der Zieleditor ist etwas ungeschickt und langsam, aber er funktioniert.

Behalten Sie die Datei unter der Versionskontrolle Weil der Zieleditor manchmal durcheinander ist.

Andere Tipps

Ich verwende den folgenden Ant -Code zum Spiegel 2 -Funktionen in einem einzigen Repository:

<!-- Creates single p2 repo from 2 repos -->
<p2.mirror>
    <repository location="file:///${DESTINATION}/repo-name" append="false"/>
    <source>
       <repository location="file:///${feature1-repo}/feature1"/>
       <repository location="file:///${feature2-repo}/feature2"/>
    </source>
</p2.mirror>

Darüber hinaus können Sie die verwenden <iu> und die ID der Funktion, um die zu spiegelende Funktion anzugeben. Die Features -ID muss folgendermaßen angegeben werden:

your.feature.id.group.group.group 

Wenn Sie bestimmte Plattenformkonfigurationen für Ihre Funktion haben, wird die IU

your.feature.id.win32.win32.x86 (OS, Widget system, Architecture)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top