Ich habe den Build unseres Eclipse RCP-Produkts von PDE-build auf Maven Tycho umgestellt. Zusätzlich zur ausführbaren Hauptprogrammdatei (Branding) enthält das Produkt jetzt die Datei "eclipsec.exe". Wir möchten diesen Konsolen-basierten Launcher von unserem Produkt weglassen, da dies unsere Kunden verwirren könnte. Gibt es eine Möglichkeit, das mit Tycho zu tun?Maven Tycho: Wie eclipsec.exe in einem Produkt Build auszuschließen?
Antwort
bekam ich diese Antwort auf den tycho-users list:
In Ihrem Eclipse-Repository-Projekt, dass Sie eine Datei .product haben vorausgesetzt, Sie eine andere Datei im selben Verzeichnis .p2.inf
genannt platzieren für den Inhalt Ihrer p2.inf-Datei können Sie einen p2 Berührungspunkt legen Sie die Datei zu entfernen:
instructions.configure=org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);
Ich weiß nicht, wie man mit Tycho direkt löst, aber Sie können dies mit dem Maven-Antrun-Plugin erreichen. Es gibt einen kleinen Trick, um die eclipsec.exe an der richtigen Stelle zu löschen. Sie müssen den Löschschritt zwischen materialize und dem Archivziel des p2-director-plugins setzen. Ich habe den Löschschritt auf den Phasen-Vorintegrationstest gesetzt und den Archivschritt in den Phasenintegrationstest verschoben.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>delete-eclipsec.exe</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<delete file="${project.build.directory}/products/<<your.product.id>>/win32/win32/x86/eclipsec.exe"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<phase>integration-test</phase>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
Das Ergebnis: Keine eclipsec.exe in der product.zip.
Hoffe, dass hilft.
- 1. Build Eclipse Cross-Plattform mit Maven Tycho
- 2. Unresolvable Build-Erweiterung: Plugin org.eclipse.tycho: tycho-maven
- 3. Wie erhalten Sie Komponententests in Maven Tycho Build?
- 4. Tycho lädt p2.indexes auf jedem Build
- 5. Maven-Compiler-Plugin auszuschließen
- 6. Maven Tycho auf lokale p2 Eclipse-Repository zeigen
- 7. Benutzerdefinierte pom.xml Dateiname in Maven Multimodul für Tycho
- 8. Klassen aus einer Abhängigkeit in Maven auszuschließen
- 9. Tycho überspringt Tests
- 10. Wie URLArgs aus Build mit r.js auszuschließen
- 11. Maven Javadoc-Plugin, wie generierte Quelle auszuschließen
- 12. So führen Sie eine RCP Maven/Tycho-Anwendung aus
- 13. Maven + Tycho fügt alle Workplace-fähigen Plugins hinzu, um
- 14. Verwendung eines Verzeichnisses mit Third-Party-Bundles in einem Tycho-Build
- 15. tycho build, chmod aktion schlägt für linux/64 target fehl
- 16. Wie res Ordner res von Gravel Build-Aromen auszuschließen?
- 17. Maven build deployment
- 18. Maven Build Deprecation Fehler
- 19. Verwendung von Maven tycho-p2-plugin mit SWT
- 20. Maven Build Debug in Eclipse
- 21. Unbekannte Abhängigkeit in Maven Build
- 22. In einem Android Gradle-Build, wie Abhängigkeiten von einer enthaltenen JAR-Datei auszuschließen?
- 23. Wie scheitert ein Maven Build auf einem fehlenden Parameter?
- 24. RCP Build mit Maven
- 25. maven build - Versionsinformation
- 26. Maven build - Verzeichnisstruktur
- 27. Warnung beim Build-Maven
- 28. Liquibase führt Changeset mehrmals in einem einzigen Maven-Build aus
- 29. Wie von einem Materialise Stilelement auszuschließen
- 30. Wie schließe ich bestimmte Module von einem Maven-Build mit der Kommandozeile aus?
Gute Idee! Natürlich muss der Build jetzt "mvn integration-test" anstelle von "mvn package" aufrufen. Ich muss das trotzdem tun, da Plugin-Tests auch an die Integrationstest-Phase gebunden sind. Aber ich habe am Ende eine p2.inf-Datei verwendet, wie auf der Mailing-Liste vorgeschlagen. Schade, dass ich beide Antworten nicht akzeptieren kann! –