Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [iam-dev] Interest in Maven-P2 integration

(rambling)

As far as I can tell, the modifications can occur mostly via the p2
metadata generation steps.
It "creates" (a p2 term) a new metadata repository and a new artifact
repository.
In the case of a metadata repository, it then adds all of the
InstallableUnits to the repository.
In the case of an artifact repository, it then adds all of the
IArtifactDescriptor's to the repository.

There is also a step within the IArtifactRepository where an
OutputStream can be obtained for an IArtifactDescriptor.
This allows users of the IArtifactRepository to create the binary
content within the repository.

For a p2.SimpleArtifactRepository, this process makes an artifacts.xml
file (which is pointless when using a maven repo).
I also believe that the artifacts.xml file will not last for the long
run, esp when the repositories start getting larger.

There is an expectation that the 'create' step for a repository, that
it creates a new fresh, empty repository.
And in the case of a p2.SimpleArtifactRepository all that refers to is
the artifacts.xml file, not the actual jar/zip/tar.gz content.

There is also the concept of a p2.load, which essentially initializes
a IArtifactRepository based on an existing repository.

Since the p2.MavenArtifactRepository will not use the concept of an
artifacts.xml, the disctinction between p2.create and p2.load is nil.

Looking at the p2.SimpleArtifactRepository, only repositories with a
"file://" scheme can be modified.

- Joakim


On Tue, Dec 2, 2008 at 12:24 AM, Abel Muiño Vizcaino <amuino@xxxxxxxxx> wrote:
> Naive question... how does P2 modify a repository? I had the impression that
> it is designed for reading them only.
>
> I'm ok with ECF. Can you update the target platform creation script on the
> wiki so it includes the needed bundles?
>
>
> El 01/12/2008, a las 18:54, Carlos Sanchez escribió:
>
>> 1) starting with file repos for now sounds reasonable to avoid
>> overengineering
>>
>> 2) I'd go with ECF
>>
>>
>> On Mon, Dec 1, 2008 at 9:22 AM, Joakim Erdfelt <joakim.erdfelt@xxxxxxxxx>
>> wrote:
>>>
>>> Took the first few steps at writing a P2 artifact repository factory
>>> and provider.
>>>
>>> Some things to decide on before I go further.
>>>
>>> 1) Do we allow the repository to be modified?
>>>
>>> IArtifactFactory has an expectation of GET and PUT of content.
>>> However, the current SimpleArtifactRepository that ships with P2 has a
>>> .isModifiable() test for the repository scheme is "file", it only
>>> allows PUT on file repositories.
>>>
>>> We could do the same thing and only allow modifications on file URIs.
>>> Or we can work with an assumption that we will support WebDAV as well
>>> from the get go.
>>> But that leaves other schemes like ftp, cifs, etc... unsupported.
>>> Which leads to the second question ...
>>>
>>> 2) What transport mechanism should we use?
>>>
>>> The SimpleArtifactFactory implementation uses ECF for all transport.
>>> Using ECF ...
>>> * Allows for a great variety of transport mechanisms,
>>>
>>>  http://wiki.eclipse.org/ECF_Providers#File_Transfer_.28org.eclipse.ecf.filetransfer.29
>>> * True interactivity with regards to authentication.
>>> * Vast Proxy support.
>>> * Progress monitoring during "Software Updates" flow
>>> * Progress monitoring during Command Line provisioning.
>>> * And it is the present and future of network communications within
>>> Eclipse.
>>>
>>> I personally believe that we should use ECF for our communications to
>>> the repository.
>>>
>>> Alternate approaches would be ...
>>> * Use Wagon
>>> * Use Mercury
>>>
>>> Both of those choices suffer greatly when it comes to Proxy support
>>> and interactive Authentication.
>>>
>>> I'm considering a hybrid approach using maven-artifact along with ECF,
>>> but I don't know if that is feasible (yet).
>>>
>>> - Joakim
>>>
>>> On Sat, Nov 29, 2008 at 11:18 AM, Carlos Sanchez
>>> <carlos@xxxxxxxxxxxxxxxx> wrote:
>>>>
>>>> the problem I see now, and that prevented it from happening before, is
>>>> getting somebody from p2 committed to help with p2 related questions,
>>>> and not just interested ;)
>>>> If we can get that, great, I'd love to see p2 integration.
>>>>
>>>>
>>>> 2008/11/29 Joakim Erdfelt <joakim.erdfelt@xxxxxxxxx>:
>>>>>
>>>>> There are 2 ways to accomplish this...
>>>>>
>>>>> On the repository side, being creative about the p2 metadata creation.
>>>>>
>>>>> Providing a maven repo artifact repo resolver.
>>>>>
>>>>> I've done the first manually just to see if it was possible, and I've
>>>>> become
>>>>> pretty familiar with the p2 repository internals in my last job.
>>>>>
>>>>> I'd love to help out with this effort.
>>>>>
>>>>> My personal goals wrt to IAM is improve WTP/JST support, Search, RAD
>>>>> support, and general Corporate concerns.  Pencil me in for P2 as well,
>>>>> since
>>>>> it overlaps with corporate concerns as well.
>>>>>
>>>>> -Joakim Erdfelt
>>>>>
>>>>> On Nov 29, 2008 10:54 AM, "Abel Muiño Vizcaino" <amuino@xxxxxxxxx>
>>>>> wrote:
>>>>>
>>>>> Hi guys,
>>>>>
>>>>> My perception at Eclipse Summit Europe is that there is a good amount
>>>>> of
>>>>> interest in Maven/P2 integration.
>>>>>
>>>>> I've let people know that we have the P2 integration in our roadmap,
>>>>> although it is a bit in the future.
>>>>>
>>>>> I was wondering if we have the resources to move into P2 integration
>>>>> sooner
>>>>> (maybe at the expense of PDE integration).
>>>>>
>>>>> What do you think?
>>>>>
>>>>> Abel
>>>>> _______________________________________________
>>>>> iam-dev mailing list
>>>>> iam-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/iam-dev
>>>>>
>>>>> _______________________________________________
>>>>> iam-dev mailing list
>>>>> iam-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/iam-dev
>>>>>
>>>>>
>>>> _______________________________________________
>>>> iam-dev mailing list
>>>> iam-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/iam-dev
>>>>
>>> _______________________________________________
>>> iam-dev mailing list
>>> iam-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/iam-dev
>>>
>> _______________________________________________
>> iam-dev mailing list
>> iam-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/iam-dev
>
> _______________________________________________
> iam-dev mailing list
> iam-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/iam-dev
>


Back to the top