You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now, the problem is that the filter is respected in the corresponding units in the updatesite, but not in the feature bundle (content.xml).
An example:
The unit for one of the libs contains the correct filter in the update site:
<unitid='com.eclipsesource.j2v8.linux_x86_64'version='4.6.0.20191106024042'singleton='false'>
<updateid='com.eclipsesource.j2v8.linux_x86_64'range='[0.0.0,4.6.0.20191106024042)'severity='0'/>
<propertiessize='2'>
<propertyname='org.eclipse.equinox.p2.name'value='j2v8_linux_x86_64'/>
<propertyname='org.eclipse.equinox.p2.description'value='J2V8 is a set of Java bindings for V8'/>
</properties>
<providessize='8'>
<providednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.linux_x86_64'version='4.6.0.20191106024042'/>
<providednamespace='osgi.bundle'name='com.eclipsesource.j2v8.linux_x86_64'version='4.6.0.20191106024042'/>
<providednamespace='java.package'name='com.eclipsesource.v8'version='4.6.0'/>
<providednamespace='java.package'name='com.eclipsesource.v8.debug'version='4.6.0'/>
<providednamespace='java.package'name='com.eclipsesource.v8.debug.mirror'version='4.6.0'/>
<providednamespace='java.package'name='com.eclipsesource.v8.utils'version='4.6.0'/>
<providednamespace='java.package'name='com.eclipsesource.v8.utils.typedarrays'version='4.6.0'/>
<providednamespace='org.eclipse.equinox.p2.eclipse.type'name='bundle'version='1.0.0'/>
</provides>
<requiressize='4'>
<requirednamespace='java.package'name='com.eclipsesource.v8'range='[4.6.0,5.0.0)'/>
<requirednamespace='java.package'name='com.eclipsesource.v8.debug.mirror'range='[4.6.0,5.0.0)'/>
<requirednamespace='java.package'name='com.eclipsesource.v8.utils'range='[4.6.0,5.0.0)'/>
<requirednamespace='java.package'name='com.eclipsesource.v8.utils.typedarrays'range='[4.6.0,5.0.0)'/>
</requires>
<filter>
(&(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
</filter>
<artifactssize='1'>
<artifactclassifier='osgi.bundle'id='com.eclipsesource.j2v8.linux_x86_64'version='4.6.0.20191106024042'/>
</artifacts>
<touchpointid='org.eclipse.equinox.p2.osgi'version='1.0.0'/>
<touchpointDatasize='1'>
<instructionssize='1'>
<instructionkey='manifest'>
Bundle-SymbolicName: com.eclipsesource.j2v8.linux_x86_64
Bundle-Version: 4.6.0.20191106024042
</instruction>
</instructions>
</touchpointData>
</unit>
The feature group unit on the other hand lists all the libs as required without the filter:
<unitid='org.contextmapper.contextmap.generator.feature.feature.group'version='0.1.0.20191106024042'singleton='false'>
<updateid='org.contextmapper.contextmap.generator.feature.feature.group'range='[0.0.0,0.1.0.20191106024042)'severity='0'/>
<propertiessize='3'>
<propertyname='org.eclipse.equinox.p2.name'value='ContextMappers Context Map Generator'/>
<propertyname='org.eclipse.equinox.p2.provider'value='Context Mapper'/>
<propertyname='org.eclipse.equinox.p2.type.group'value='true'/>
</properties>
<providessize='1'>
<providednamespace='org.eclipse.equinox.p2.iu'name='org.contextmapper.contextmap.generator.feature.feature.group'version='0.1.0.20191106024042'/>
</provides>
<requiressize='34'>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.linux_x86_64'range='[4.6.0.20191106024042,4.6.0.20191106024042]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.linux_x86_64.source'range='[4.6.0.20191106024042,4.6.0.20191106024042]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.macosx_x86_64'range='[4.6.0,4.6.0]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.macosx_x86_64.source'range='[4.6.0,4.6.0]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.win32_x86'range='[4.6.0,4.6.0]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.win32_x86.source'range='[4.6.0,4.6.0]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.win32_x86_64'range='[4.6.0,4.6.0]'/>
<requirednamespace='org.eclipse.equinox.p2.iu'name='com.eclipsesource.j2v8.win32_x86_64.source'range='[4.6.0,4.6.0]'/>
<!-- removed others to save space here ... -->
<requirednamespace='org.eclipse.equinox.p2.iu'name='org.contextmapper.contextmap.generator.feature.feature.jar'range='[0.1.0.20191106024042,0.1.0.20191106024042]'>
<filter>
(org.eclipse.update.install.features=true)
</filter>
</required>
</requires>
<touchpointid='null'version='0.0.0'/>
</unit>
With the generated updatesite it is not possible to install the feature, since the feature requires all of the bundles (no filter defined), but the Eclipse installer cannot find the bundles due to the generated filters in the individual bundles:
Problems occurred while resolving the target contents
Cannot complete the install because one or more required items could not be found.
Missing requirement: ContextMappers Context Map Generator 0.1.0.20191105183722 (org.contextmapper.contextmap.generator.feature.feature.group 0.1.0.20191105183722) requires 'org.eclipse.equinox.p2.iu; com.eclipsesource.j2v8.macosx_x86_64 [4.6.0,4.6.0]' but it could not be found
Software being installed: ContextMappers Context Map Generator 0.1.0.20191105183722 (org.contextmapper.contextmap.generator.feature.feature.group 0.1.0.20191105183722)
From my manual tests, I would say that the problem would be solved if the filters would be generated into the feature group unit as well:
However, I don't know how to produce this output with your plugin.
Any ideas how to fix this? Is there maybe a way to specify the filters if I configure the feature in my Gradle build manually? I'm grateful for any inputs how to work around this issue...
The text was updated successfully, but these errors were encountered:
Is there any way to define the "os", "ws", and "arch" attribute on the "plugin" tags of the generated feature.xml?? This would fix the generated updatesite...
Hi there
I'm having a problem in a project where I want to use your plugin and I was wondering if you have any ideas how to fix this.
A few of my Gradle dependencies are already bundles containing an MANIFEST.MF file. And they conain a Eclipse-PlatformFilter:
These are the dependencies (available through maven central):
Now, the problem is that the filter is respected in the corresponding units in the updatesite, but not in the feature bundle (content.xml).
An example:
The unit for one of the libs contains the correct filter in the update site:
The feature group unit on the other hand lists all the libs as required without the filter:
With the generated updatesite it is not possible to install the feature, since the feature requires all of the bundles (no filter defined), but the Eclipse installer cannot find the bundles due to the generated filters in the individual bundles:
From my manual tests, I would say that the problem would be solved if the filters would be generated into the feature group unit as well:
However, I don't know how to produce this output with your plugin.
Any ideas how to fix this? Is there maybe a way to specify the filters if I configure the feature in my Gradle build manually? I'm grateful for any inputs how to work around this issue...
The text was updated successfully, but these errors were encountered: