/rcp-ptolemy

A Simple Cross Platform Eclipse RCP Demo application. A ready to use playground for Java OOA/D and to practices programming coding skills.

Primary LanguageJavaGNU Lesser General Public License v3.0LGPL-3.0

Ptolemy - Eclipse RCP Demo Application

A Simple Cross Platform Eclipse RCP Demo application. A ready to use playground for Java OOA/D and to practices programming coding skills.

Where to start

Eclipse RCP application development is best supported with Eclipse IDE. Current version target platform is set to 2022/03, you can get your version of IDE here.

If Eclipse is not an option, you can still use a basic text editor and start playing with the demo using Maven.

git clone https://github.com/nabil/ptolemy.git && cd ptolemy
cd io.github.nabil.ptolemy.rcp.mvn-dependencies && mvn clean install && cd ..
mvn clean verify

The maven verify lifecyle phase will build three products version (Linux, MacOSX and Windows) under the application target products folder.

ls ./io.github.nabil.ptolemy.rcp.application/target/products/io.github.nabil.ptolemy.rcp.application.product

Once you start the application you will be prompted with a login dialog to setup the workbench.

JUnit and SWTBot Testing

To run the demo tests, simply run maven with skipTests=false and swtBotMode=true

mvn clean verify -DskipTests=false -DswtBotMode=true

For interactive SWTBot tests, just switch swtBotMode to false and ensure to enter values at the login screen.

Sonar

For Sonar Integration, ensure to sepcify the jacoco profile:

mvn clean verify sonar:sonar \
 -Pjacoco -Dsonar.projectKey=Ptolemy \
 -DskipTests=false \
 -DswtBotMode=true \
 -Dsonar.host.url=http://sonar-url:sonar-port \
 -Dsonar.login=YOUR_KEY \
 -Dsonar.coverage.jacoco.xmlReportPaths='.\\io.github.nabil.ptolemy.rcp.application\\target' \
 -Dsonar.junit.reportPaths='.\\io.github.nabil.ptolemy.rcp.application\\target\\surefire-reports\\*'

Disclaimer

This demo is provided with no encryption and is intended for eduction purpose only. The content of the save data is stored in clear in the json database file ptolemy.db in the workspace folder