2012-11-21 19 views
6

uygulamasını Maven ve Tycho ile derlemeye çalışıyorum. Sadece bir platform için inşa edersem iyi çalışır, ancak daha fazla inşa etmeye çalışırsam, yapı çalışmayı durdurur.Build Maven Tycho ile çapraz tutturma çapraz platform

Sorun, oluşturmak istediğim ürün dosyamda platforma özel eklentilerim olmasıdır. org.eclipse.swt için fragman eklentileri olan org.eclipse.swt.win32.win32.x86 gibi bağımlılıklar.
Ürünüme platforma özel parçalar eklemediğimde, org.eclipse.swt.win32.win32.x86 gibi platform kitaplıkları olmadığından uygulama başlatılmayacaktı. Tycho deposu olarak, kendi sunucumuzda barındırılan eclipse indigo güncelleme sitesinin bir klonunu kullanıyoruz. Delta paketini içerir. Ve tüm platformlar için tüm parçaları eklediğimde, yapı çöktü ve maven bana, platform filtrelerinin Linux yapısına uymadığını söyledi.

Bunu nasıl düzelteceğini bilen var mı?
Bu platform bağımlı şeyleri ürünüme eklemeliyim mi? Belirli bağımlılıkları ürünümden uzak tutmayı tercih ederim, doğru muyum?

+0

Bu soru bir mesaj içeriyor. Tanımlanan problem sadece Tycho 0.15.0 ve daha önceki sürümlerde ortaya çıkar. – oberlies

cevap

7

Tak ve kullan tabanlı bir ürününüz var gibi görünüyor. Bu durumda .product dosyanızı elle düzenlemeniz ve bu eklentiler için platform filtreleri eklemeniz gerekir. Ne yazık ki, tutulmada yerleşik ürün düzenleyicisi bu değerleri ortaya çıkarmaz. Her bir eklenti için, örneğin, http://wiki.eclipse.org/Tycho/FAQ#How_to_build_plugin-based_products_with_platform-specific_fragments.3F

. org.eclipse.swt.win32.win32.x86 gibi bir şey eklemeniz gerekecek;

<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true" ws="win32" os="win32" arch="x86"/> 

Ürün düzenleyiciyi kullanırsanız, bu değerleri kaldıracaktır.

Özellik tabanlı bir ürünü kullanmak daha iyidir. Özellik düzenleyici, bu alanların düzenlenmesine izin verir.

+0

+1 Tam olarak ne aradığım – msteiger

+0

Artık Tycho 0.16.0 sürümünde gerekli görünmüyor (belki de 0.15.0 zaten) – msteiger

+1

@msteiger: Bu doğru. [Tycho 0.16.0'dan beri] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=342890), artık ürün dosyasındaki ws/os/arch niteliklerini manuel olarak ayarlamanıza gerek yok - Tycho derleme, bunları sizin için otomatik olarak ayarlar. – oberlies

1

ben blogda bulunan daha kolay bir çözüm var:

<build> 
<plugins> 
    <plugin> 
    <groupId>org.eclipse.tycho</groupId> 
    <artifactId>tycho-maven-plugin</artifactId> 
    <version>${tycho-version}</version> 
    <extensions>true</extensions> 
    </plugin> 

    <plugin> 
    <groupId>org.eclipse.tycho</groupId> 
    <artifactId>target-platform-configuration</artifactId> 
    <version>${tycho-version}</version> 
    <configuration> 
     <resolver>p2</resolver> 
     <environments> 
      <environment> 
      <os>linux</os> 
      <ws>gtk</ws> 
      <arch>x86_64</arch> 
      </environment> 
      <environment> 
      <os>win32</os> 
      <ws>win32</ws> 
      <arch>x86_64</arch> 
      </environment> 
     </environments> 
    </configuration> 
    </plugin> 
</plugins> 
</build> 
: http://blog.sdruskat.net/building-a-cross-platform-feature-based-eclipse-rcp-product-with-tycho-the-umpteenth/

ebeveyn/usta pom.xml olarak

, p2 gelen tüm eklentileri kullanmak için aşağıdakileri belirtin

Yazım denetimi sürümü: 0.21.0

İlgili konular