Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "RCPTT/Contribution Guide"

m
Line 52: Line 52:
  
 
=Target platform=
 
=Target platform=
Use target definition from releng/target-platforms project
+
Use target definition from build/org.eclipse.rcptt.targets
  
 
=Launching=
 
=Launching=
 +
Use product build/org.eclipse.rcptt.product/org.eclipse.rcptt.product to create initial launch configuration.
 +
Currently product definition lacks some required plugins, so you might have to hit "Add required" button on Plugins tab of created launch configuration.
  
 
+
==Launching issues==
Then try debug.
+
Launching issues
+
 
If you have error "java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM"
 
If you have error "java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM"
  
Line 68: Line 68:
 
     org.aspectj.weaver
 
     org.aspectj.weaver
  
Common launching problems
+
==Create RCPTT application under test==
Create RCPTT application under test
+
  
To create RCP-based AUT, you also need to add a set of plugins to configuration. Copy debug configuration "RCPTT" and rename it to "RCPTT AUT".
+
To create RCPTT attachable AUT, you also need to add a set of plug-ins to configuration.
  
Then change workspace data to another location.
+
* Copy debug configuration "RCPTT" and rename it to "RCPTT AUT".
 
+
* Change workspace data to another location.
Additionally, you need to set the following VM arguments:
+
* Set the following VM arguments: <pre>
-Xms128m -Xmx768m -XX:PermSize=128M -XX:MaxPermSize=192M -DteslaPort=7926 -DeclPort=5378 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
+
-Xms128m -Xmx768m -XX:PermSize=128M -XX:MaxPermSize=192M -DteslaPort=7926 -DeclPort=5378 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook</pre>
 
+
* Add the following plugins:
After that you need to add the following plugins:
+
**  org.eclipse.rcptt.ecl.platform plugin,
 
+
**    working set 'runtime' of RCPTT repo,
    org.eclipse.rcptt.ecl.platform plugin,
+
**    all plugins containing 'aspectj' from the target platform tree. Note that required plugin org.aspectj.weaver is not added automatically by dependency,
    add working set 'runtime' of RCPTT repo,
+
**    remove all plugins containing 'mylyn'.
    add all plugins containing 'aspectj' from the target platform tree. Note that required plugin org.aspectj.weaver is not added automatically by dependency,
+
** click 'Add required plug-ins' button.
    remove all plugins containing 'mylyn'.
+
** set Auto-start to true for the org.eclipse.equinox.weaving.aspectj plugin
 
+
Don't forget to click 'Add required plug-ins' button.
+
 
+
Also, set Auto-start to true for the org.eclipse.equinox.weaving.aspectj plugin:
+
 
+
Then try debug.
+
  
 
If RCPTT AUT start, you should return to RCPTT and import existing project into workspace of RCPTT, choose  rcptt/rcpttTests. Then click on rcpttTests > Run as > Run configurations > Remote application under tests > new:
 
If RCPTT AUT start, you should return to RCPTT and import existing project into workspace of RCPTT, choose  rcptt/rcpttTests. Then click on rcpttTests > Run as > Run configurations > Remote application under tests > new:
  
If all is well, you should see a green triangle in the AOT:
+
If all is well, you should see a green triangle on AUT item in Application view.
 
+
Create self RCPTT AUT
+
 
+
Copy "RCPT AUT" and rename it to "SELF RCPT AUT".
+
 
+
Then change workspace data to another location.
+
 
+
Additionally, you need to set the following VM arguments with different ports:
+
-Xms128m -Xmx768m -XX:PermSize=128M -XX:MaxPermSize=192M -DteslaPort=7927 -DeclPort=5379 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
+
 
+
If SELF RCPT AUT start, you should return to RCPTT AUT and import existing project into workspace of RCPTT, choose  rcptt/rcpttTests.
+
 
+
Then click on rcpttTests > Run as > Run configurations > Remote application under tests > new.
+
 
+
    Set name "selfQ7",
+
    Change ELC port to 5379 and Tesla port to 7927 and run.
+
  
Create configuration for testing not the RCPTT app itself
+
==Self RCPTT AUT==
  
If you are testing not the RCPTT app itself, copy "RCPT AUT" and rename it to "AUT APP". Then change workspace data to another location. Next, go to plugins:
+
* Copy "RCPT AUT" and rename it to "SELF RCPT AUT".
 +
* Change workspace data to another location.
 +
* Set the following VM arguments with different ports: <pre>
 +
-Xms128m -Xmx768m -XX:PermSize=128M -XX:MaxPermSize=192M -DteslaPort=7927 -DeclPort=5379 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook</pre>
 +
* In RCPTT IDE click on  Run as > Run configurations > Remote application under tests > new.
 +
**  Set name "selfQ7",
 +
** Change ELC port to 5379 and Tesla port to 7927 and run.
  
    remove all plugins that contain 'update' substring.
+
==Third-party AUT's==
    add 'org.eclipse.ui.ide.application' plugin
+
    add all plugins containing 'aspectj' from the target platform tree. Note that required plugin org.aspectj.weaver is not added automatically by dependency.
+
    add org.eclipse.rcptt.ecl.interop, 'org.eclipse.rcptt.ecl.operations' and 'org.eclipse.rcptt.ecl.filesystem' plugins
+
    add org.eclipse.rcptt.updates.runtime
+
  
Don't forget to click 'Add required plug-ins' button.
+
* Copy "RCPTT AUT" and rename it to "AUT APP".
 +
* Change workspace data to another location.
 +
* On plugins tab:
 +
** remove all plugins that contain 'update' substring.
 +
**    add 'org.eclipse.ui.ide.application' plugin
 +
**    add all plugins containing 'aspectj' from the target platform tree. Note that required plugin org.aspectj.weaver is not added automatically by dependency.
 +
**    add org.eclipse.rcptt.ecl.interop, 'org.eclipse.rcptt.ecl.operations' and 'org.eclipse.rcptt.ecl.filesystem' plugins
 +
**    add org.eclipse.rcptt.updates.runtime
 +
** click 'Add required plug-ins' button.

Revision as of 06:56, 3 December 2014

Prerequisites

  • Oracle JDK 1.7

Source

git clone ssh://<your_username>@cvs.xored.com/git/rcptt

See also https://git.eclipse.org/c/rcptt/org.eclipse.rcptt.git/

Git configuration

Use these commands in your Git Bash / Terminal window:

$ git config --global user.name "<Your Full Name here>"
$ git config --global user.email "<username>@xored.com"
 
$ git config --global core.autocrlf true    # on Windows, or
$ git config --global core.autocrlf input   # on Mac; see [https://help.github.com/articles/dealing-with-line-endings] for details
 
$ git config --global branch.autosetuprebase always   # [http://stevenharman.net/git-pull-with-automatic-rebase] for details
 
$ git config --global color.ui true   # colorful Git output in Mac's Terminal (don't need it on Windows, as Git Bash is already colorful)

Eclipse PDE

Install Eclipse Luna IDE for Eclipse Committers form https://www.eclipse.org/downloads/

Install features from repos:

Formatter

Once you imported the projects, you should import formatter settings:

  • open Preferences window, go to Java -> Code Style -> Formatter
  • import formatter.xml profile from rcptt working directory
  • go to Java -> Editor -> Save Actions
  • select Format source code (Format edited lines) and Organize imports
  • set Window/Preferences/General/Workspace/Encoding to utf-8
  • set Window/Preferences/General/Workspace/Line delimiter to Unix

Workspace layout

Import projects into workspace (it is recommended to create a java working set per repository).

For this, add "Git" perspective, then switch to git perspective and click to rcptt > Working Directory > Import projects > Import existing project > add project to working set > select. Next, create the desired working sets.

Main RCPTT working sets:

   ecl: /ecl
   core: /core
   launching: /launching
   runtime: /runtime, /testing/org.eclipse.rcptt.testing.ecl
   ide: /rcp
   watson: /watson
   build: /repository/full, /releng/target-platforms

Target platform

Use target definition from build/org.eclipse.rcptt.targets

Launching

Use product build/org.eclipse.rcptt.product/org.eclipse.rcptt.product to create initial launch configuration. Currently product definition lacks some required plugins, so you might have to hit "Add required" button on Plugins tab of created launch configuration.

Launching issues

If you have error "java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM"

Sometimes, when product is not used to create launch configuration or due to target platform updates, selected plug-ins are lost from launch configuration. When you restore them, take a note that following plug-ins are required (by RCPTT launchers) but are not covered by direct dependencies:

   org.eclipse.equinox.p2.touchpoint.natives
   org.eclipse.equinox.ds
   org.eclipse.equinox.p2.transport.ecf
   org.aspectj.weaver

Create RCPTT application under test

To create RCPTT attachable AUT, you also need to add a set of plug-ins to configuration.

  • Copy debug configuration "RCPTT" and rename it to "RCPTT AUT".
  • Change workspace data to another location.
  • Set the following VM arguments:
-Xms128m -Xmx768m -XX:PermSize=128M -XX:MaxPermSize=192M -DteslaPort=7926 -DeclPort=5378 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
  • Add the following plugins:
    • org.eclipse.rcptt.ecl.platform plugin,
    • working set 'runtime' of RCPTT repo,
    • all plugins containing 'aspectj' from the target platform tree. Note that required plugin org.aspectj.weaver is not added automatically by dependency,
    • remove all plugins containing 'mylyn'.
    • click 'Add required plug-ins' button.
    • set Auto-start to true for the org.eclipse.equinox.weaving.aspectj plugin

If RCPTT AUT start, you should return to RCPTT and import existing project into workspace of RCPTT, choose rcptt/rcpttTests. Then click on rcpttTests > Run as > Run configurations > Remote application under tests > new:

If all is well, you should see a green triangle on AUT item in Application view.

Self RCPTT AUT

  • Copy "RCPT AUT" and rename it to "SELF RCPT AUT".
  • Change workspace data to another location.
  • Set the following VM arguments with different ports:
-Xms128m -Xmx768m -XX:PermSize=128M -XX:MaxPermSize=192M -DteslaPort=7927 -DeclPort=5379 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
  • In RCPTT IDE click on Run as > Run configurations > Remote application under tests > new.
    • Set name "selfQ7",
    • Change ELC port to 5379 and Tesla port to 7927 and run.

Third-party AUT's

  • Copy "RCPTT AUT" and rename it to "AUT APP".
  • Change workspace data to another location.
  • On plugins tab:
    • remove all plugins that contain 'update' substring.
    • add 'org.eclipse.ui.ide.application' plugin
    • add all plugins containing 'aspectj' from the target platform tree. Note that required plugin org.aspectj.weaver is not added automatically by dependency.
    • add org.eclipse.rcptt.ecl.interop, 'org.eclipse.rcptt.ecl.operations' and 'org.eclipse.rcptt.ecl.filesystem' plugins
    • add org.eclipse.rcptt.updates.runtime
    • click 'Add required plug-ins' button.

Back to the top