HowToDevelop

Setup up Eclipse

  • Install a JDK 1.7+
    • Be sure that Eclipse really uses the JDK!
  • Install a fresh Eclipse 3.8.2 (Juno)
  • Install the following PlugIns into your fresh Eclipse
    • Eclipse EGIT + Eclipse JGit
    • PDE Tools
    • Acceleo SDK
    • Ecore Tools SDK
    • Eclipse XML Editors and Tools (optional)
    • Eclipse Babel Editor (optional)
    • JavaScript Development Tools (optional)

Which branch?

The following instructions tell you to install version "1.1". Instead you can also use the "master" branch if you want last stable release.

Cloning

Clone the following repositories. Import the projects and (best) create working sets for each project.

Note: Clone the repositories all to the same base directory

Note: For openSCADA 1.0 you need to keep the ".git" extension in your local repository name. This changes with 1.1.

Instead of using "git.openscada.org" you can also use the repositories from GitHub or BitBucket.

RepositoryBranch
git://git.openscada.org/org.openscada.builder.git1.1
git://git.openscada.org/org.openscada.external.git

1.1

git://git.openscada.org/org.openscada.aurora.git1.1
git://git.openscada.org/org.openscada.oxygen.git1.1
git://git.openscada.org/org.openscada.jinterop.git1.1
git://git.openscada.org/org.openscada.utgard.git1.1
git://git.openscada.org/org.openscada.atlantis.git1.1
git://git.openscada.org/org.openscada.orilla.git1.1
git://git.openscada.org/org.openscada.othala.git1.1
git://git.openscada.org/org.openscada.dakara.git1.1
git://git.openscada.org/org.openscada.infinity.git1.1
git://git.openscada.org/org.openscada.orion.git

1.1

git://git.openscada.org/org.openscada.deploy.git1.1

The target environment

There are two ways to set up your target platform.

All manual

Create a new Target Environment (start with an empty one). To do this open the "Edit -> Preferences"

  • Add either "${eclipse_home}" or better a clean Eclipse directory with type "Installation"
  • Add a "Directory" with the value of "${project_loc:builder_external}/builder/lib"

  • Add a "Directory" with the value of "${project_loc:builder_external}/builder/lib/spring"
  • Add via "Software Site":
    • GEF SDK 3.8.1
    • EMF SDK 2.8.1
    • ECF SDK 3.5.6
    • Equinox SDK 3.8.1
    • Acceleo SDK
    • OCL End User SDK

Don't forget to activate the target platform!

Instead of installing the modules via Software Site you can also download the P2 ZIP archives and install them using these.

All automatic

As an alternative you can try the target platform definition in the project "builder_global". But please be aware of the fact that this is new and rarely tested. It will however be extended in the "1.1" branch and should become the default way to do it in the "1.1" release.

Note that when you set up your target platform with the ".target" file you will have your current running Eclipse as a base. This is not always a good idea, since you will have all tools which you have running inside your Eclipse also available for developing applications. While this sounds like a great idea at first, it not always is. One Eclipse acts as a development tool, the other as "target platform". That's why Eclipse makes a difference here.

Compile XMLBeans

Run the "build.xml" ant script from "builder_global".

Run the "bootstrap.ant" ant script from "builder_atlantis".

Run the "schema_build.xml" ant scripts in the following projects (in that order):

  • org.openscada.da.server.common
  • org.openscada.da.server.exec
  • org.openscada.da.server.exporter
  • org.openscada.da.server.jdbc
  • org.openscada.da.server.opc
  • org.openscada.da.server.proxy
  • org.openscada.da.server.simulation
  • org.openscada.da.server.snmp

Refresh the projects after each build.

Win32

If the ant script complains that it can't find "javac.exe" you are running the ant script with a JRE instead of a JDK. Choose a JDK for running the ant script.

Set up API Tooling

In order to let the Eclipse API Tooling perform its job it does need a baseline. Download a clean Eclipse 3.8.2 and install all openSCADA components to it. Create a new baseline in your development Eclipse instance and reference it as API Tooling baseline.