Ho cambiato la build del nostro prodotto Eclipse RCP da PDE-build a Maven Tycho. Oltre al principale programma di avvio (branded), il prodotto ora include il file "eclipsec.exe". Vorremmo omettere questo launcher basato su console dal nostro prodotto in quanto potrebbe confondere i nostri clienti. C'è un modo per farlo con Tycho?Maven Tycho: Come escludere eclipsec.exe in una build di prodotto?
risposta
ho avuto questa risposta sulla tycho-users list:
Nel progetto eclipse-repository, a patto che abbiate un file .product, è possibile inserire un altro file nella stessa directory chiamata .p2.inf
per i contenuti del file p2.inf si può mettere un touchpoint p2 per rimuovere il file:
instructions.configure=org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);
Non so come risolvere direttamente con tycho, ma è possibile farlo con il plug-in maven-antrun. C'è un piccolo trucco per ottenere la cancellazione di eclipsec.exe nella posizione attuale. Devi mettere il passaggio di cancellazione tra materialize e l'obiettivo di archivio del plugin p2-director. Ho inserito la fase di eliminazione sul test di preintegrazione di fase e ho spostato la fase di archiviazione sul test di integrazione di fase.
<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>
Il risultato: nessun file eclipsec.exe nel file product.zip.
Spero che questo aiuti.
- 1. Build Eclipse cross-platform con Maven Tycho
- 2. Tycho scarica p2.indexes su ogni build
- 3. Come ottenere i test unitari per l'esecuzione in Maven Tycho?
- 4. Come avvolgere una build Ant con Maven?
- 5. Come posso utilizzare una directory locale come piattaforma di destinazione per un build Tycho?
- 6. Come escludere determinati moduli da una build Maven utilizzando la riga di comando
- 7. Come escludere una dipendenza dal progetto del genitore in Maven?
- 8. Come escludere classi da una webapp in pacchetto con Maven
- 9. Maven distribuzione di build
- 10. Come escludere urlArgs da build utilizzando r.js
- 11. Utilizzo di Maven tycho-p2-plugin con SWT
- 12. Come escludere i framework nei build di simulatore in Xcode
- 13. Maven build [WARNING] abbiamo una classe duplicata
- 14. Salta un sottomodulo durante una build Maven
- 15. Come escludere il progetto dalla build in MSBUILD?
- 16. Come escludere la dipendenza da un plugin Maven?
- 17. maven build error
- 18. Maven - Build with dependance
- 19. Come escludere un progetto dal build automatico in Eclipse?
- 20. errore Maven BUILD FAILURE
- 21. Come escludere tutti i test di JUnit4 con una determinata categoria usando Maven surefire?
- 22. In Maven, come posso escludere tutte le dipendenze transitive da una particolare dipendenza?
- 23. Tycho - "Vincolo insoddisfatto" su un pacchetto di importazione
- 24. Come posso attivare una build Jenkins di un singolo modulo in una build Maven multi-modulo da Subversion?
- 25. Ottimizzazione del compilatore Java durante una build di Maven?
- 26. Errore di build di Maven site-deploy
- 27. Maven 3 parallel build profile
- 28. Ant to Maven - più target di build
- 29. ClassNotFoundException in apk build con Maven
- 30. Eclipse Tycho: test dei plug-in senza utilizzare singoli bundle di test
Buona idea! Ovviamente, la build ora deve chiamare "mvn integration-test" invece di "mvn package". Anche se ho bisogno di farlo comunque, poiché i plug-test sono legati anche alla fase di test di integrazione. Ma ho finito per usare un file p2.inf come suggerito sulla mailing list. Peccato, non posso accettare entrambe le risposte! –