Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Loading eclipseextension repository with artifact size = 0

Hi Mikhail,

The eclipseextension repository is actually an ExtensionLocationArtifactRepository, "file:/home/ali/path_to/eclipse/.eclipseextension". Now the problem is that the base Directory of this repo is actually eclipse folder containing the plugins and features which are not yet removed by the garbage collector. Somehow this repository gets initialized with the stuff in the base directory (Bundle Pool Repository).

The ExtensionLocationArtifactRepository is not created by me but instead it was automatically created when I uninstalled all the components that were already installed.

My scenario is as following:
1. Uninstall everything which is already installed in eclipse.
2. Reinstall all the components along with some new/updated components.

Problem:
After uninstall .eclipseextension(ExtensionLocationArtifactRepository) repo is created which during installation(step 2) is populated with the stuff of basedirectory (Bundle Pool Repository), which is eclipse folder. But after the GC is invoked, ExtensionLocationArtifactRepository is not updated/reinitialized.

Thanks,
-Ali

On 01/22/2013 01:18 PM, Mikhail Kalkov wrote:
Hi Ali,

I believe that an eclipseextension (ExtensionLocationMetadataRepository) can only contain features/ and plugins/ directories. If you additionally have any of p2 metadata files ({artifacts,compositeArtifacts,content,compositeContent}.{xml,jar}), this becomes a p2 repository (StandardP2Repository). Finally, starting with Eclipse 4.2 an error is produced if one tries to load an eclipseextension directory with one of the aforementioned files, unless there is a ".eclipseextension" file which silences the error (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=348990). I don't know an answer to your question, but hope this helps.

Kind regards,
Mikhail Kalkov


----- Original Message -----
From: "ali_anwar" <ali_anwar@xxxxxxxxxxxxxxxx>
To: p2-dev@xxxxxxxxxxx
Sent: Monday, January 21, 2013 8:26:30 PM
Subject: Re: [p2-dev] Loading eclipseextension repository with artifact size = 0

On 01/21/2013 10:37 PM, ali_anwar wrote:
Hi,

I have following contents in artifact.xml file for eclipseextension repo:


Please note that eclipseextension repo is automatically created with
below mentioned data even when you delete all the IUs from the eclipse-juno.

Version: Juno Service Release 1
Build id: 20120920-0800

<?artifactRepository version='1.1.0'?>
<repository name='/home/ali/path_to/eclipse/.eclipseextension'
type='org.eclipse.equinox.p2.artifact.repository.simpleRepository'
version='1.0.0'>
    <properties size='3'>
      <property name='p2.timestamp' value='1358545297882'/>
      <property name='org.eclipse.update.site.policy' value='USER-EXCLUDE'/>
      <property name='org.eclipse.update.site.list' value=''/>
    </properties>
    <mappings size='3'>
      <rule filter='(&amp; (classifier=osgi.bundle))'
output='${repoUrl}/plugins/${id}_${version}.jar'/>
      <rule filter='(&amp; (classifier=binary))'
output='${repoUrl}/binary/${id}_${version}'/>
      <rule filter='(&amp; (classifier=org.eclipse.update.feature))'
output='${repoUrl}/features/${id}_${version}.jar'/>
    </mappings>
    <artifacts size='0'/>
</repository>


When p2 loads the repository it shows that the size of artifacts is 298
instead of 0. Little investigation revealed that the artifacts are those
which are mentioned in eclipse/artifact.xml file:


<?artifactRepository version='1.1.0'?>
<repository name='Bundle pool'
type='org.eclipse.equinox.p2.artifact.repository.simpleRepository'
version='1.0.0'>
    <properties size='2'>
      <property name='p2.system' value='true'/>
      <property name='p2.timestamp' value='1358545325329'/>
    </properties>
    <mappings size='3'>
      <rule filter='(&amp; (classifier=osgi.bundle))'
output='${repoUrl}/plugins/${id}_${version}.jar'/>
      <rule filter='(&amp; (classifier=binary))'
output='${repoUrl}/binary/${id}_${version}'/>
      <rule filter='(&amp; (classifier=org.eclipse.update.feature))'
output='${repoUrl}/features/${id}_${version}.jar'/>
    </mappings>
    <artifacts size='298'>
      <artifact classifier='osgi.bundle'
id='org.eclipse.rse.services.files.ftp' version='3.0.300.v201101042155'>
        <properties size='1'>
          <property name='download.size' value='39844'/>
        </properties>
      </artifact>
...


Is it an expected behaviour (as the mappings of both repositories is same)?

Thanks,
-Ali
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev



Back to the top