[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [p2-dev] Improving the way repositories are described
- From: "Pascal Rapicault" <pascal@xxxxxxxxxxxxx>
- Date: Wed, 27 Feb 2013 21:15:01 -0500
- Delivered-to: firstname.lastname@example.org
- User-agent: SquirrelMail/1.4.21
What I currently see depends on Xtext which depends on EMF and others
things, however I remember reading that it was possible to use this
infrastructure outside of equinox, and I do see a generated class called
RepoDSLStandaloneSetup with the following comment "Initialization support
for running Xtext languages without equinox extension registry".
What do you have in mind?
On Wed, February 27, 2013 21:05, Igor Fedorenko wrote:
> Will the generated parser and model classes work in standalone tools,
> like Tycho, or will it require full-blown Eclipse runtime to work?
> On 2013-02-27 8:56 PM, Pascal Rapicault wrote:
>> I'm sending this to request feedback on how to better create
>> Please direct all feedback, positive or negative to the bug
>> http://bugs.eclipse.org/401960. What is below is the description that I
>> put to the bug.
>> When it comes to dealing with repositories, p2 offers a lot of
>> that is not (or not easily) accessible through the old site.xml or
>> category.xml file formats.
>> Such things include, associated repositories, mirror URLs, download
>> URL, nested categories, uncategorized content, etc.
>> In attempt to overcome those limitations, and to learn XText, I created
>> last summer the attached grammar which provides the basis for a
>> DSL. Put in action, this DSL allows things like the following example,
>> which I hope is sufficiently self explanatory:
>> repoName: "My tools"
>> referenceRepo: "http://download.eclipse.org/releases" as "Juno" enabled
>> category: "Tools"
>> iu:"org.eclipse.code.recomenders",["1.0.0", "2.0.0"]
>> category: "Maven tools"
>> feature: "someStuffThatNeedToBeInTheRepo"
>> iu: "org.eclipse.p2"
>> As you can see the approach is fairly simple, describe what you want and
>> you are done. In this example, I'm creating a Tools category that
>> Eclipse recommenders, pde and a subcategory for Maven tools. Here I'm
>> making use of more advanced functionalities, but I'm sure you see where
>> this is going.
>> ** How will people work with this?
>> This file will be used to replace site.xml and category.xml. People will
>> be able to edit it using the Xtext generated editor (which includes all
>> the bells and whistles an editor needs - (see below on addition
>> for the various IDs)), or alternatively they should be able to edit it
>> with a simple text editor or other more automation oriented tools.
>> ** What is missing?
>> Though I'm happy with the way things look, neither the grammar nor the
>> editor are production ready, and we don't even have the p2 publisher bit
>> that turns this DSL into a content.xml.
>> On the grammar side the following things need to be added:
>> - Inclusion mode. This element would allow to describe whether just the
>> IU, its slice or resolved dependencies should be included in the IU.
>> - Edition context. This element which should be located at the top of
>> DSL would tell the editor where it can find IDs to propose to the user
>> the completion. This could for example include target definitions,
>> etc. This entry would only be used for edition, but not at generation
>> where the context is provided by the build.
>> - Stats tracker URL. The URL against which to report download stats.
>> - Mirror list. The list of mirrors.
>> - More simple format? I'm wondering if a Yaml like format would be
>> for ppl gre'ing, etc.
>> On the editor side, the completion logic needs to be added.
>> ** Where will the project be hosted?
>> Though the prototype is currently on my personal bitbucket account
>> (https://bitbucket.org/prapicault/p2-repo-dsl), this is something that
>> belongs to p2 or PDE and will be moved to the Eclipse Foundation once
>> there is enough traction around it.
>> p2-dev mailing list
> p2-dev mailing list