Przełączyłem budowę naszego produktu Eclipse RCP z PDE-build na Maven Tycho. Oprócz głównego (markowego) pliku wykonywalnego programu uruchamiającego, produkt zawiera teraz plik "eclipsec.exe". Chcielibyśmy pominąć ten program uruchamiający oparty na konsoli od naszego produktu, ponieważ może to wprowadzać w błąd naszych klientów. Czy istnieje sposób, aby to zrobić z Tycho?Maven Tycho: Jak wykluczyć plik eclipsec.exe z wersji produktu?
Odpowiedz
dostałem taką odpowiedź na tycho-users list:
w projekcie Eclipse repozytorium, przy założeniu, że masz plik .product można umieścić inny plik w tym samym katalogu o nazwie .p2.inf
dla zawartości pliku p2.inf można umieścić punkt styczności p2, aby usunąć plik:
instructions.configure=org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);
Nie wiem, jak rozwiązać teno bezpośrednio, ale można to osiągnąć za pomocą wtyczki maven-antrun. Jest trochę sztuczki, aby uzyskać usunięcie pliku eclipsec.exe na aktualnej pozycji. Musisz wstawić krok usuwania pomiędzy zmaterializowaniem a celem archiwizacji wtyczki p2-director. Wstawiłem krok usuwania w fazie testowej przed integracją i przesunąłem krok archiwizacji do testu fazy integracji.
<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>
Wynik: Brak pliku eclipsec.exe w pliku product.zip.
Nadzieję, że pomaga.
- 1. Jak uzyskać testy jednostkowe do uruchomienia w wersji Maven Tycho?
- 2. Wykorzystanie Maven Tycho-P2-plugin z SWT
- 3. „Ikona (y) nie otrzymuje” Błąd podczas tworzenia produktu z Tycho
- 4. Jak wykluczyć określony plik z RewriteRule
- 5. Jak wykluczyć zależność w wtyczce Maven?
- 6. Jak wykluczyć zasobów z mojego maven kompilacji, packagingExcludes nie działa
- 7. Jak wykluczyć biblioteki reklamowe z płatnej wersji aplikacji?
- 8. Sprawdzanie wersji Maven
- 9. Android wykluczyć plik z kompilacji w eclipse
- 10. Jak wykluczyć pojedynczy plik z wzorca `plik (GLOB ...)` cmake?
- 11. Jak wykluczyć starsze wersje zależności użytkownika i użyć nowej wersji?
- 12. Jak wykluczyć plik z archiwum biblioteki .AAR Android o gradle
- 13. Textmate, wykluczyć plik (typy?) Z wyszukiwania projektu
- 14. Maven: Jak uniknąć wersji dołączonej do pliku wojennego w Maven?
- 15. ASP.NET MVC wykluczyć plik CSS z wiązki
- 16. Zależność maven bez wersji
- 17. Skopiuj plik jar z maven
- 18. Jak wykluczyć plik tylko z folderu głównego w Git
- 19. Jak uzyskać wersję produktu z widoku Razor
- 20. Tycho - "Niezaspokojone ograniczenie" na pakiecie importu
- 21. Plugin Sonar Maven: Jak wykluczyć katalogi źródeł testowych?
- 22. maven build - informacje o wersji
- 23. Jak wykluczyć niektóre foldery podczas tworzenia pliku zip przez Maven
- 24. Wtyczka "wersje" Mavena - jak wykluczyć wersje alfa/beta z odpowiedzi?
- 25. W konfiguracji inno, jak ustawić plik unins000.exe z nazwą produktu, wersją produktu i własnościami praw autorskich
- 26. pokrycie kodu dla testów wtyczek junit z maven
- 27. Usuń plik z Kontroli wersji w IntelliJ IDEA
- 28. Jak przesłać FTP plik z wersji Android Gradle?
- 29. Jak wykluczyć element z FirebaseRecyclerAdapter
- 30. Jak wykluczyć z pliku zipgroupfileset?
dobry pomysł! Oczywiście, teraz kompilacja musi wywoływać "mvn integration-test" zamiast "mvn package". Chociaż i tak muszę to zrobić, ponieważ testy wtyczek są również powiązane z fazą testu integracji. Ale skończyło się na używaniu pliku p2.inf zgodnie z sugestią na liście mailingowej. Szkoda, nie mogę zaakceptować obu odpowiedzi! –