Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 347825 - Build fails when target platform contains a feature patch
Summary: Build fails when target platform contains a feature patch
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Tycho (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Tobias Oberlies CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-31 12:20 EDT by Tobias Oberlies CLA
Modified: 2021-04-28 16:55 EDT (History)
1 user (show)

See Also:


Attachments
ITest demonstrating the issue (26.31 KB, patch)
2011-06-01 08:40 EDT, Tobias Oberlies CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Oberlies CLA 2011-05-31 12:20:10 EDT
If the target platform contains a feature and a feature patch for that feature, the build fails.

Example:
- Feature A contains org.eclipse.core.runtime in version 3.4
- Feature patch B (for feature A) updates the version of the included org.eclipse.core.runtime to version 3.5
The build fails when I try to include both feature A and feature patch B in a feature built by Tycho.

The reason for the failure seems to be, that the p2 dependency resolver excludes 3.4 from the target platform (because it is not needed with the patch present), but then Tycho dependency walker code fails. Apparently the dependency walker code is not available of feature patches.

I remember that I had once proposed a patch to remove the depencency walker usage in case of the p2 resolver [1]. It is not really needed, and if it fixes this issue, I'll probably apply the patch.


Related issues:
- TYCHO-580 [2] is a different issue. I only tried to include a feature patch built elsewhere. TYCHO-580 is about building patches with Tycho.
- TYCHO-228 [3] looks like the same issue. Since we now track bugs here, TYCHO-228 should be closed as duplicate.

[1] https://issues.sonatype.org/browse/TYCHO-554
[2] https://issues.sonatype.org/browse/TYCHO-580
[3] https://issues.sonatype.org/browse/TYCHO-228
Comment 1 Igor Fedorenko CLA 2011-05-31 15:35:08 EDT
FYI, there is a separate issue with building feature patches using tycho. I have local branch against 0.11.1, but need to port it for 0.13 before I can apply.
Comment 2 Tobias Oberlies CLA 2011-06-01 06:53:57 EDT
(In reply to comment #1)
> FYI, there is a separate issue with building feature patches using tycho. I have
> local branch against 0.11.1, but need to port it for 0.13 before I can apply.
AFAIK this is TYCHO-580. If you plan to fix this issue, please open a new bug here in Bugzilla so that we will be able to generate the release notes for 0.13.0 from Bugzilla.
Comment 3 Tobias Oberlies CLA 2011-06-01 08:40:33 EDT
Created attachment 197086 [details]
ITest demonstrating the issue

This integration test demonstrates the problem. The build results in the following message:

java.lang.RuntimeException: Could not resolve plugin org.eclipse.core.runtime_3.4.0.v20080512; Path to dependency:
  eclipse-feature:featurePatch.external.combine.feature:1.0.0.qualifier: org.eclipse.tycho.core.osgitools.DefaultReactorProject@24561250
  eclipse-feature:org.eclipse.example.original_feature:1.0.0: C:\Users\D051585\.m2\repository\p2\org\eclipse\update\feature\org.eclipse.example.original_feature\1.0.0\org.eclipse.example.original_feature-1.0.0.jar

	at org.eclipse.tycho.core.ArtifactDependencyVisitor.newRuntimeException(ArtifactDependencyVisitor.java:42)
	at org.eclipse.tycho.core.ArtifactDependencyVisitor.missingPlugin(ArtifactDependencyVisitor.java:33)
	at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traversePlugin(AbstractArtifactDependencyWalker.java:207)
	at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traverseFeature(AbstractArtifactDependencyWalker.java:85)
	at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traverseFeature(AbstractArtifactDependencyWalker.java:170)
	at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traverseFeature(AbstractArtifactDependencyWalker.java:89)
	at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traverseFeature(AbstractArtifactDependencyWalker.java:170)
	at org.eclipse.tycho.core.osgitools.EclipseRepositoryProject$1.walk(EclipseRepositoryProject.java:60)
	at org.eclipse.tycho.core.osgitools.AbstractArtifactBasedProject.resolve(AbstractArtifactBasedProject.java:42)
	at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:101)
	at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:91)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:268)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151)
	... 11 more
Comment 4 Igor Fedorenko CLA 2011-06-05 09:24:16 EDT
(In reply to comment #2)
> (In reply to comment #1)
> > FYI, there is a separate issue with building feature patches using tycho. I have
> > local branch against 0.11.1, but need to port it for 0.13 before I can apply.
> AFAIK this is TYCHO-580. If you plan to fix this issue, please open a new bug
> here in Bugzilla so that we will be able to generate the release notes for
> 0.13.0 from Bugzilla.

Opened Bug 348326. Btw, I found git log more reliable/convenient way to generate release notes.
Comment 5 Tobias Oberlies CLA 2011-06-07 04:46:22 EDT
This issue is resolved with 09d71aa [1]. This commit also includes the attached integration test.

[1] https://github.com/sonatype/sonatype-tycho/commit/09d71aa2f895d94bb002b7e6c6bdf299a740c224