Jump to: navigation, search

Difference between revisions of "JWT CVS"

m (Replacing page with ''''THIS INFORMATION IS OUTDATED! JWT IS NOW LOCATED ON SVN: JWT_SVN''' = See also = * [http://www.eclipse.org/jwt/ JWT Website]')
Line 1: Line 1:
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 [[JWT CVS#Detailed Layout of the CVS|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 [[Orbit_Faq#How_do_I_work_with_a_bundle_in_Orbit.3F|here]], with additional in depth information [[Easy Bake Builds with Orbit Bundles|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 :
[[Image: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 required 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 =
= See also =
* [http://www.eclipse.org/jwt/ JWT Website]
* [http://www.eclipse.org/jwt/ JWT Website]

Revision as of 08:17, 16 August 2010


See also