Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Building 1 Environment instead of all

Hi Martin,

Thanks, but I’m aware of profiles - and they are certainly part of the solution - but not the entirety.

The key to my problem is that within our “application.product” file we list dependencies such as this:

 <plugins>
     ...
      <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
     ...
      <plugin id="org.eclipse.core.net.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.net.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.resources"/>
      <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
     ...
      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
     ...
      <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/>
      <plugin id="org.eclipse.equinox.security.win32.x86_64" fragment="true"/>
     ...
      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
     ...
   </plugins>

When using profiles to enable or disable specific targets, say I only want to build “macosx”, Maven/Tycho complains in that it cannot resolve the above linux and win32 plugin dependencies. Hence when a specific profile is active, how do I change the way the “product” file is parsed?

I’m open to other ways of dealing with the plugin dependencies in the .product file - but that’s the missing documentation I’m not finding. Unfortunately profiles alone doesn’t solve this.

Thanks,

- Jim


On Apr 29, 2015, at 11:04 PM, SCHREIBER.Martin <M.SCHREIBER@xxxxxxxxxxxxx> wrote:

Hi Jim,

you can achieve that by using maven profiles [1].
Create different profiles for the different target environments and run Tycho with the profile setting you want to build.
With the following profile settings you can run mvn clean install -P linux to build your product for linux, -P win32 for win32 and -P linux,win32 for both.
You might also want to enable all the profiles per default to build for all platforms by default.

<profile>
 <id>linux</id>
 <build>
 <plugins>
   <plugin>
     <groupId>org.eclipse.tycho</groupId>
     <artifactId>target-platform-configuration</artifactId>
     <version>${tycho-version}</version>
     <configuration>
       <environments>
         <environment>
           <os>linux</os>
           <ws>gtk</ws>
           <arch>x86_64</arch>
</environment>
       </environments>
     </configuration>
   </plugin>
 </plugins>
</profile>
<profile>
 <id>win32</id>
 <build>
 <plugins>
   <plugin>
     <groupId>org.eclipse.tycho</groupId>
     <artifactId>target-platform-configuration</artifactId>
     <version>${tycho-version}</version>
     <configuration>
       <environments>
         <environment>
           <os>win32</os>
           <ws>win32</ws>
           <arch>x86</arch>
</environment>
       </environments>
     </configuration>
   </plugin>
 </plugins>
</profile>

[1] http://maven.apache.org/guides/introduction/introduction-to-profiles.html


Von: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] Im Auftrag von Jim Klo
Gesendet: Mittwoch, 29. April 2015 22:19
An: Tycho user list
Betreff: [tycho-user] Building 1 Environment instead of all

Greetings we are building an RCP application that is currently building with Tycho.  Our CI builds for x64 builds for window, mac, and linux.

Our .product file has several native fragment dependencies [ org.eclipse.core.(resources|filesystem|net).(linux|macosx|win32).x84_64 ].

If I omit one of the environments from the target-platform-configuration, the build fails because it cannot find one of the dependencies listed in the .product file.

Is there a way to just tell tycho to only build and assemble one of the target environments instead of all of them?

Thanks,

- Jim


Jim Klo
Senior Software Engineer
Center for Software Engineering
SRI International
t. @nsomnac

_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user


Attachment: smime.p7s
Description: S/MIME cryptographic signature


Back to the top