Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Triquetrum/Ptolemy/Porting"
(Added link to "Need a way for OSGi bundles to add to the MoML Filters:) |
(→Check out the ptII osgi-2-0 branch) |
||
Line 56: | Line 56: | ||
# Check out the branch with | # Check out the branch with | ||
svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0 | svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0 | ||
+ | |||
+ | Note, the above checks out the head of the osgi-2-0 branch, To check out the latest version that contains the approved sources that have gone through the Contribution Questionnaire (CQ), use | ||
+ | svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0-cq-1 | ||
+ | |||
+ | See [https://github.com/eclipse/triquetrum/issues/70 Bug #70: Open Ipzilla issues for Triquetrum third party code] | ||
=== Set up a jar file for the actors === | === Set up a jar file for the actors === |
Revision as of 20:32, 30 August 2016
This page covers how to port Ptolemy actors to Triquetrum.
This page is not yet completed.
Contents
See Also
- Triquetrum/Extending_Triquetrum - A good place to start if you are not familiar with RCP and features.
- Triquetrum/Kepler - Porting Kepler actors to Triquetrum.
- Bug #90 Document the process for porting Ptolemy actors to Triquetrum
IP Issues
All jar files that are to be shipped with an official release must be vetted for IP issues, see Contribution Questionnaire->Third Party Libraries].
Actors that are checked in to the Ptolemy II ptII svn repository are considered to be third party libraries.
A subset of the Ptolemy II actors have been reviewed as part of Eclipse IP process. The reviews themselves are not public, see Issue #70: Open Ipzilla issues for Triquetrum third party code.
One very serious limitation with OSGi is that a Java package can only appear in one OSGi bundle.
This means that actors in the ptolemy.actor.lib package that are not in source bundle that has passed the Eclipse Contribution Questionnaire (CQ) IP process must be put into another package, or added to the ptII svn osgi-2-0 repository and a new CQ created.
In general we do not want to request IP review very often, so if the package is already in a bundled that has been reviewed, then rename the package.
See Bug 113: Need a way for OSGi bundles to add to the MoML Filters.
Overview
Porting Ptolemy actors requires the following steps
- Create an actor bundle
- Add Required Projects
- Implementing an actor
- Providing the actor class to the runtime
- Packaging the plugin(s) for your RCP editor
One key element is that because of IP issues, the Ptolemy actor OSGI jar files are not checked in to the Eclipse Triquetrum repository. Instead they are checked in elsewhere (FIXME: where?)
On this page, we import the Ptolemy II Higher Order Components (hoc) actors and directors like the Case actor.
Create an actor bundle
See Extending Triquetrum - Creating an Actor Bundle
TBD - Describe how to set up the bundle for the ptolemy.actor.lib.hoc classes
Add Required Projects
See Extending Triquetrum - Added Required Projects
Implementing an actor
See Extending Triquetrum - Implementing an actor
The code for the actors is already present in the ptII tree, what needs to happen is that we need to create an OSGi jar file that contains those classes.
Check out the ptII osgi-2-0 branch
See Extending Triquetrum - Providing the actor class to the runtime
Because of IP issues, the Ptolemy actor OSGI jar files are not checked in to the Eclipse Triquetrum repository. Instead they are checked in elsewhere (FIXME: where?)
- Get read/write access to the ptII svn repository by emailing | Christopher Brooks
- Check out the branch with
svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0
Note, the above checks out the head of the osgi-2-0 branch, To check out the latest version that contains the approved sources that have gone through the Contribution Questionnaire (CQ), use
svn co https://repo.eecs.berkeley.edu/svn/projects/eal/ptII/branches/osgi-2-0-cq-1
See Bug #70: Open Ipzilla issues for Triquetrum third party code
Set up a jar file for the actors
TBD - describe the edits necessary to the osgi branch
To do: Create a script that does this automatically
Publish the OSGi bundle for the actors
TBD - where? We probably should create a p2 site and project somewhere outside of the Eclipse repos that is writable by the Triquetrum contributors. One possibility is to use the https://chess.eecs.berkeley.edu/triq. There is a website there and we can add users that need to update the location.
Packaging the plugin(s) for your RCP editor
See Extending Triquetrum - Packaging the plugin(s) for your RCP Editor