Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Tycho Filter

Hi,

Thanks for your help. Yes you are right, I want to remove all versions
of jdt from my project.
But when I am using "removeAll" tag plug-in that has optional
dependencies to the jdt could not be included. So now I am able to see
error message that is not meaningful for me.

[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-p2-publisher-plugin:0.16.0:publish-products
(default-publish-products) on project org.zapletnev.sdt: Exception
while publishing product
/Users/zapletnev/Documents/testWs/org.zapletnev.rcp/sdt.product:
"publishing result": ["Included element org.zapletnev.app1 0.0.0 is
missing. Cannot determine filter for requirement to this element."] ->
[Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal org.eclipse.tycho:tycho-p2-publisher-plugin:0.16.0:publish-products
(default-publish-products) on project org.zapletnev.sdt: Exception
while publishing product

Here is more details about my project.
My rcp contains only one plug-in and this plug-in depends on the
org.eclipse.emf.mwe2.launch that has optional lazy dependencies to the
jdt.
In my target platform defined just one location:

<location includeAllPlatforms="false" includeMode="planner"
includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.equinox.executable.feature.group"
version="3.6.0.v20120522-1813-7P7OG2BFLWUl7UmbVUO9iCm"/>
<unit id="org.eclipse.emf.mwe2.launch" version="2.3.0.v201206120758"/>
<repository location="http://download.eclipse.org/releases/juno/"/>
</location>

My target platform conf defines filters that covers all jdt plug-in
that used in the org.eclipse.emf.mwe2.launch.
I have attached my target platform and base pom file for my projects.

Thanks,
Igor

On Fri, Feb 8, 2013 at 9:08 PM, Oberlies, Tobias
<tobias.oberlies@xxxxxxx> wrote:
> Let me guess: the JDT plugins in your product all have a version between 3 and 4? Because this is what you specified.
>
> You probably wanted to use
>
>         <filter>
>                 <type>eclipse-plugin</type>
>                 <id>org.eclipse.jdt.core</id>
>                 <removeAll />
>         </filter>
>
>
> BTW. this question is a duplicate of http://stackoverflow.com/questions/12372269/eclipse-rcp-built-by-tycho-includes-unwanted-optional-dependencies
>
> Regards
> Tobias
>
>
>
>> -----Original Message-----
>> From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-
>> bounces@xxxxxxxxxxx] On Behalf Of Igor Zapletnev
>> Sent: Freitag, 8. Februar 2013 04:23
>> To: Tycho user list
>> Subject: [tycho-user] Tycho Filter
>>
>> Hi all,
>>
>> One of my dependent plug-in (org.eclipse.emf.mwe2.launch) has next
>> dependencies:
>>
>> Require-Bundle:
>> org.eclipse.jdt.launching;bundle-version="3.5.0";resolution:="optional";x-
>> installation:="greedy"
>> org.eclipse.jdt.core;bundle-version="3.5.0";resolution:="optional";x-
>> installation:="greedy"
>> org.eclipse.jdt.debug.ui;bundle-version="3.4.1";resolution:="optional";x-
>> installation:="greedy"
>>
>> And I want exclude this JDT  from my product artifact.
>> I am trying to use target platform in my rcp to resolve artifacts
>> (with one update site <repository
>> location="http://download.eclipse.org/releases/juno/"/>) and looks
>> like tycho filters is the best way to hide this plug-ins.
>>
>> I have added filters in my target platform conf:
>>
>>                               <artifactId>target-platform-
>> configuration</artifactId>
>>                               <version>${tycho-version}</version>
>>                               <configuration>
>>                                       <resolver>p2</resolver>
>>                                       <environments>
>>                                               <environment>
>>                                                       <os>win32</os>
>>                                                       <ws>win32</ws>
>>                                                       <arch>x86</arch>
>>                                               </environment>
>>                                       </environments>
>>                                    <filters>
>>                                        <filter>
>>                                        <type>eclipse-plugin</type>
>>                                        <id>org.eclipse.jdt.core</id>
>>                                        <restrictTo>
>>
>> <versionRange>[3.0,4.0]</versionRange>
>>                                               </restrictTo>
>>                                        </filter>
>>                                        <filter>
>>                                        <type>eclipse-plugin</type>
>>                                        <id>org.eclipse.jdt.debug.ui</id>
>>                                        <restrictTo>
>>
>> <versionRange>[3.0,4.0]</versionRange>
>>                                               </restrictTo>
>>                                        </filter>
>>                                        <filter>
>>                                        <type>eclipse-plugin</type>
>>                                        <id>org.eclipse.jdt.launching</id>
>>                                        <restrictTo>
>>
>> <versionRange>[3.0,4.0]</versionRange>
>>                                               </restrictTo>
>>                                        </filter>
>>                                     </filters>
>>
>> But I still able to see JDT plug-ins in my produce.
>>
>>
>> Thanks,
>> Igor
>> _______________________________________________
>> tycho-user mailing list
>> tycho-user@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/tycho-user
> _______________________________________________
> tycho-user mailing list
> tycho-user@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/tycho-user

Attachment: app1-tp.target
Description: Binary data

<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";
	xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

	<modelVersion>4.0.0</modelVersion>
	<groupId>org.zapletnev</groupId>
	<artifactId>parent</artifactId>
	<packaging>pom</packaging>
	<version>1.0.0-SNAPSHOT</version>
	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<tycho-version>0.16.0</tycho-version>
		<tycho-groupid>org.eclipse.tycho</tycho-groupid>
	</properties>

	<build>
		<sourceDirectory>src/</sourceDirectory>
		<plugins>
			<plugin>
				<groupId>${tycho-groupid}</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>${tycho-groupid}</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<resolver>p2</resolver>
					<environments>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86</arch>
						</environment>
					</environments>
				     <filters>
				         <filter>
			                 <type>eclipse-plugin</type>
			                 <id>org.eclipse.jdt.core</id>
			                 <removeAll />
				         </filter>	 
				         <filter>
			                 <type>eclipse-plugin</type>
			                 <id>org.eclipse.jdt.debug.ui</id>
			                 <removeAll />
				         </filter>	    
				         <filter>
			                 <type>eclipse-plugin</type>
			                 <id>org.eclipse.jdt.launching</id>
			                 <removeAll />
				         </filter>	      
				      </filters>
					<target>
						<artifact>
							<groupId>org.zapletnev</groupId>
							<artifactId>target-definition</artifactId>
							<version>1.0.0-SNAPSHOT</version>
							<classifier>app1-tp</classifier>
						</artifact>
					</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
	

Back to the top