Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Weird error when using p2-installable-unit

> Running the build with -X -Dtycho.debug.resolver=<artifactId> will
> provide detailed information about dependency resolution, starting with
> all installable units visible to the project.

Okey, I'll try see what that will give me.

I looked in the code and I couldn't find a place where tycho.debug.resolver was used for anything beyond a boolean flag.
Where is the artifactid taken into account ?

> I've seen org.eclipse.objectteams.otdt.* before. It is claims to be a
> JDT feature patch or something like that.

Yes, its evil.

> I can't remember what I
> decided was that right way to do with it. If you can provide a sample
> project that shows the problem I will have a look.

right now its inside jboss tools (ws/tests/org.jboss.tools.ws.jaxrs.core.test) so don't have a "minimized" version of it yet.

/max

> 
> --
> Regards,
> Igor
> 
> On 11-11-28 8:31 AM, Max Rydahl Andersen wrote:
>>>> I started trying to use:
>>>> 
>>>> <dependency>
>>>>   <type>p2-installable-unit</type>
>>>>   <artifactId>org.eclipse.jdt.launching.macosx</artifactId>
>>>>    <version>0.0.0</version>
>>>> </dependency>
>>>> 
>>>> But this give me this really weird error:
>>>> 
>>>> [ERROR] Failed to execute goal org.eclipse.tycho:tycho-surefire-plugin:0.13.0:test (default-test) on project org.jboss.tools.ws.jaxrs.core.test: Execution default-test of goal org.eclipse.tycho:tycho-surefire-plugin:0.13.0:test failed: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from extra-1322304115336 0.0.0.1322304115336 to org.eclipse.jdt.launching.macosx 0.0.0.", "Unable to satisfy dependency from 1322304115347 0.0.0.1322304115347 to org.eclipse.jdt.launching.macosx 0.0.0.", "No solution found because the problem is unsatisfiable."] ->   [Help 1]
>>>> 
>>>> I don't see anywhere where that "extra-1322304115336"  is coming from ?
>>>> 
>>> 
>>> What environment(s) do you run the tests on? Did you put
>>> o.e.jdt.launching.macosx test dependency in OSX-specific profile, like
>>> we did for m2e tests [1]?
>>> 
>>> [1] https://github.com/sonatype/m2e-core-tests/blob/master/pom.xml
>> 
>> Not yet - right now i'm just trying to run it on OSX - once I get it working I'll move it out to a profile.
>> 
>>>> If I use:
>>>> 
>>>> <dependency>
>>>>   <type>eclipse-fragment</type>
>>>>   <artifactId>org.eclipse.jdt.launching.macosx</artifactId>
>>>>    <version>0.0.0</version>
>>>> </dependency>
>>>> 
>>>> It loads and the bundle is visible at runtime but i'm still getting test failures.
>>>> 
>>>> Thus three questions:
>>>> 
>>>> 1) Why is Tycho complaining with that error ? it also seem to happen when I just add it to even basic tests with no extra dependencies.
>>>> …or at least any tip on debugging where it is finding extra-* references?
>>> 
>>> extra-* is an internal installable unit tycho generates to represent
>>> <dependency/>  elements. Just ignore it.
>> 
>> Yeah, I figured this out eventually when I noticed the number kept changing and then realized its java/unix timestamp.
>> 
>> One suggestion: Name that "extra-<timestamp>" something with tycho so one actually know that ? :)
>> 
>> diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/impl/resolver/ProjectorResolutionStrategy.java b/tycho-bundle
>> index 7ae582e..6484c13 100644
>> --- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/impl/resolver/ProjectorResolutionStrategy.java
>> +++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/impl/resolver/ProjectorResolutionStrategy.java
>> @@ -195,7 +195,7 @@ public class ProjectorResolutionStrategy extends ResolutionStrategy {
>>          if (!additionalRequirements.isEmpty()) {
>>              InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
>>              String time = Long.toString(System.currentTimeMillis());
>> -            iud.setId("extra-" + time);
>> +            iud.setId("tycho-extra-" + time);
>>              iud.setVersion(Version.createOSGi(0, 0, 0, time));
>>              iud.setRequirements(additionalRequirements.toArray(new IRequiredCapability[additionalRequirements.size()]));
>> 
>> (nontested patch ;)
>> 
>>>> 
>>>> 2) Any tips on tracking down which optional dependencies that are magically missing ? (eclipse got about 71 plugins marked as optional so its like looking for a needle in a haystack)
>>>> 
>>>> 3) Is there any way for a test run to enable "get all the optional dependencies" so it simulates what happens in PDE when launching with "all optional" ? At least so I can verify it actually works
>>>> in Tycho too when "everything" is installed ?
>>> 
>>> Not possible now, but in 0.14 there will be resolver flag that will let
>>> you choose between forcing all optional dependencies as required or
>>> ignoring them altogether (in the latter case it will still be possible
>>> to add specific dependencies back).
>>> 
>>> This support is currently implemented on 351842_optionalDependencies
>>> branch, waiting for my p2 patches to be reviewed and applied.
>>> 
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=351842
>> 
>> Ok - cool.
>> 
>> But after digging some more it seem to be my target platform have "more" in it than I would like, i.e. currently i'm now getting:
>> 
>> [ERROR] Failed to execute goal org.eclipse.tycho:tycho-surefire-plugin:0.13.0:test (default-test) on project org.jboss.tools.ws.jaxrs.core.test: Execution default-test of goal org.eclipse.tycho:tycho-surefire-plugin:0.13.0:test failed: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from extra-1322486420857 0.0.0.1322486420857 to bundle org.eclipse.jdt.launching.macosx 0.0.0.", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.1.v_OTDT_r201_201109101025 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).", "Unable to satisfy dependency from 1322486420872 0.0.0.1322486420872 to bundle org.eclipse.jdt.launching.macosx 0.0.0.", "No solution found because the problem is unsatisfiable."] ->  [Help 1]
>> 
>> 
>> So I somehow got org.eclipse.objectteams.otdt.* into the target platform - which is really weird.
>> 
>> What could help me is someway to actually see the list of bundles that are *in* the target platform after Tycho done its resolution stuff.
>> 
>> Is there available somewhere ? -X does not seem to print it out.
>> 
>> And I can't spot anything in target/work/* directory.
>> 
>> Is that information stored somewhere?
>> 
>> /max
>> http://about.me/maxandersen
>> 
>> 
>> 
>> _______________________________________________
>> 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

/max
http://about.me/maxandersen





Back to the top