Jump to: navigation, search

Difference between revisions of "JWT CVS"

(Orbit)
(n)
Line 32: Line 32:
 
Below is the easiest way to get an Eclipse environment with all dependencies for this JWT version.
 
Below is the easiest way to get an Eclipse environment with all dependencies for this JWT version.
  
==== Environment ====
+
=== Environment ===
 
Install ''Eclipse 3.5 (Helios) SDK r2'' and a '''Java Runtime Environment (JRE)''' / '''Java Development Kit (JDK) 5.0''' or higher.
 
Install ''Eclipse 3.5 (Helios) SDK r2'' and a '''Java Runtime Environment (JRE)''' / '''Java Development Kit (JDK) 5.0''' or higher.
  
==== Plugins ====
+
=== Plugins ===
 
Add the following plugins :
 
Add the following plugins :
 
* '''Eclipse Modeling Framework (EMF)'''
 
* '''Eclipse Modeling Framework (EMF)'''
Line 45: Line 45:
 
If you already have Eclipse installed, you can download those plugins from from your "Software updates" menu.
 
If you already have Eclipse installed, you can download those plugins from from your "Software updates" menu.
  
==== Orbit ====
+
=== Orbit ===
 
Add the following [[Orbit]] dependencies :
 
Add the following [[Orbit]] dependencies :
 
* '''org.apache.xalan''' 2.7.1
 
* '''org.apache.xalan''' 2.7.1
Line 58: Line 58:
 
* Tag:  normally HEAD (latest) should do the trick, otherwise use the appropriate corresponding to the dependency version above
 
* Tag:  normally HEAD (latest) should do the trick, otherwise use the appropriate corresponding to the dependency version above
  
== Get and build the Code ==
+
 
 +
== Start working with the code ==
 +
 
 +
=== Build the JWT Code ===
 
You need to retrieve the JWT source code by checking it out from CVS, as described above.
 
You need to retrieve the JWT source code by checking it out from CVS, as described above.
  
If you used an external CVS tool to check out the code, you need to import the source code into Eclipse as projects (in the Java Perspective, using right click > import existing projects).
+
If you used an external CVS tool to check out the codebase, you need to import the source code into Eclipse as projects (in the Java Perspective, using right click > import existing projects). Look below to know which projects are required to be imported.
  
 
The build will start automatically once you've imported the projects (thanks Eclipse !). If you've got all required dependencies (see above), once the build is finished, all projects should be built with no remaining error (red tags), like in the following picture :
 
The build will start automatically once you've imported the projects (thanks Eclipse !). If you've got all required dependencies (see above), once the build is finished, all projects should be built with no remaining error (red tags), like in the following picture :
Line 67: Line 70:
 
[[Image:Jwt dev workspace.png]]
 
[[Image:Jwt dev workspace.png]]
  
If you've got errors, they are usually about dependencies, or maybe you didn't import all JWT projects.
+
If you've got errors, they are usually about dependencies. Maybe you haven't imported enough JWT projects, or maybe you've imported "obsolete" parts of the CVS codebase. Again, look below to know which projects are required or obsolete in the codebase.
  
== Run the Plugins from Code ==
+
=== Run the JWT Plugins from Code ===
 
Right click on the ''jwt-we'' project and choose ''Run as'' > ''Eclipse application''.
 
Right click on the ''jwt-we'' project and choose ''Run as'' > ''Eclipse application''.
 
This will launch JWT-WE with all plugins that are available in the workspace. If Eclipse does not succeed to start or JWT-WE is not active, please ensure that all necessary plug-ins are configured to start with your projects. To do so, click on the arrow in the ''Run'' item in toolbar, and choose ''Run Configuration...''.
 
This will launch JWT-WE with all plugins that are available in the workspace. If Eclipse does not succeed to start or JWT-WE is not active, please ensure that all necessary plug-ins are configured to start with your projects. To do so, click on the arrow in the ''Run'' item in toolbar, and choose ''Run Configuration...''.
 +
 
Select/Create a run configuration (''Eclipse Application'') for JWT-WE and on the ''Plug-ins'' tab select all necessary plug-ins (in case you have doubt, select ''Add Required Plugins'').
 
Select/Create a run configuration (''Eclipse Application'') for JWT-WE and on the ''Plug-ins'' tab select all necessary plug-ins (in case you have doubt, select ''Add Required Plugins'').
 
Workflow Editor plugins (e.g. the ''Documentation Generator'' plugin) must also be enabled in order to be available at run time.
 
Workflow Editor plugins (e.g. the ''Documentation Generator'' plugin) must also be enabled in order to be available at run time.
 +
 
You can now use the ''Run'' item in the toolbar to start your new configuration.
 
You can now use the ''Run'' item in the toolbar to start your new configuration.
 +
 +
=== Debug JWT ===
 +
There are two alternatives.
 +
 +
1. (the most common) As a developer, you'll want to debug your code and the JWT code you build on. To do so, do as above but using ''Debug as'' > ''Eclipse Application'' rather than ''Run as''.
 +
 +
2.Sometimes, a JWT release (packaged in an Eclipse release, or a custom RCP release) will have a different behaviour than when started from workspace plugins as above. You can debug it using java remote debugging. To do so,
 +
* add to the startup executable (ex. "C:\eclipse\eclipse.exe") of the Eclipse + JWT installation you want to debug the following command line arguments :
 +
-consolelog -clean -debug -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
 +
* once started, connect your development Eclipse to it, by right-clicking on ''Debug as'', creating a new, properly configured ''Remote Java Application'' if requried and hitting "enter".
  
  

Revision as of 10:54, 11 May 2010

This site contains information about the dependencies of JWT's components, as well as a description on how to download the latest versions from the Eclipse CVS and the layout of the JWT CVS repositories.


Access the JWT Source Code

Browsing it online

You can browse the CVS repository online at http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jwt/?root=Technology_Project .

Donwload it

To download the latest source code of the various components of JWT, please connect your CVS client (typically Eclipse's CVS Browsing perspective) with:

  • Host: dev.eclipse.org
  • Repository path: /cvsroot/technology
  • User: anonymous
  • Password: (none)
  • Connection type: pserver

If you have a committer account, please provide your committer data (username and password) and select as connection type extssh instead of pserver.

Overview

In this CVS repository, the source code of JWT is under the "org.eclipse.jwt" directory, which you can retrieve by doing a CVS checkout. It is laid out as follow :

  • org.eclipse.jwt/we : Workflow Editor, i.e. design time tools
  • org.eclipse.jwt/wam : Workflow Audit And Monitoring, i.e. runtime time tools and framework
  • org.eclipse.jwt/desktop : Simulator and other standalone BPM tools

For a more detailed layout please refer to Detailed Layout of the CVS.


Requirements

Dependencies (for CVS HEAD as of May 2010 / JWT 0.7.0)

Below is the easiest way to get an Eclipse environment with all dependencies for this JWT version.

Environment

Install Eclipse 3.5 (Helios) SDK r2 and a Java Runtime Environment (JRE) / Java Development Kit (JDK) 5.0 or higher.

Plugins

Add the following plugins :

  • Eclipse Modeling Framework (EMF)
  • Graphical Edition Framework (GEF) and its Zest plugins (core and layout)
  • ATL - ATLAS Transformation Language

Those plugins' SDKs are optional but may be useful for developers.

If you already have Eclipse installed, you can download those plugins from from your "Software updates" menu.

Orbit

Add the following Orbit dependencies :

  • org.apache.xalan 2.7.1
  • org.jdom tag v200806100616 (?? TODO tag, still needed 20100506 ??)

To work with them in your workspace, follow the steps described here, with additional in depth information here.

In our case, simply check out in your workspace each module described above:

  • host: dev.eclipse.org
  • repository: /cvsroot/tools
  • module: org.eclipse.orbit/org.jdom
  • Tag: normally HEAD (latest) should do the trick, otherwise use the appropriate corresponding to the dependency version above


Start working with the code

Build the JWT Code

You need to retrieve the JWT source code by checking it out from CVS, as described above.

If you used an external CVS tool to check out the codebase, you need to import the source code into Eclipse as projects (in the Java Perspective, using right click > import existing projects). Look below to know which projects are required to be imported.

The build will start automatically once you've imported the projects (thanks Eclipse !). If you've got all required dependencies (see above), once the build is finished, all projects should be built with no remaining error (red tags), like in the following picture :

Jwt dev workspace.png

If you've got errors, they are usually about dependencies. Maybe you haven't imported enough JWT projects, or maybe you've imported "obsolete" parts of the CVS codebase. Again, look below to know which projects are required or obsolete in the codebase.

Run the JWT Plugins from Code

Right click on the jwt-we project and choose Run as > Eclipse application. This will launch JWT-WE with all plugins that are available in the workspace. If Eclipse does not succeed to start or JWT-WE is not active, please ensure that all necessary plug-ins are configured to start with your projects. To do so, click on the arrow in the Run item in toolbar, and choose Run Configuration....

Select/Create a run configuration (Eclipse Application) for JWT-WE and on the Plug-ins tab select all necessary plug-ins (in case you have doubt, select Add Required Plugins). Workflow Editor plugins (e.g. the Documentation Generator plugin) must also be enabled in order to be available at run time.

You can now use the Run item in the toolbar to start your new configuration.

Debug JWT

There are two alternatives.

1. (the most common) As a developer, you'll want to debug your code and the JWT code you build on. To do so, do as above but using Debug as > Eclipse Application rather than Run as.

2.Sometimes, a JWT release (packaged in an Eclipse release, or a custom RCP release) will have a different behaviour than when started from workspace plugins as above. You can debug it using java remote debugging. To do so,

  • add to the startup executable (ex. "C:\eclipse\eclipse.exe") of the Eclipse + JWT installation you want to debug the following command line arguments :
-consolelog -clean -debug -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
  • once started, connect your development Eclipse to it, by right-clicking on Debug as, creating a new, properly configured Remote Java Application if requried and hitting "enter".


Structure of CVS

  • All projects start with jwt.
  • Afterwards the main component is added jwt-we, jwt-transformation or jwt-wam.
  • If an example is visible in a specific area it is named jwt-we-XY-example (for an example using an extension point of the workflow editor).
  • The package structure is org.eclipse.jwt.component and for additional plugins org.eclipse.jwt.component.plugins.nameexample, e.g. org.eclipse.jwt.we.plugins.viewexample.
  • Versioning: It is always x.y.z where x and y are always consistent with the corresponding JWT version and z is reserved for the different versions of the plugin in one release, e.g. 0.4.1 for JWT release 0.4 and first change of this additional plugin.
  • In CVS there will be a main directory for each component jwt-we, jwt-transformation, jwt-wam and in these there is a subdirectory jwt-XY-plugins (e.g. we/jwt-we-plugins/) where all additional plugins can be found.


Detailed Layout of the CVS

metamodel

Contains everything related to the JWT metamodel

  • jwt-converter JWT metamodel converter (helps version migration) (REQUIRED)
  • jwt-converter-test
  • jwt-metamodel JWT EMF-based workflow metamodel (REQUIRED)

we

Contains everything related to the Workflow Editor

  • jwt-we The Workflow Editor (REQUIRED)

Aspect oriented metamodel extension : (RECOMMENDED)

  • jwt-we-conf-model Aspect oriented metamodel extension framework (no dependency to JWT)
  • jwt-we-conf-model.edit its management and property sheet UI (no dependency to JWT)
  • jwt-we-conf-model.editor its model editor, with helper tools (draft)
  • jwt-we-conf-model.editor-tests
  • jwt-we-conf-model.we Integration of the Aspect oriented metamodel extension framework in JWT
  • jwt-we-conf-property-model All-purpose property-like metamodel extension
  • jwt-we-conf-property-model.edit its property sheet UI

Plugins (OPTIONAL) :

  • jwt-we-plugins Plugins for the Workflow Editor
    • jwt-we-action-example An Example on how to add Menu/Toolbar Actions to the Workflow Editor
    • jwt-we-action-doc An Action for generating Documentations
    • jwt-we-view-example A Example on how to add Views to the Workflow Editor
    • jwt-we-view-uml A view that displays Processes as UML Activity Diagrams
    • jwt-we-helpers-application propertyDescriptors and changeListener to facilitate the modeling of an application
    • jwt-we-helpers-files propertyDescriptors and tools to replace TextArea by filesystem browser for files (icon, jarArchive)
    • jwt-we-sample-staticaspect(.edit) Sample showcasing static EMF metamodel extension
    • jwt-we-sample-registereddynamicaspect Sample showcasing dynamic EMF metamodel extension
    • jwt-we-sample-standalonedynamicaspect Sample showcasing dynamic EMF metamodel extension without a plugin
    • jwt-we-sample-aspectschildextender Sample showcasing EMF child extenders
    • jwt-we-sample-logging(.edit) Simple logging metamodel extension

Others :

  • jwt-view A Program for Creating and Modifying Workflow Editor Views
  • jwt-we-feature JWT-WE Feature (to be published on Update Site)
  • jwt-we-update-site Contents for Update-Site

transformations (RECOMMENDED)

  • jwt-transformation-base The base plug-in for any transformation. Provides UI
  • jwt-transformation-stub A sample plug-in that is based on jwt-transformation-base
  • jwt-transformation-xslt-tools Helpers for using XSLT to implement JWT transformations
  • jwt-transformation-xpdl JWT to XPDL transformation
  • jwt-transformation-xpdl-test Tests for JWT to XPDL transformation
  • jwt-transformation-jpdl JWT to jPDL transformation (incubation)
  • jwt-transformation-jpdl-test Tests for JWT to jPDL transformation (incubation)
  • jwt-transformation-bpmn jwt to bpmn transformation
  • jwt-transformation-bpmn-tests Tests for the jwt to bpmn transformation
  • jwt-transformation-properties Extraction of JWT properties into a .properties file
  • jwt-transformation-stpim Bridge with SOA Tool Platform (STP)'s Intermediate Model
  • jwt-transformation-stpim-test

wam

  • jwt-webservices Tools to introspect WSDL
  • jwt-runtime-api A workflow client API that is also used by monitoring plug-in at runtime to get informations from a workflow engine
  • jwt-monitoring A plug-in that provides tools to display a workflow state from a workflow engine into JWT
  • jwt-monitoring-tests


runtime

  • task-engine-framework Runtime API and framework to help integrating JWT with any workflow server


releng (for "release engineering")

JWT releases automated builds. See JWT Automatic Build for usage.

  • builder The builder utility: contains ant files and scripts to build and publish JWT
  • tester The tester utility: works only and is necessary for builder. Contains a set of files for automated testing
  • cbi-builder An experimental builder, based on the Common Build Infrastructure
  • jwt-feature The JWT feature to release => contains the list of plugins to include into the release
  • jwt-feature-branding The branding plugin for JWT feature
  • jwt-tests-feature The JWT test feature. It is not intended to be shipped or distributed, since it is only used for automated testing. It contains the list of all tests plugins that we want to test at build time
  • jwt-tests-plugin The master test plugin. It contains a plugin.xml wheich ocntains the list of all test plugins we want to run, and also a AllTest class that is the automated testing entry point test suite. Any test suite that wishes to be run at build time must be added to this TestSuite
  • jwt-ui-capabilities


See also