[ad_1]
I am currently using an update site for a particular version of BIRT which is hosted on SourceForge. As I have been experiencing problems with the company firewall and because the project is no longer active, it seemed to make sense to make a one-time copy of the site and store the resources in my project.
I created an ANT task to do this based on the original target definition:
<target name="birt">
<p2.mirror
source="https://sourceforge.net/projects/birt/files/release/4.16.0/"
destination="${destinationFolder}birt">
<slicingOptions followStrict="true" />
<iu id="org.eclipse.birt.osgi.runtime.feature.group" />
</p2.mirror>
</target>
I then modified the target definition:
<location path="d:\p2copy\birt" type="Directory"/>
This loaded around 220 items but when I started the app I got many unresolved dependencies.
I modifed the target definition as follows:
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<repository location="file:///D:/p2copy/birt/"/>
<unit id="org.eclipse.birt.osgi.runtime.feature.group" version="4.16.0.v202006301151"/>
</location>
This loaded 350 items and the app was able to start.
Why does the second definition load more items than the first? Do I need to add further attributes to the first definition in order to get all the items I need?
Update
The obvious difference is that the Directory
version does not specify an iu
. I just had a peek in the feature JAR and could see that some plugins are referenced which are not contained in the BIRT repository. I think this explains the differing plug-in count. It highlights perhaps a fundamental difference between a Directory
type and an InstallableUnit
type which wasn’t clear to me before.
[ad_2]