Target Platform

From Developer Documents
Jump to: navigation, search

The target platform is a composition of OSGi bundles, i.e. Eclipse plug-ins and features. This is the platform on top of which Simantics and its applications are developed. It consists roughly of:

  • selected parts of the Eclipse SDK (RCP, P2, JDT, PDE)
  • Simantics SDK
  • some third-party components (see Licensing)

Maintenance

Simantics target platform maintainer is Tuukka Lehtonen.

From Simantics 1.31.0 onwards

In Simantics 1.31.0 we migrated to Eclipse 4.7 Oxygen platform and took Obeo's Target Platform Definition DSL and Generator tool into use (see https://github.com/mbarbero/fr.obeo.releng.targetplatform) in target platform definition.

P2 deployments

P2 is a technology for provisioning software components for OSGi applications (e.g. anything Eclipse-based) originating from the Eclipse/Equinox project.

Register to access source code

Tip.png Simantics is an open source software platform, licensed under Eclipse Public License EPL (more information in section Licensing). The source code for both semantic database engine Simantics Core and the client Simantics Workbench is available to registered users. To gain access to the complete Simantics SDK source code, go to the Simantics Members Wiki and request an account.

Getting a Git-based version of the Simantics target platform

For more information on our git-based environment, see Migration To Git.

In the following, the master version will be retrieved but the instructions apply to all published branches in the Git repository. To use any other version, just change /master/ to another published branch name.

  1. Get the target platform definitions
  2. Activate the target platform
    • Select menu item Window/Preferences from your Eclipse IDE.
    • Open the preference page Plug-in Development/Target Platform.
    • Activate the Simantics x.y.z target platform definition by checking it and pressing Apply. Wait until Eclipse finishes downloading. Press OK or Apply and Close.
      • This will make Eclipse download the target platform components from simantics.org and install them as your target platform.
  3. Keep your platform up-to-date
    • Pull latest changes from Git remote repository
    • From Target Platform preference page, select your target from the list and press the Reload button.

OLD: Getting a Subversion-based version of the Simantics target platform

Up to Simantics 1.24.0 we kept Simantics in SVN. These instructions apply for any SVN-based versions.

In the following, the version 1.22 will be retrieved but the instructions apply to all versions. In this case 1.22 means getting the latest built target platform for the 1.22 platform branch. To use any other version, just change the version number to any other version.

  1. Get the target platform definitions
  2. Activate the target platform
    • Select menu item Window/Preferences from your Eclipse IDE.
    • Open the preference page Plug-in Development/Target Platform.
    • Activate the Simantics 1.22 target platform definition by checking it and pressing Apply. Wait until Eclipse finishes downloading. Press OK.
      • Members: Select Simantics SDK 1.22 for source code access instead. Use the SVN credentials available in the members wiki when Eclipse asks for the credentials to the target platform.
      • This will make Eclipse download the target platform components from simantics.org and install them as your target platform.
  3. Keep your platform up-to-date
    • Updating should in theory be as easy as reloading the target platform from Target Platform preference page. Select your target from the list and then press the Reload button. However, in order to make Eclipse actually reload everything properly, it may be necessary to:
      1. Copy the current target platform file to a new file with another name
      2. Bump the sequenceNumber attribute value up +1 in the .target file
        • look for <target name="..." sequenceNumber="1502690603"> at the beginning of the file
      3. Activate the copied target platform

Deprecated deployments

See Deprecated Target Platforms.