author | Deepak Modgil <Deepak.Modgil@Nokia.com> |
Fri, 03 Apr 2009 17:08:57 +0100 | |
changeset 0 | 20e4ed35fd3f |
permissions | -rw-r--r-- |
0
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2 |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
3 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
4 |
<head> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
5 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
6 |
<title>org.eclipse.emf.importer.java Read Me</title> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
7 |
</head> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
8 |
<body lang="EN-US"> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
9 |
<h3>Introduction</h3> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
10 |
<p>This document describes how you can use scripts to generate code from Annotated Java. The |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
11 |
script can be either a regular shell script that invokes <a href="#headlessApplication">Eclipse headless |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
12 |
applications</a> or an Ant script that invokes the <a href="#antTasks">task</a> provided by this plugin.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
13 |
|
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
14 |
<h3><a name="overallComments">Overall Comments</a></h3> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
15 |
<ul> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
16 |
<li>If you didn't extract this plugin from CVS, the "examples" directory mentioned |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
17 |
in this document is available in the EMF source plugin |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
18 |
(org.eclipse.emf.source_<i><version></i>/src/org.eclipse.emf.importer.java_<i><version></i>). |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
19 |
<br/><br/></li> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
20 |
<li>Before running your build scripts or the examples provided here, make sure you have the 2 |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
21 |
jar files required by this plugin ("importer.java.jar" and |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
22 |
"importer.java.tasks.jar") and also the 2 jar files required by the <tt>org.eclipse.emf.ant</tt> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
23 |
plugin ("emf.ant.jar" and "emf.ant.tasks.jar"). If necessary, Eclipse |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
24 |
can generate them for you. All you need to do is to run the Ant script created by PDE when you right click on the manifest file |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
25 |
and select "PDE Tools>Create Ant Build File". |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
26 |
<br/><br/></li> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
27 |
<li>The Annotated Java interfaces must be placed in a directory that corresponds to the source folder of an Eclipse Java Project. In other words, |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
28 |
the project's directory must contain all Eclipse's required "metadata" files, such as ".project" and ".classpath". |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
29 |
If the project doesn't already exist in the workspace, the application or task will create it. |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
30 |
<br/><br/></li> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
31 |
<li>In order to preserve the original state of this plugin's "examples" directory, you |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
32 |
should copy it to a different location and run the Ant scripts from there. |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
33 |
<br/><br/></li> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
34 |
<li>Starting a new JVM process and invoking Eclipse are expensive operations. Your build will |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
35 |
perform better if you are able to group the steps that require Eclipse in a few scripts |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
36 |
(one script would be ideal). This is probably a reason to use Ant instead of invoking the |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
37 |
applications - you can generate code for multiple models using one single Ant script. |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
38 |
<br/><br/></li> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
39 |
<li>The "examples/library" directory contains a set of Annotated Java interfaces, and shell and Ant scripts |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
40 |
to generate its code. |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
41 |
</li> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
42 |
</ul> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
43 |
|
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
44 |
<h3><a name="headlessApplication">Java and Generator Applications</a></h3> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
45 |
<p>The application provided by this plugin generates the ecore and genmodel files from models defined |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
46 |
using Java interfaces.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
47 |
<table border="1" cellpadding="2" cellspacing="0" |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
48 |
summary="Lists the details about the Java application."> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
49 |
<tr><td colspan="2">Java application details</td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
50 |
<tr><td>ID</td><td><tt>org.eclipse.emf.importer.ecore.Java2GenModel</tt></td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
51 |
<tr><td>Class</td><td><tt>org.eclipse.emf.importer.ecore.JavaImporterApplication</tt></td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
52 |
</table> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
53 |
<p>To generate the actual Java code you will need to use a second application, provided by |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
54 |
the "org.eclipse.emf.codegen.ecore" plugin.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
55 |
<table border="1" cellpadding="2" cellspacing="0" |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
56 |
summary="Lists the details about the Generator application."> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
57 |
<tr><td colspan="2">Generator application details</td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
58 |
<tr><td>ID</td><td><tt>org.eclipse.emf.codegen.ecore.Generator</tt></td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
59 |
<tr><td>Class</td><td><tt>org.eclipse.emf.codegen.ecore.Generator</tt></td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
60 |
</table> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
61 |
<p>In order to run these or any other Eclipse application, you need to execute the following |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
62 |
command (without the line breaks):</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
63 |
<p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
64 |
eclipse |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
65 |
<br/> -noSplash |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
66 |
<br/> -data <i><full path to a workspace - ideally an empty directory></i> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
67 |
<br/> -application <i><application ID></i> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
68 |
<br/> <i><application arguments></i> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
69 |
</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
70 |
<p>In Windows you should execute <i>eclipsec</i> instead of <i>eclipse</i> in order to have |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
71 |
access to the application's console output.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
72 |
<p>The directory "examples/library/build" has shell scripts that generate the code for |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
73 |
the Java interfaces provided. If you have any questions after reading and experimenting with it, look at the |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
74 |
applications's javadoc for more details. Also, check the application's class |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
75 |
"getUsage()" method for the list of possible arguments.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
76 |
|
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
77 |
|
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
78 |
<h3><a name="antTasks">Java Ant Task</a></h3> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
79 |
<p>The Java task details are:</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
80 |
<table border="1" cellpadding="2" cellspacing="0" |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
81 |
summary="Lists the details about the Java task."> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
82 |
<tr><td>Name</td><td><tt>emf.Java2Java</tt></td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
83 |
<tr><td>Class</td><td><tt>org.eclipse.emf.importer.ecore.taskdefs.JavaGeneratorTask</tt></td></tr> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
84 |
</table> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
85 |
<p>This is the usual command line to run an Ant script using a headless Eclipse instance (remove the line breaks):</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
86 |
<p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
87 |
eclipse |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
88 |
<br/> -noSplash |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
89 |
<br/> -data <i><full path to a workspace - ideally an empty directory></i> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
90 |
<br/> -application org.eclipse.ant.core.antRunner |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
91 |
<br/> -buildfile <i><full path to your script></i> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
92 |
</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
93 |
<p>In Windows you should execute <i>eclipsec</i> instead of <i>eclipse</i> in order to have |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
94 |
access to the Ant build script console output.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
95 |
<p>You can also use the Eclipse UI to execute an Ant script containing an EMF task. This can be |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
96 |
done by right-clicking the script and selecting |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
97 |
<i>Run As > Ant Build... > JRE > "Run in the same JRE as the workspace"</i>.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
98 |
<p>The directory "examples/library/build" has an Ant script that generate the code for |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
99 |
the model provided. The task's javadoc has lots of information you may find useful.</p> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
100 |
|
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
101 |
</body> |
20e4ed35fd3f
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
102 |
</html> |