Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[imp-dev] SDF, Box (and ASF+SDF Meta-Environment) deployment on Eclipse platform plan

Hi guys,

This our idea of how we are going to deploy the SDF stuff on the
Eclipse platform in the future. The issues are:
  - most of SDF is written in C: binaries that communicate via files,
and dynamically loadable libraries.
  - some of SDF is written in Java, more of Meta-Environment is written in Java.
  - SDF is one selection out of a large collection of components
("packages") that depend on each other.
  - we have an infra-structure which does component composition for us
(both source and binary composition),
    it could also generate Eclipse fragments, plugins and features for us.

So, the plan is:
  1. Make all "packages" Eclipse plugin projects (already done: by
adapting our build environment to generate META-INF and plugin.xml
files for the
      C packages.)
  2. For each package, generate a FRAGMENT .jar file that contains the
META-INF and the C binaries and scripts produced by the package
  3. For each package, generate a PLUGIN .jar file that only contains
a META-INF file. This can be empty for C packages, because C packages
only have platform dependant code.
      For Java packages, this will contain the Java class files and
code as usual.
  4. For each package, generate a feature.jar file that contains the
feature.xml and META-INF that only has one plugin in it, and use our
"package"
      dependencies for the feature dependencies.
  5. Provide a plugin project that has an extension point for
registering C packages with binaries installed in them, which handles
PATH and other settings
      and provides a convenient class for communicating with such
tools via pipes, files or maybe even sockets (can be constructed from
the current SDF Tools class).

Drawbacks:
  - none that we see, apart from a rather strange one-to-one mapping
between plugins and features that might surprise some people.

Benefits:
  - The Eclipse update site feature will allow the user to select
parts of SDF as he sees fit, because the feature dependencies reflect
our package dependencies.
  - The evolving implementation of SDF, and other stuff, will
automatically be reflected in the update site. No overhead for the
maintainers of SDF.
  - It allows for `package by package' reimplementation of C code to
Java (if that is what we would want, but still, it's nice to have the
possibility).

Question:
  - are there any blind spots in our plan; are we missing some kind of
limitation, requirement, or technical detail that might mess up this
little plan?

Cheers,

Jurgen


Back to the top