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

I don't know about other subscribers of the p2-dev mailing list, but to me your description does not make sense at all.

>> 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.
As far as I know, Eclipse GUI does not have any explicit "uninstall" option. It is possible to uninstall components by going to a previous state, but if you've got a fresh copy, there is no previous state. On the other hand, one can use p2 director to uninstall components but all components in a fresh install are usually required by a single "root" one. So, it is impossible to uninstall random components. Finally, if you use p2 director, you can mention the same component in both uninstall and install lists, and it will be updated, but the update is again limited to what is permitted by the root element, and given you description I guess you had two separate operations anyway. You don't say if you use p2 director or another tool and if you run it inside the provisioned platform or separately. Consequently, it is not possible to say what "everything" means because what you can uninstall depends on whether you have to leave the platform runtime binary intact.

It would be much easier to understand you at least for me if you provided clear steps to reproduce your case. Which target Eclipse platform do you use exactly (list of root IU ids and versions or a link to download from eclipse.org)? If you run p2 director or another tool without starting the target platform, which version of Eclipse do you use exactly (see the previous question)? What are the commands you give to the director application? What is the expected outcome? What is the actual outcome?

/Mikhail


----- Original Message -----
From: "ali_anwar" <ali_anwar@xxxxxxxxxxxxxxxx>
To: "P2 developer discussions" <p2-dev@xxxxxxxxxxx>
Cc: "mikhail kalkov" <mikhail.kalkov@xxxxxxxxxxxxxx>
Sent: Wednesday, January 23, 2013 9:21:37 PM
Subject: Re: [p2-dev] Loading eclipseextension repository with artifact size = 0

On 01/22/2013 06:23 PM, ali_anwar wrote:

I have a one question is it right for eclipse to create an
.eclipseextension artifact repository on its own for the stuff in
eclipse folder, when you uninstall everything?

-Ali

> 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
> _______________________________________________
> p2-dev mailing list
> p2-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/p2-dev