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

On 01/22/2013 05:56 PM, ali_anwar wrote:
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).


"file:/home/ali/path_to/eclipse/.eclipseextension" is in fact being treated as a CACHE_EXTENSIONS 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

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