We want to use p2 with a more user-friendly interface, for our
development teams. The aim is to build some eclipse specific
configurations, one per project. Thus, each developer working on a
project has exactly the same configuration as his team members, and can
only update the IUs allowed by the configuration manager.
Of course, the cherry on the cake would be to also be able to easily
deal with the target platform under p2 control. Indeed, for "web
projects", only the development environment is really useful, and
target platform doesn't make sense. But, for complex Eclipse
developments, we want to constrain both the development environment
("use Ecore Tools v.X", "use checkstyle Y", ...) _and_ the target
As we want to create a user friendly IU editor, we're currently having
a look at
the work done by Henrik to see how to use it, how to add the features
need, and how to improve and simplify the user interface.
Here are some points we have thought about :
- the Overview tab miss some
like a checkbox
"Group", that could be checked by default. Furthermore, the "name"
field doesn't seem to allow spaces? (see later for our Databinding
It's also probably necessary to add a tab allowing to edit every
"non-standard" property of the IUs (every property whose name is not
something like "org.eclipse.equinox.p2.*" ...?)
- in Required Capabilities, we think it
might be useful to have a wizard behind the "Add" action, to allow
browsing for existing capabilities.
- Step 1)
User can chose the source : IUs installed in the running profile, or
available into the referenced repositories
- Step 2) User can then select some
capabilities provided by these IUs (if he doesn't want the whole
- Step 3) User can enter differents
options : a range (a "standard range" can be generated by default, in
order not to have a strong dependency like
"3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLY" or something :-)),
os/ws/arch/nl filter, greedy flag (default to
checked), multiple, optional.
- On "finish", the list of choosen
items are added to required capabilities.
I had a look at the code
base of the IU editor and I noticed that you're currently using your
own implementation of Databinding (with Mutators, etc.). Was something
missing in the Eclipse Databinding framework (http://wiki.eclipse.org/JFace_Data_Binding/Original_Design)
I especially think this is great to deal with Forms because the
MessageManager can directly be bound to the "validation context" of the
binding, and things like conversions, validations, etc. are much more
natural using the "declarative" approach of this framework.
- A similar wizard could also help to
- In the same way, a wizard may help to
fill Provided Capabilities, making a list of capabilities that the IU
is able to provide.
- We think it would also be great to
allow to easily export the edited IU into a new or existing repo., and,
maybe, to directly propose a repository editor.
Besides, some refactoring is certainly needed to be able to implement
the features described above, and we would be very pleased to work hand
in hand with you to make the editor better.
Henrik, what is your current status on this project?
Have you done some improvements that are not committed in the
Benjamin CABÉ a écrit :
I have now reached a first milestone in P2 IU authoring. This wikipage
http://wiki.eclipse.org/Equinox_p2_Metadata_Authoring has screenshots
of the editor. There are also instructions (at the top), where to find
the editor and how run it.
- IU files can be created and edited
- Support for undo/redo and interactive error messages
I have some questions regarding certain fields, and what makes sense
from an editing perspective. Some of those questions are on the wiki
page. Feel free to add comments or ideas to the wiki page.
What remains to be supported:
- creation of fragment
- creation of patch
- lookup in repositories.
- "build/test" stuff
Looking forward to receiving comments.
equinox-dev mailing list