OpenArbor Maintenance Upgrade to 2025-03-R

From DDCIDeos
Jump to navigationJump to search

Introduction

For development of OpenArbor, developers need an Eclipse environment that contains all the third-party plugins, as well as the preferences and launch configurations to build and launch the OA plugins properly. To that end, we've come up with a "DevKit". Once created, it can be given to an OA developer. To make a new DevKit, start here: Make the DevKit

For the deployment of OpenArbor to be included in a DDS, we use the third-party tool "maven" to build the 64bit Eclipse RCPs (branded with OpenArbor) and the OA plugins. The workspace/Makefile handles this. To prepare the build resources required for the deployment of OA, see the information here: Building OA for Customer Delivery

Make the DevKit

Downloading Required Products

Download the new version of Eclipse and all the new products/plugins to put together a development environment that will allow for a successful build of the OpenArbor plugins. For OpenArbor development, the following products/plugins are required:

  1. Eclipse
  2. Java JDK and JRE
  3. SWTBot
  4. CDT && Eclipse TM Project
  5. Eclipse E4
  6. Apache Commons Net
  7. Subclipse
  8. Maven


At the time of the writing of this wiki page, we are migrating from Eclipse 2023-03-R to Eclipse 2025-03-R DDCI_PCR:5403. All of the information recorded here is from that work. But, it should provide good information for future migrations to later versions of Eclipse when they are available. The downloaded items listed below are stored here: \\nx3000\openarbor\Downloads\Eclipse\2025-03-R

Product Download Info
Product Product Website Eclipse Update Site Product Version Downloaded Filename Comments
Eclipse for RCP and RAP Developers www.eclipse.org https://www.eclipse.org/downloads/packages/release/2025-03/r/eclipse-ide-rcp-and-rap-developers 2025-03-R eclipse-rcp-2025-03-R-win32-x86_64.zip
eclipse-rcp-2023-03-R-win32-aarch64.zip
eclipse-rcp-2025-03-R-linux-gtk-x86_64.tar.gz
eclipse-rcp-2025-03-R-linux-gtk-aarch64.tar.gz
eclipse-rcp-2025-03-R-macosx-cocoa-x86_64.dmg
eclipse-rcp-2025-03-R-macosx-cocoa-aarch64.dmg
media:eclipse-2025-03-selections.png
Windows,Linux and Cocoa versions are stored at \\nx3000\openarbor\Downloads\Eclipse\2025-03-R
Java 21 JDK https://www.oracle.com/java/technologies/downloads/
https://www.oracle.com/java/technologies/downloads/#java21
n/a 21 jdk-21_windows-x64_bin.zip
jdk-21_linux-x64_bin.tar.gz
jdk-21_linux-aarch64_bin.tar.gz
jdk-21_macos-x64_bin.tar.gz
jdk-21_macos-aarch64_bin.tar.gz
Note: no aarch64 for Windows is available for download
The OA Makefile requires these to be in a zip file. Convert to zip
The files are stored here: \\nx3000\openarbor\Downloads\Eclipse\2025-03-R\Linux
\\nx3000\openarbor\Downloads\Eclipse\2025-03-R\Windows
Java 21 JRE https://www.oracle.com/java/technologies/javase/21u-relnotes.html n/a Release Notes
Maven http://maven.apache.org/ https://maven.apache.org/download.cgi 3.9.9 apache-maven-3.9.9-bin.zip
apache-maven-3.9.9-src.zip
apache-maven-3.9.9-bin.tar.gz
apache-maven-3.9.9-src.tar.gz
Copy this file to the BuildResources directory. It is the maven tool installation (mvn) used by our Makefile to build the RCPs and plugins.
The files are stored here:
\\nx3000\openarbor\Downloads\Eclipse\2025-03-R\Linux\x64
\\nx3000\openarbor\Downloads\Eclipse\2025-03-R\Windows\x64
CDT 12.0.0 for Eclipse 2025-03-R https://projects.eclipse.org/projects/tools.cdt
http://www.eclipse.org/cdt/
https://download.eclipse.org/tools/cdt/releases/12.0/ 12.0.0 Use Eclipse Marketplace and search for CDT, and install it
In pom.xml, use: https://download.eclipse.org/tools/cdt/releases/12.0/
SWTBot https://projects.eclipse.org/projects/technology.swtbot https://download.eclipse.org/technology/swtbot/releases/latest/
https://marketplace.eclipse.org/content/swtbot
4.2.1 repository.zip Use the update site to install
Apache Commons Net http://www.apache.org/ https://download.eclipse.org/staging/2025-03
https://download.eclipse.org/staging/2025-03/buildInfo/archive/download.eclipse.org/staging/2025-03/index/org.apache.commons.commons-net_3.11.1.html
3.11.1 org.apache.commons.commons-net_3.11.1.jar Copy org.apache.commons.commons-net_3.11.1.jar to the /Eclipse/2025-03-R/eclipse/plugins
Subclipse https://github.com/subclipse/subclipse/wiki https://subclipse.github.io/updates/subclipse/4.3.x/ 4.3.4
E4 https://www.vogella.com/tutorials/EclipseRCP/article.html https://download.eclipse.org/releases/2025-03/
tycho https://projects.eclipse.org/projects/technology.tycho 4.0.12 Used to update the top-level pom.xml file, and build-utils/generate_build_numbers.py

Installation Choices

CDT Installation Choices




SWTBot Installation Choices

Subclipse Installation Choices

E4 Installation Choices

Creating Java JDK and JRE Zip/Tar Files

With the changes implemented for DDCI_PCR:3525, the dev kit is based on 64bit Eclipse, and the 64bit java compiler is used to build the plugins. Eclipse 2019-R-12+ no longer supports 32bit.

2025-03-R requires Java 21+ which no longer provides a JRE.

  1. JDK = Installed in C:\Eclipse\2025-03-R\windows\eclipse\jre (confusing, I know but the jdk is installed here for plugin development) Also used by mvn when building OpenArbor from the Makefile.

The OpenArbor Makefile requires that the JDK be in a zip file format. To convert what is downloaded from Oracle to the required zip (or tar) file for OpenArbor's Makefile, do the following:

Linux

Java JDK

  1. https://www.geeksforgeeks.org/tar-command-linux-examples/

64bit Java JDK:

  1. Copy the Java JDK tar file that was downloaded (jdk-21_linux-x64_bin.tar.gz) to a location on the ubuntu vm (/home/lcj/JavaJDK)
  2. Using tar, extract the contents to /home/lcj/JavaJDK/jdk-21.0.7
  3. tar xvfz jdk-21_linux-x64_bin.tar.gz
  4. Using tar, compress the contents of the resulting installation at : /home/lcj/JavaJDK/jdk21.0.7
  5. Name the resulting zip file: jdk-21_linux-x64.tar.gz
  6. cd /home/<username>/Java/jdk21.0.7
  7. tar cvzf jdk-21.0.7_linux-x64.tar.gz *
  8. sudo cp /mnt/sf_Downloads/Eclipse/2025-03-R/Linux

Clean up any temporary files/folders. It is not required that the Java JDK be installed on your system.

Windows

Java JDK

64bit Java JDK:

  1. Run the Java JDK installer executable that was downloaded (jdk-21_windows-x64_bin.zip)
  2. Using 7zip, zip up the contents of the resulting installation at : C:\Program Files\Java\jdk21\jdk-21.0.7
  3. Name the resulting zip file: jdk-21.0.7_windows-x64_bin.zip
  4. Copy the .zip into \\nx3000\openarbor\Downloads\Eclipse\2025-03-R\Windows

Clean up any temporary files/folders. It is not required that the Java JDK be installed on your system.

Release Java for Distribution

With the changes implemented for DDCI_PCR:4107, the OpenArbor distribution is not longer providing the Java JDK or Flexnet files. The JDKs for release to customers is done by including them in the openarbor-product/jre package on our ftp server.

In deosftp:pub/openarbor-products/jre, create a versioned directory for the jdks (e.g. 21.0.7)

  1. ssh -l deosftp deos.ddci.com -p 47734
  2. cd /ftp/pub/openarbor-products/jre
  3. mkdir 21.0.7
  4. rm unreleased
  5. ln -s 21.0.7 unreleased
  6. exit

Copy the newly created jre zip/tar files to the jre package:

  1. deos2cygwin.py will fail if the files aren't named exactly as below!
  2. scp -P47734 jdk-21.0.7_linux-x64.tar.gz deosftp@deos.ddci.com:pub/openarbor-products/jre/21.0.7/
  3. scp -P47734 jdk-21.0.7_windows-x64_bin.zip deosftp@deos.ddci.com:pub/openarbor-products/jre/21.0.7/

Once the new version of eclipse has been tested and thoroughly implemented using this version of Java, transistion it to stable.

Flexnet Supporting Executables

Linux

See this wikiFlexnet_64_Bit_License_Vendor_Daemon_Development_(Ubuntu) to build FLEXnet items for a DDS release.
Tar up the following files to flexnet-linux-<n>.0.zip:

  1. checkout_11_19_1_Feature
  2. lmborrow (symbolic link to lmutil)
  3. lmutil
  4. lmstat

Windows (Cygwin)

See this wikiFlexnet_64_Bit_License_Vendor_Daemon_Development to build FLEXnet items for a DDS release.
Zip up the following files to flexnet-windows-<n>.0.zip:

  1. checkout_10_1_3_Feature.exe
  2. checkout_10_8_Feature.exe
  3. checkout_11_19_2_Feature.exe
  4. lmborrow.exe
  5. lmstat.exe

Release new Flexnet Supporting Executables for Distribution

With the changes implemented for DDCI_PCR:4107, the OpenArbor distribution is not longer providing the Java JRE or Flexnet files. The Flexnet content for release to customers is done by including them in the openarbor-product/flexnet package on our ftp server.

  1. Open a terminal and do the following
  2. ssh -l deosftp deos.ddci.com -p 47734
  3. ./disableBuild.sh lcj
  4. cd pub/openarbor-products/flexnet

In deosftp:pub/openarbor-products/flexnet, create a versioned directory for the flexnet zip files (e.g. 1.0)

  1. mkdir 1.0
  2. rm stable
  3. ln -s 1.0 stable
  1. Open a second terminal and to the following:

Copy the newly created flexnet zip files to the flexnet package:

  1. cd to the location of the zip file to be uploaded to the server
  2. rsync flexnet-windows-1.0.zip deosftp:pub/openarbor-products/flexnet/1.0/
  3. rsync flexnet-linux-1.0.zip deosftp:pub/openarbor-products/flexnet/1.0/
  4. ftp password is here: https://deos.ddci.com/scm/Deos/maintainer-tools/admin/passwords
  1. cd /ftp
  2. cd deos2cygwin
  3. ./deos2cygwin.py
  4. cd ..
  5. rm ~/deos2cygwin_build_failed

Install Eclipse and Add 3rd Party Plugins

To build the OpenArbor plugins, the Eclipse development environment must have all the required products/plugins it uses. The Eclipse for RCP and RAP Developers comes with most needed plugins, but not all.

Linux

Note: The tar files mentioned in 2.1, 4.1, and 5.1 will be on the nx3000 server. To locate them, cd to /mnt/sf_Downloads, and perform a search: find . -type f -name "*<sub-string from filename>*"

  1. Create a directory for the new Eclipse
    1. Using mkdir (from an ubuntu vm terminal) mkdir ~/eclipse/2025-03-R
  2. Extract the files from the Eclipse RCP zip/tar
    1. Using tar (from an ubuntu vm terminal), extract the files from the eclipse-rcp-2025-03-R-linux-gtk-x86_64.tar.gz file to the /Eclipse/2025-03-R directory.
      1. cd ~/eclipse/2025-03-R
      2. sudo tar xvfz eclipse-rcp-2025-03-R-linux-gtk-x86_64.tar.gz (to extract the 'eclipse' directory)
  3. Create a JRE folder in the 'eclipse' directory
    1. cd ~/eclipse/2025-03-R/eclipse
    2. mkdir jre
  4. Extract the contents of JDK tar/zip to JRE dir
    1. Using tar extract the contents of jdk-21.0.7_linux-x64.tar.gz (created by: Creating Java JDK and JRE Zip/Tar Files) to the jre directory created above
      1. sudo tar xvfz jdk-21.0.7_linux-x64.tar.gz
  5. Install apache by adding org.apache.commons.commons-net_3.11.1.jar to the ~/eclipse/2025-03-R/eclipse/plugins folder
    1. sudo cp /mnt/sf_Downloads/Eclipse/2025-03-R/org.apache.commons.commons-net_3.11.1.jar ~/eclipse/2025-03-R/eclipse/plugins
  6. Create a new milestone (i.e. 13.0.0) in the Bugzilla database. When upgrading eclipse, the major version for OA is increased. Use this milestone when creating/updating the PCR (DDCI_PCR:5403) for the feature branch in the next step.
  7. Create a feature branch of the OpenArbor workspace (ie. eclipse-2025-03-r)
  8. Checkout the created feature branch onto the local machine.
    1. svn co https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/eclipse-2025-03-r eclipse-2025-03-r
    2. OR svn up in the /home/<username>/ddci_eclipse/branches directory.
  9. Launch ~/eclipse/2025-03-R/eclipse/eclipse.
  10. When prompted to create a workspace, enter path /home/<username>/ddci_eclipse/workspace-eclipse-2025-03-r.
  11. Create the ddci-jre entry in Installed JREs
    1. Click Window | Preferences | Java | Installed JREs.
    2. Uncheck the 'Detect available JVM installations at startup'
    3. Remove any existing entries.
    4. Click 'Add'.
    5. Select 'Standard VM' as the JRE Type.
    6. Set in JRE Definition: JRE home=~/eclipse/2025-03-R/eclipse/jre, JRE name=ddci-jre
    7. Select 'Finish'.
    8. Select 'Apply and Close'.
  12. Use the "Help | Install New Software" Install dialog to install CDT, SWTBot, Subclipse and Eclipse e4. Use the Table to cut/paste update sites to the dialog for each product. Use the installation choices to properly install the third-party plugins.
  13. Restart Eclipse as required.
    1. When installing subclipse on Linux dev env, I ran into the problem "Failed to load JavaHL Library" documented here: https://myotragusbalearicus.wordpress.com/2011/11/25/subclipsesubversion-error-on-ubuntu-failed-to-load-javahl-library/
      1. To resolve the issue, I did the following:
      2. sudo apt-get install libsvn-java
      3. added to eclipse.ini: -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni (just after the last line beginning with '-D' after -vmargs)
  14. Import projects from /home/<username>/ddci_eclipse/branches/eclipse-2025-03-r into the workspace
  15. Update all java version numbers in the MANIFEST.MF
    1. Open com.ddci.deos.targetmanager -> META-INF -> MANIFEST.MF in the workspace
    2. Update all java version numbers, and check for any other warnings.
  16. Edit the .classpath file for the com.ddci.openarbor.application project to point to the new e4.ui.workbench jar provided by Eclipse.
    1. Open Window->Show View->Plugin-Registry.
    2. Find and expand org.eclipse.e4.ui.workbench. Right click and Copy the Location child.
    3. In the Project Explorer, expand com.ddci.openarbor.application.
    4. Right click on JRE System Library.
    5. Select Build Path -> Configure Build Path.
    6. Find Classpath in the table, and click on the Variable Entry beginning with 'ECLIPSE_HOME...'. Then select Edit.
    7. Update the path with: 'ECLIPSE_HOME/plugins/<jar name from the path you copied>'. (e.g. ECLIPSE_HOME/plugins/org.eclipse.e4.ui.workbench_1.17.0.v20250215-1931.jar)
    8. Select Apply and Close
  17. Edit the .classpath file for the com.ddci.common.ide project to include ~/eclipse/2025-03-R/eclipse/plugins/javax.xml_1.3.4.v201005080400.jar
    1. Right-click on com.ddci.common.ide
    2. Select Build Path -> Configure Build Path
    3. On the Libraries tab, select Classpath and click Add External JARS...
    4. Navigate to the plugins dir, and select javax.xml_1.3.4.v201005080400.jar
    5. Select Apply and Close
  18. Open the Plug-ins view and select all plug-ins. Deselect plug-in beginning with 'com.github.jnr.jffi.native...'. Right-click -> "Add to Java Workspace Scope"

Windows (Cygwin)

  1. Create a directory for the new Eclipse
    1. C:\Eclipse\2025-03-R\
  2. Extract the files from the Eclipse RCP zip/tar
    1. Using 7zip, extract the files from the eclipse-rcp-2025-03-R-win32-x86_64.zip file to the C:\Eclipse\2025-03-R\ directory.
  3. Create a desktop shortcut, called "2025-03-R OA Dev" to
    1. C:\Eclipse\2025-03-R\eclipse\eclipse.exe
      1. Target: C:\cygwin64\bin\run.exe /bin/python /desk/desk-environment.py C:\Eclipse\2025-03-R\eclipse\eclipse.exe
      2. Start in: C:\Eclipse\2025-03-R\eclipse
  4. Create a JRE folder in 2025-03-R
    1. cd 2025-03-R\eclipse
    2. mkdir jre
  5. Extract the contents of JDK tar/zip to JRE dir
    1. Using 7zip extract the contents of jdk-21.0.7-windows-x64_bin.zip (created by: Creating Java JDK and JRE Zip/Tar Files) to the jre directory created above
  6. Install apache by adding org.apache.commons.commons-net_3.11.1.jar to the /Eclipse/2025-03-R/eclipse/plugins folder
    1. Use Windows Explorer to copy //nx3000/OpenArbor/Downloads/Eclipse/2025-03-R/org.apache.commons.commons-net_3.11.1.jar to C:\Eclipse\2025-03-R\eclipse\plugins
  7. Create a new milestone (i.e. 13.0.0) in the Bugzilla database. When upgrading eclipse, the major version for OA is increased. Use this milestone when creating/updating the PCR (DDCI_PCR:5403)for the feature branch in the next step.
  8. Create a feature branch of the OpenArbor workspace (ie. eclipse-2025-03-r)
  9. Open Eclipse 2025-03-R on C:\ddci_eclipse\workspace-eclipse-2025-03-r
  10. Create the ddci-jre entry in Installed JREs
    1. Click Window | Preferences | Java | Installed JREs.
    2. Uncheck the 'Detect available JVM installations at startup'
    3. Remove any existing entries.
    4. Click 'Add'.
    5. Select 'Standard VM' as the JRE Type.
    6. Set in JRE Definition: JRE home=C:\Eclipse\2025-03-R\eclipse/jre, JRE name=ddci-jre
    7. Select 'Finish'.
    8. Select 'Apply and Close'.# Use the "Help | Install New Software" Install dialog to install CDT, SWTBot, Subclipse and the Eclipse e4. Use the Table to cut/paste update sites to the dialog for each product. Use the installation choices to properly install the third-party plugins.
  11. Restart Eclipse as required.
  12. Import the existing OpenArbor projects into the workspace
  13. Update all java version numbers in the MANIFEST.MF
    1. Open com.ddci.deos.targetmanager -> META-INF -> MANIFEST.MF in the workspace
    2. Update all java version numbers, and check for any other warnings.# Edit the .classpath file for the com.ddci.openarbor.application project to point to the new e4.ui.workbench jar provided by Eclipse.
    3. Open Window->Show View->Plugin-Registry.
    4. Find and expand org.eclipse.e4.ui.workbench. Right click and Copy the Location child.
    5. In the Project Explorer, expand com.ddci.openarbor.application.
    6. Right click on JRE System Library.
    7. Select Build Path -> Configure Build Path.
    8. Find Classpath in the table, and click on the Variable Entry beginning with 'ECLIPSE_HOME...'. Then select Edit.
    9. Update the path with: 'ECLIPSE_HOME/plugins/<jar name from the path you copied>'. (e.g. ECLIPSE_HOME/plugins/org.eclipse.e4.ui.workbench_1.17.0.v20250215-1931.jar)
    10. Select Apply and Close
  14. Edit the .classpath file for the com.ddci.common.ide project to include C:/Eclipse/2025-03-R/eclipse/plugins/javax.xml_1.3.4.v201005080400.jar
    1. Right-click on com.ddci.common.ide
    2. Select Build Path -> Configure Build Path
    3. On the Libraries tab, select Classpath and click Add External JARS...
    4. Navigate to the plugins dir, and select javax.xml_1.3.4.v201005080400.jar
    5. Select Apply and Close
  15. Open the Plug-ins view and select all plug-ins. Deselect plug-in beginning with 'com.github.jnr.jffi.native...'. Right-click -> "Add to Java Workspace Scope"

Development Environment Setup

  1. Linux only: create /home/<username>/oaTestHarness/workspace dir
    1. cd home
    2. mkdir oaTestHarness
    3. cd oaTestHarness
    4. mkdir workspace
  2. Define workpace preferences:
    1. Set Plugin Development -> API Baselines -> Missing API Baseline to Warning
    2. Java->Compiler->Errors/Warnings
      1. Potential Programming Problems->Serializable class without serialVersionUID: Ignore
      2. Unnecessary Code
        1. Value of method parameter is not used: Warning
      3. Null analysis
        1. Redundant null check: Warning
      4. Annotations->Missing '@Override' annotation: Warning
    3. Java->Code Style->Formatter->Import...
      1. Use this file: https://deos.ddci.com/svn/DDCI/products/openarbor/OpenArbor-formatting.xml (Located on nx3000 in /mnt/sf_Downloads dir)
    4. Check out (Preferences|Java|Editor|Save Actions) and enable it.
  3. Set the workspace to refresh automatically, and configure format source/organize imports to run on save
    1. Preferences > General > Workspace > Refresh On Access (aka Lightweight Refresh). Ensure it's checked.
  4. Disable automatic updates of Eclipse
    1. Preferences > Install/Update > Automatic Updates > Automatically find new updates and notify me Ensure it's unchecked
  5. Fix auto-props for both environments.
    1. In your desk maintainer environment, /etc/subversion/, edit the config file and change the line that says enable-auto-props = no to enable-auto-props = yes.
    2. In Eclipse, go to Preferences|Version Control (Team)|SVN and change the configuration location at the bottom to point to the /etc/subversion/ location of your maintainer environment.
  6. If Eclipse repeatedly asks for your password, and won't save it, try changing the SVN Interface: to SVNKit
    1. Windows | Preferences | Version Control (Team) | SVN
  7. Preferences ->Maven->Errors/Warnings
    1. Set "Plugin execution not covered by lifecycle configuration" to Warning (or Ignore)
  8. Configure any other preferences you want, then export them (see #Making preferences apply to all workspaces below).

Create Launch Configurations

Linux

Variables
  1. Window | Preferences | Run/Debug | String Substitution
  2. Add "username", the name of the user defined in the linux vm.
  3. Add "ddsName", the name of the dds you are using
  4. Add "oaTestHarnessWorkspace", the location of all test harness data, e.g. "/home/${username}/oaTestHarness/workspace"
  5. Add "ddsBranchName", the name of the svn branch being tested
  6. Add "ddsConfigName", the name of the dds configuration you are using
  7. Add "deosInstallDir", e.g. "/"
  8. Add "testSystemInvocation", the arguments the test system needs to run, e.g. "--installationRoot ${deosInstallDir} --branchRoot ${oaTestHarnessWorkspace}/branches/${ddsBranchName}"
    1. You may want to change the branchRoot, for example when you are working on a release branch, or to use your development checkout instead
  9. Add "testWorkspacePrefix", where the workspaces will be located, e.g. "${oaTestHarnessWorkspace}/ddses/${ddsName}"
  10. Add "deskRootLocation", the location of the desk maintainer env, e.g. "/" (used by test harness dev launch)
DDS Dev Launch
  1. Run->Debug Configurations...->Eclipse Application
    1. Name it DDS Dev Launch
    2. Main Tab
      1. Workspace Data: Location
        1. Use variables defined above to define workspace location - ${testWorkspacePrefix}/${ddsConfigName}/workspace
      2. Program to Run->Run a product: com.ddci.openarbor.application.product
    3. Arguments Tab
      1. Add vmargs: -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni -Dslf4j.provider=org.slf4j.helpers.NOP_FallbackServiceProvider
        1. (e.g. -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni -Dslf4j.provider=org.slf4j.helpers.NOP_FallbackServiceProvider)
    4. Plugins Tab
      1. Uncheck the "Validate Plug-ins automatically prior to launching
    5. Environment Tab
      1. Create two environment variables
        1. Name: DDCIINSTALLLOC
        2. Value: ${deosInstallDir}
        3. Name: DDCIFLEX_LICENSE_FILE
        4. Value: ${testWorkspacePrefix}/license.lic
DDS Launch Test Harness Launch
  1. Run->Debug Configurations...->Eclipse Application
    1. Name it DDS Launch Test Harness
    2. Main Tab
      1. Workspace Data: Location
        1. Use variables defined above to define workspace location - ${workspace_loc}/../runtime-New_configuration
      2. Program to Run->Run a product: com.ddci.dds.manager.product
    3. Arguments Tab
      1. At the end of the Program Arguments, add --deskRoot ${deskRootLocation} -clearPersistedState
      2. Add vmargs: -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
      3. (e.g. -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni)
    4. Environment Tab
      1. Create two environment variables
        1. Name: DDCIINSTALLLOC
        2. Value: ${deosInstallDir}
        3. Name: DDCIFLEX_LICENSE_FILE
        4. Value: ${testWorkspacePrefix}/license.lic
DDS Test Launch
  1. Run->Debug Configurations...->SWTBot Launch
    1. Name it DDS Test Launch
    2. Test Tab
      1. Change Test Runner: to JUnit4 <-- Important to do this first!
      2. Ensure radio button 'Run a Single Test' is selected.
      3. Project: com.ddci.openarbortests
      4. Test Class: com.ddci.openarbortests.Launcher
    3. Main Tab
      1. Workspace Data: Location
        1. Use variables defined above to define workspace location - ${testWorkspacePrefix}/${ddsConfigName}/workspace
      2. Uncheck the "Clear" button!
      3. Program to Run->Run a product: com.ddci.openarbor.application.product
    4. Arguments Tab
      1. Add ${testSystemInvocation} at the end of the Program arguments
      2. Add vmargs: -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
      3. (e.g. -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni)
    5. Plugins Tab
      1. Uncheck the "Validate Plug-ins automatically prior to launching
      2. There is an additional gotcha here involving the run/debug context menu. If you get "Failed to find menuitem &1 Debug Deos Executable in path &Debug As->&1 Debug Deos Executable" while testing you can solve it by: (1) enable all the plugins, then (2) deselect all the jpt, jst, and wst plugins, then (3) click add required.
    6. Environment Tab
      1. Create three environment variables
        1. Name: DDCIINSTALLLOC
        2. Value: ${deosInstallDir}
        3. Name: DDCIFLEX_LICENSE_FILE
        4. Value: ${testWorkspacePrefix}/license.lic
        5. Name: DEBUGGING
        6. Value: true
Export Run/Debug Launch Configurations
  1. sudo mkdir ~/eclipse/2025-03-R/eclipse/launches
  2. File->Export... the launch configurations and put them in ~/eclipse/2025-03-R/eclipse/launches

Windows (Cygwin)

Variables
  1. Window | Preferences | Run/Debug | String Substitution
  2. Add "ddsName", the name of the dds you are using
  3. Add "oaTestHarnessWorkspace", the location of all test harness data, e.g. "C:\oaTestHarness\workspace"
  4. Add "ddsBranchName", the name of the svn branch being tested
  5. Add "ddsConfigName", the name of the dds configuration you are using
  6. Add "deosInstallDir", e.g. "${oaTestHarnessWorkspace}\DDS-list\${ddsName}"
  7. Add "testSystemInvocation", the arguments the test system needs to run, e.g. "--installationRoot ${deosInstallDir} --branchRoot ${oaTestHarnessWorkspace}/branches/${ddsBranchName} --enableDebugLog --buildLog C:\TEMP\BuildLog.txt --mldCommandQueueLogger C:\TEMP\MldCommandQueueLog.txt"
    1. You may want to change the branchRoot, for example when you are working on a release branch, or to use your development checkout instead
  8. Add "testWorkspacePrefix", where the workspaces will be located, e.g. "${oaTestHarnessWorkspace}\ddses\${ddsName}"
  9. Add "deskRootLocation", the location of the desk maintainer env, e.g. "C:\cygwin64_2024" (used by test harness dev launch)
  10. In Windows, you should have a global environment variable pointing to your all products license file, named "DDCIFLEX_LICENSE_FILE", e.g. "C:\oaTestHarness\workspace\ddses\<ddsName>\License.lic"
DDS Dev Launch
  1. Run->Debug Configurations...->Eclipse Application
    1. Name it DDS Dev Launch
    2. Main Tab
      1. Workspace Data: Location
        1. Use variables defined above to define workspace location - ${testWorkspacePrefix}\${ddsConfigName}\workspace
      2. Program to Run->Run a product: com.ddci.openarbor.application.product
    3. Arguments Tab
      1. Add vmargs: -Dslf4j.provider=org.slf4j.helpers.NOP_FallbackServiceProvider
        1. (e.g. -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Dslf4j.provider=org.slf4j.helpers.NOP_FallbackServiceProvider)
    4. Plugins Tab
      1. Uncheck 'Validate Plug-ins automatically prior to launching"
    5. Environment Tab
      1. Create two environment variables
        1. Name: DDCIINSTALLLOC
        2. Value: ${deosInstallDir}
        3. Name: DDCIFLEX_LICENSE_FILE
        4. Value: ${testWorkspacePrefix}\license.lic
DDS Launch Test Harness Launch
  1. Run->Debug Configurations...->Eclipse Application
    1. Name it DDS Launch Test Harness
    2. Main Tab
      1. Workspace Data: Location
        1. Use variables defined above to define workspace location - ${workspace_loc}/../runtime-New_configuration
      2. Program to Run->Run a product: com.ddci.dds.manager.product
    3. Arguments Tab
      1. At the end of the arguments, add --deskRoot ${deskRootLocation} -clearPersistedState
    4. Plugins Tab
      1. Uncheck 'Validate Plug-ins automatically prior to launching"
DDS Test Launch
  1. Run->Debug Configurations...->SWTBot Launch
    1. Name it DDS Test Launch
    2. Test Tab
      1. Change Test Runner: to JUnit4 <-- Important to do this first!
      2. Ensure radio button 'Run a Single Test' is selected.
      3. Project: com.ddci.openarbortests
      4. Test Class: com.ddci.openarbortests.Launcher
    3. Main Tab
      1. Workspace Data: Location
        1. Use variables defined above to define workspace location - ${testWorkspacePrefix}\${ddsConfigName}\workspace
      2. Uncheck the "Clear" button!
      3. Program to Run->Run a product: com.ddci.openarbor.application.product
    4. Arguments Tab
      1. Add ${testSystemInvocation} at the end of the Program arguments
    5. Plugins Tab
      1. Uncheck 'Validate Plug-ins automatically prior to launching"
      2. There is an additional gotcha here involving the run/debug context menu. If you get "Failed to find menuitem &1 Debug Deos Executable in path &Debug As->&1 Debug Deos Executable" while testing you can solve it by: (1) enable all the plugins, then (2) deselect all the jpt, jst, and wst plugins, then (3) click add required.
    6. Environment Tab
      1. Create three environment variables
        1. Name: DDCIINSTALLLOC
        2. Value: ${deosInstallDir}
        3. Name: DDCIFLEX_LICENSE_FILE
        4. Value: ${testWorkspacePrefix}\license.lic
        5. Name: DEBUGGING
        6. Value: true
Export Run/Debug Launch Configurations
  1. Create directory C:\Eclipse\2025-03-R\eclipse\launches
  2. File->Export... the launch configurations and put them in C:\Eclipse\2025-03-R\eclipse\launches

Making preferences apply to all workspaces

Linux

  1. Configure all your preferences the way you want them.
  2. Export all preferences to a file named plugin_customization.ini (File -> Export. Select General -> Preferences)
  3. Hack the resulting ini to remove the /instance/ and /configuration/ prefix from all the property names.
  4. Remove the line containing \!/=
  5. Remove all lines beginning with '@' at the end of the file.
  6. Remove any recent workspaces
    1. org.eclipse.ui.ide/RECENT_WORKSPACES=
  7. Remove
org.eclipse.pde.core/workspace_target_handle=local\:1581019407152.target <- This causes the default Target Platform to disappear.
  1. Remove the svn line:
org.eclipse.team.ui/org.eclipse.team.ui.sychronizing_default_participant_sec_id=1746645858116
  1. Remove the svn line: org.tigris.subversion.subclipse.ui/pref_svnconfigdir=/etc/subversion
  2. If present, remove the lines:
org.tigris.subversion.subclipse.ui/pref_merge_provider=CollabNet Desktop
org.tigris.subversion.subclipse.ui/pref_svninterface=javahl
  1. Place plugin_customization.ini in the ~/eclipse/2025-03-R/eclipse directory.
  2. In ~/eclipse/2025-03-R/eclipse/eclipse.ini, just above the '--launcher.defaultAction' line, set the -pluginCustomization parameter to point to your plugin_customization.ini:
-pluginCustomization
~/eclipse/2025-03-R/eclipse/plugin_customization.ini
  1. In /home/scoretest/eclipse/2025-03-R/eclipse/eclipse.ini add:
--add-opens=java.base/java.lang=ALL-UNNAMED

Windows (Cygwin)

  1. Configure all your preferences the way you want them.
  2. Export all preferences to a file named plugin_customization.ini (File -> Export. Select General -> Preferences)
  3. Hack the resulting ini to remove the /instance/ and /configuration/ prefix from all the property names.
  4. Remove the line containing \!/=
  5. Remove all lines beginning with '@' at the end of the file.
  6. Remove any recent workspaces
org.eclipse.ui.ide/RECENT_WORKSPACES=
  1. Remove the line
org.eclipse.pde.core/workspace_target_handle=local\:1581019407152.target <- This causes the default Target Platform to disappear.
  1. Remove the svn line:
org.eclipse.team.ui/org.eclipse.team.ui.sychronizing_default_participant_sec_id=1746645858116
  1. Remove the svn line: org.tigris.subversion.subclipse.ui/pref_svnconfigdir=/etc/subversion
  2. If present, remove the lines:
org.tigris.subversion.subclipse.ui/pref_merge_provider=CollabNet Desktop
  1. Place plugin_customization.ini in the C:\Eclipse\2025-03-R\eclipse directory.
  2. In C:\Eclipse\2025-03-R\eclipse\eclipse.ini, just above the '--launcher.defaultAction' line, set the -pluginCustomization parameter to point to your plugin_customization.ini:
-pluginCustomization
C:\Eclipse\2025-03-R\eclipse\plugin_customization.ini
  1. In C:\Eclipse\2025-03-R\eclipse\eclipse.ini add:
--add-opens=java.base/java.lang=ALL-UNNAMED

At this point there will likely be build errors that you will need to figure out how to resolve. Once all the build errors are resolved and you can successfully launch a new OpenArbor from a self-hosted new Eclipse, you are ready to move on to build the plugins "headless"ly using the Makefile to produce a release.

Making the default workspace

Linux

Note: Creating the default workspace is the needed workaround to include the ddci-jre entry in Installed JREs. There is a preference for this, but it is currently broken in Eclipse.

  1. Create a new workspace (e.g. default-workspace-2025-03-R)
  2. Import the launch configurations
    1. File -> Import -> Run/Debug -> Launch Configurations
    2. Open ~/eclipse/2025-03-R/eclipse/launches
  3. Create the ddci-jre entry in Installed JREs
    1. Click Window | Preferences | Java | Installed JREs.
    2. Uncheck the 'Detect available JVM installations at startup'
    3. Remove any existing entries.
    4. Click 'Add'.
    5. Select 'Standard VM' as the JRE Type.
    6. Set in JRE Definition: JRE home=~/eclipse/2025-03-R/eclipse/jre, JRE name=ddci-jre
    7. Select 'Finish'.
    8. Select 'Apply and Close'.
  4. Delete the SavedExternalsPluginsList.txt and the associated cache file. This ensures the file paths are correct in these files when they are regenerated.
    1. Remove the SavedExternalPluginList.txt. e.g. sudo rm ~/eclipse/2025-03-R/default-workspace-2025-03-R/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt
    2. Delete the cache file containing the line '<home-dir>/.eclipse/org.eclipse.platform_4.35.0_624075861_linux_gtk_x86_64/configuration'. You can grep for the <home-dir> to find the file, the file name will be '<a string of numbers>.target' e.g. : sudo rm ~/eclipse/2025-03-R/default-workspace-2025-03-R/.metadata/.metadata/.plugins/org.eclipse.pde.core/.local_targets/<a string of numbers>.target

Windows (Cygwin)

Note: Creating the default workspace is the needed workaround to include the ddci-jre entry in Installed JREs. There is a preference for this, but it is currently broken in Eclipse.

  1. Create a new workspace (e.g. default-workspace-2025-03-R)
  2. Import the launch configurations
    1. File -> Import -> Run/Debug -> Launch Configurations
    2. Open C:\Eclipse\2025-03-R\eclipse\launches
  3. Create the ddci-jre entry in Installed JREs
    1. Click Window | Preferences | Java | Installed JREs.
    2. Uncheck the 'Detect available JVM installations at startup'
    3. Remove any existing entries.
    4. Click 'Add'.
    5. Select 'Standard VM' as the JRE Type.
    6. Set in JRE Definition: JRE home=C:\Eclipse\2025-03-R\eclipse\jre, JRE name=ddci-jre
    7. Select 'Finish'.
    8. Select 'Apply and Close'.

Making the Dev Kit

IMPORTANT

Important Note!!
Eclipse 2025-03-R ships with a new plugin for XML called Wild Web Developer. (https://projects.eclipse.org/proposals/eclipse-wild-web-developer) In our RCP, we use the Eclipse Web Tools Platform for our XML support, and these two do not work together. (https://github.com/eclipse/wildwebdeveloper/issues/557). So, to solve this problem we've removed the new Wild Web Developer plugin from our RCP, and will continue to use the Web Tools platform. To remove it, the plugins 'org.eclipse.wildwebdeveloper.embedder.node_1.0.7.202411181924.jar' and 'org.eclipse.wildwebdeveloper.xml_1.3.6.202409052135.jar' are removed from the installed Eclipse plugin directory prior to making the Dev Kit, and removed from the maven repo.

Linux

  1. Delete all plugins/projects in the Project Explorer
  2. Close Eclipse.
  3. Clear the list of recent workspaces.
    1. ~/eclipse/2025-03-R/eclipse/configuration/.settings/org.eclipse.ui.ide.prefs (has list of recent workspaces)
    2. Remove all listed values on line 'RECENT_WORKSPACES='
  4. Delete the workspace history.
    1. In ~/eclipse/2025-03-R/eclipse/configuration/config.ini, delete the line for osgi.instance.area.default. This is the last used workspace that Eclipse suggests when it prompts for a workspace.
  5. Ensure ownership is set to scoretest (only applies to linux machines, not wsl).
    1. sudo chown -R scoretest:eng ~/eclipse/2025-03-R/
  6. To make the devkit, tar up Eclipse installation.
    1. cd ~/eclipse
    2. tar cvzf oadevkit_linux_noble_2025-03_R.tar.gz 2025-03-R/
  7. Put new devkit here: \\nx3000\openarbor\downloads\oadevkit_linux_noble_2025-03_R.tar.gz
    1. copy the dev kit to the shared drive: (vm -> downloads dir)
    2. sudo cp oadevkit_linux_noble_2025-03_R.tar.gz /mnt/sf_Downloads

WSL

  1. Delete all plugins/projects in the Project Explorer
  2. Close Eclipse.
  3. Clear the list of recent workspaces.
    1. ~/eclipse/2025-03-R/eclipse/configuration/.settings/org.eclipse.ui.ide.prefs (has list of recent workspaces)
    2. Remove all listed values on line 'RECENT_WORKSPACES='
  4. Delete the workspace history.
    1. In ~/eclipse/2025-03-R/eclipse/configuration/config.ini, delete the line for osgi.instance.area.default. This is the last used workspace that Eclipse suggests when it prompts for a workspace.
  5. To make the devkit, tar up Eclipse installation.
    1. cd ~/eclipse
    2. tar cvzf oadevkit_wsl_noble_2025-03_R.tar.gz 2025-03-R/
  6. Put new devkit here: \\nx3000\openarbor\downloads\oadevkit_wsl_noble_2025-03_R.tar.gz
    1. copy the dev kit to the shared drive: (vm -> downloads dir)
    2. sudo cp oadevkit_linux_wsl_2025-03_R.tar.gz /mnt/sf_Downloads

Cygwin

  1. Delete all plugins/projects in the Project Explorer
  2. Close Eclipse.
  3. Clear the list of recent workspaces.
    1. C:\Eclipse\2025-03-R\eclipse\configuration\.settings\org.eclipse.ui.ide.prefs (has list of recent workspaces)
    2. Remove all listed values on line 'RECENT_WORKSPACES='
  4. Delete the workspace history.
    1. In C:\Eclipse\2025-03-R\eclipse\configuration\config.ini, delete the line for osgi.instance.area.default. This is the last used workspace that Eclipse suggests when it prompts for a workspace.
  5. To make the devkit, tar up Eclipse installation.
    1. cd C:\Eclipse
    2. Use 7-zip to include the 2025-03-R dir and it's contents.
  6. Put new devkit here: \\nx3000\openarbor\downloads\oadevkit_cygwin2024_2025-03_R.zip

Deploying the DevKit

Linux/WSL:
Follow the steps under OpenArbor_Development_Docker#Download and install Eclipse
Windows (Cygwin):

  1. Copy the oadevkit_cygwin2024_2025-03_R.zip from \\nx3000\openarbor\sf_Downloads into C:\Eclipse
  2. Extract it (this will create '2025-03-R' dir)
  3. Create a shortcut for OADev:
    1. Set Shortcut tab | Target: C:\cygwin64\bin\run.exe /bin/python /desk/desk-environment.py C:\Eclipse\2025-03-R\eclipse\eclipse.exe
    2. Click the 'Advanced' button, and set the 'Run as Administrator' permission.

Finally:

  1. Launch Eclipse using the ~/eclipse/2025-03-R/eclipse/eclipse.exe
  2. Import the launch configurations into the workspace
  3. Import the OA plugins (projects) into the workspace

Note: Some preferences may not be set by the plugin_customization.ini file. Ensure all preferences cited in OpenArbor_Maintenance_Upgrade_to_2025-03-R#Development Environment Setup are set correctly.

Building OA for Customer Delivery

The workspace/Makefile has targets for building and deploying OA. For details about the available build commands, look here: OpenArbor_Build_Windows and/or OpenArbor_Build_Linux
The tycho/maven build uses the information in the workspace/com/ddci.openarbor.product/com.ddci.openarbor.product.product file and the pom.xml file
there to determine what Eclipse plugins to include in the RCPs.

The workspace/build directory contains the resulting deployable OA. The downloads directory contains what is copied from BuildResources and then maven is installed.

We use tycho (which uses maven) to build the OpenArbor branded Eclipse RCPs (32bit and 64bit), and the OpenArbor plugins.

Make Command Description
make clean Removes the workspace/build directory.
make kindaclean Leaves the workspace/build/downloads directory, but removes everything else from workspace/build
make MAVEN_OFFLINE="" When the pom file(s) are updated to point to a new update site, running make with maven in online mode (MAVEN_OFFLINE="") will cause any new third-party plugins to be downloaded from the third-party tool's update site and be placed in the maven-repo/p2/osgi/bundle dir.
make mavenresolve This will instruct maven to resolve the dependencies of any plugins in the product.
  1. Make a new BuildResources directory in the branch: (Complete steps under 3.1.1 & 3.1.2) New Build Resources Directory
  2. In ~/ddci_eclipse/branches/eclipse-2025-03-r/workspace:
    1. Update the Makefile, pom.xml, and generate_build_numbers.py, about.properties (see DDCI_PCR:4852 for details about changes needed. There may be more changes required than seen in the PCR. Ensure all listed java versions are updated to the appropriate version in the Makefile and pom.xml.)
    2. Update the com.ddci.openarbor.product/com.ddci.openarbor.product.product file. Press the 'Add Required Plug-ins" button to include additional plugins for the new version of Eclipse. For any OS plugins showing errors, edit the product file on the OS and use the "Remove" and "Add Required Plug-in" button to determine if the plugin is required for this version of Eclipse.
    3. make clean
    4. make mavenresolve
    5. make MAVEN_OFFLINE=""

This will force the download of components (see note below):

  • In the maven-repo directory (ie workspace\build\downloads\maven-repo), and zip up everything except com/ddci and .timestamp. Name it appropriately (ie maven-repo-swtbotn.n.n.zip) and put it in https://deos.ddci.com/svn/DDCI/products/openarbor/BuildResources/<Eclipse Name (i.e. Eclipse_2025-03-R)>.
    • zip -r maven-repo-swtbot4.2.1.zip maven-repo/* -x "maven-repo/.timestamp" "maven-repo/com/ddci/*"
  • Update the makefile with the new repo name, if necessary.
  • In the maven tmp directory (ie workspace\build\downloads\tmp), and zip up the p2 directory. Name it appropriately (ie maven-tmp.zip) and put it in https://deos.ddci.com/svn/DDCI/products/openarbor/BuildResources/<Eclipse Name (i.e. Eclipse_2025-03-R)>.
    • zip -r maven_tmp.zip tmp/*

Note: You will likely need to execute the Makefile using the -MAVEN_OFFLINE="" at least once to force the download of any new plugins etc. By default, the Makefile is set to only download from the local maven repository in the BuildResources directory.

Tycho documentation:
https://eclipse.org/tycho
http://www.vogella.com/tutorials/EclipseTycho/article.html

Eclipse Update sites:
https://wiki.eclipse.org/Eclipse_Project_Update_Sites

Build Resources

To successfully build OpenArbor, the following files must exist in the https://deos.ddci.com/svn/DDCI/products/openarbor/BuildResources/<Eclipse Name (i.e. Eclipse_2025_03_R)>. directory used by the Makefile. A brief description of each file is in the table below, and more details about these files follow later in this document.

Filename Description
apache-maven-3.9.9-bin.zip
apache-maven-3.9.9-bin.tar.gz
Maven is the eclipse build mechanism
jdk-21.0.7_windows-x64_bin.zip
jdk-21.0.7_linux-x64.tar.gz
Java zip files, used for compiling plugins and the JDKs are shipped with the RCPs
maven_tmp.zip
maven-repo-swtbot4.2.1.zip
Maven repository (a.k.a. maven repo)
eclipse From /Eclipse/<2025-03-R>/eclipse/

The BuildResources directory has a lot more files in it than what is described above you say? You are right. All of the "other" files are remnants that are required by previous versions of OpenArbor. So, they are left here for good reason. If we ever need to go back to build a previous version of OpenArbor, all the required build resources files are here waiting.

New Build Resources Directory

  1. mkdir ~/BuildResources
  2. svn co https://deos.ddci.com/svn/DDCI/products/openarbor/BuildResources/ ~
  3. mkdir Eclipse_2025_03_R
  4. put files listed in the above table into the directory
  5. svn add Eclipse_2025_03_R(and it's contents)
  6. in the Eclipse_2025_03_R directory, set the ddci pcr-required properties:
    1. svn propset DDCI:pcr-required true *
  7. check in the new directory using the upgrade PCR

Deploy New Build Resources Directory

Once the new BuildResources directory is ready for daily use for OA builds, update the BuildResources "externals" directory to point to the new BuildResources directory for the new Eclipse version.

  1. cd to the location where you've checked out from svn https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/eclipse-2025-03-r/
  2. to see the existing externals definition: svn propget svn:externals BuildResources
  3. create t.t file containing: /svn/DDCI/products/openarbor/BuildResources/Eclipse_2025_03_R@head Eclipse_2025_03_R
  4. svn propset --file=t.t svn:externals BuildResources/
  5. svn up
  6. commit changes to propset using upgrade PCR

Note: If it's required to do OA builds against more than one Eclipse version, you can have a reference to more than one BuildResources directory by just specifying one per line
create t.t file containing:
/svn/DDCI/products/openarbor/BuildResources/Eclipse_2023_06_R@head Eclipse_2023_06_R
/svn/DDCI/products/openarbor/BuildResources/Eclipse_2025_03_R@head Eclipse_2025_03_R

Notes

Updating ALL the pom.xml files (and other files) for both the oaplugins and oatestharness should be done BEFORE making the maven-repo and maven tmp zip files.
Viewing the product file in an Eclipse development environment may display "errors" for the architecture specific files. DO NOT delete these files, they are needed for building the architecture specific RCP.

Building OA for Linux

From the ubuntu vm:

  1. make unreleased

This will copy the Linux RCP package to host laptop //nx3000/OAStage. Running make unreleased on windows (cygwin) will package both the linux and windows RCP up to the ftp server. This is a work-around for the installer's requirement that both linux and window's RCP's be in the openarborEclipse_64 package.

Using Linux VM

This section is just some notes I've kept doing various things on a vm.

Running a docker image

  1. ./run-docker -it --tty --mount=type=bind,source=/mnt,target=/mnt --rm dds-docker-celestial-deos-jupiter-20210809

Installing on Ubuntu Virtual Machine (vm)

Run a postinstall script

  1. sudo /etc/postinstall/openarbor-install-plugins.sh

Run a preremove script

  1. sudo /etc/preremove/openarbor-uninstall-plugins.sh

Setup for licensing

  1. edit /home/lisa/.bashrc to add the following line
  2. DDCIFLEX_LICENSE_FILE=/home/lisa/all_prods.lic; export DDCIFLEX_LICENSE_FILE

Launch OpenArbor

  1. open a new terminal
  2. /desk/desk-environment.py bash -i
  3. /bin/python /desk/desk-environment.py /OpenArbor/OpenArbor

To list all packages:

  1. dpkg-query -l

To list a specific package:

  1. dpkg-query -l <package name>
  2. apt-cache search rtems
  3. apt search rtems


To install OA on the vm:

  1. sudo apt-get install openarboreclipse-64
  2. sudo apt-get install openarborcommon

To force OA to reinstall on the vm:

  1. sudo apt-get install --reinstall openarboreclipse-64
  2. sudo apt-get install --reinstall openarborcommon

Build Test Harness

Go to the test harness development location

  1. make directory C:\ddci_eclipse_test_harness_dev
  2. cd to the above directory and use svn to checkout a fresh copy of: https://deos.ddci.com/svn/DDCI/products/openarbor/utils/dds-manager/dds-manager-e4/
    1. svn co --username=<username> --password=<password> --no-auth-cache https://deos.ddci.com/svn/DDCI/products/openarbor/utils/dds-manager/dds-manager-e4/ dds-manager

Update the svn externals directory.

  1. The dds-manager/BuildResources directory has an svn:external property set. To see the existing externals definition, move to the dds-manager dir, and run: svn propget svn:externals BuildResources
    1. create t.t file containing:/svn/DDCI/products/openarbor/BuildResources/Eclipse_2025_03_R@head Eclipse_2025_03_R
    2. svn propset --file=t.t svn:externals BuildResources/
    3. cd BuildResources/
    4. svn up
    5. commit changes to propset using upgrade PCR

Update the test harness workspace files

  1. open the default-workspace-2025-03-r created in 'Making the default workspace' as the "workspace"
  2. import the com.ddci.dds.manager project (located in dds-manager)
  3. import the Test Harness launch configuration from the C:\Eclipse\2023-03-R\launches dir
  4. review/fix any build errors and/or warnings.
  5. update BOTH pom.xml files for new tycho version, if applicable
  6. update AboutHandler.java to indicate the new Eclipse version
  7. edit the .product file (Add Required Plug-ins, Remove invalid ones)
  8. update the Makefile to reference new BuildResources\Eclipse_2023_03_R dir, new apache-maven zip, maven-repo, update Java version numbers, etc.
  9. commit changes using upgrade PCR
  10. make MAVEN_OFFLINE=""
  11. ./oatestharness