[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] P2 metadata authoring - status/questions

I have been working on p2 meta data authoring, and have created a large part of an Installable Unit editor.

As I did not want to lose the code in case of disaster, I checked it in to the Buckminster SVN in wait for the proper place to be created (understand everyone is busy with Ganymede stuff, so no need to hurry - I am not blocked by this).

I am however a bit blocked by not understanding touchpoints and touchpoint data, and what should be done about them from an authoring perspective. So... here is a bunch of questions that I hope someone has time to answer:

- If an IU does not have any touchpoint data is the default then NullTouchpoint or must the null touchpoint be set explicitly?
- The touchpoint type has a version. Does it denote the version of the touchpoint data, or is it used by a matching strategy to find a particular version of a Touchpoint instance at runtime?

I have looked at the touchpoint data/touchpoint actions, and I understand that there are 5 actions for the native touchpoint (cleanup zip, unzip, chmod, collect, link), and 21 (collect, bundle: install/ uninstall/add-source/remove-source, feature: install/uninstall, set launcher, program argument: add/remove, set start level, mark started, set FW dependent/independent property, add JVM argument, mkdir, rmdir, link, chmod, check trust). I understand that the set of actions can change over time (hence the version on touchpoint type?), and also understand that it is possible to add new types of touchpoints. My idea was therefore to support touchpoint data authoring via an extension point that allows the provider of a touchpoint to provide information how they should be edited - i.e. the set of touchpoint data key's and what values they can have, and validators.

Now some more questions:
- Do you think it makes sense to be able to edit all of these, or are some of the instructions generated (like check trust?)
- How can I learn what the input to the actions are? Some parameters look like they are provided by the runtime (i.e. not specified in the iu touchpoint data). If there is no documentation, I can write up a list of what I think the parameter are and ask for someone to review.
- Since the touchpoint data is open ended it needs to handle any type of data. Is it correct that it is a map allowed to contain <String, String> or <String, Map> ?
- Is there some parameter substitution available? Thinks like $tmp, $home, $installdir etc?
- Do you think the touchpoint type/data construct will change significantly in 3.5?

Henrik Lindberg