Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] What causes "Could not determine SWT implementation fragment bundle"?

Zitat von Aaron Digulla <digulla@xxxxxxxx>:

[DEBUG] Added p2 repository indigo (file:/home/...)
[DEBUG] Available IUs:
 org.eclipse.modisco.jee.webapp.source 0.9.1.v201109150824
 org.junit.source 4.8.2.v4_8_2_v20110321-1705
 ...
 org.eclipse.swt 3.7.1.v3738a
 ...
 org.eclipse.swt.gtk.linux.x86_64 3.7.1.v3738a
 org.eclipse.swt.gtk.linux.x86_64.source 3.7.1.v3738a

which is odd since the folder contains the whole delta pack with 31 plugins in total and not only three.

For some reason, the other 28 plugins are not listed in artifacts.jar. They are in content.jar, though :-/

Investigating...

Found something but probably irrelevant to the error: p2 copies all plugins into the repo when I export the target definition but I can't say "add all SWT plugins to artifacts.jar". Instead, it will only add the plugin which is mentioned in the "Environment" tab of the target file editor. Leaving the fields blank will add the SWT fragment which matches the running Eclipse IDE and using "*" will omit all SWT fragments. *sigh*

I've used the p2's org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher to fix the broken repo.

And guess what, the new repo works. So for anyone who has the same problem:

If you use a target definition to mirror an existing p2 repo (for example the slow Indigo main repo), the result won't work with Tycho.

Run this command to fix it:

./eclipse-p2/eclipse -nosplash \
-application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher \
    -metadataRepository "$dest" \
    -artifactRepository "$dest" \
    -repositoryName "3.7.1 Indigo Repository" \
    -source "$dir" \
    -compress -append -publishArtifacts

where "dest" is a new repo to create or an existing repo to merge with (if you don't want this, delete "dest" before running the command).

"dir" is the crap that the target definition editor dumped on your harddisk.

Regards,

--
Aaron "Optimizer" Digulla a.k.a. Philmann Dark
"It's not the universe that's limited, it's our imagination.
Follow me and I'll show you something beyond the limits."
http://www.pdark.de/                   http://blog.pdark.de/


Back to the top