Date: 2004-12-28T05:32:51
   Editor: TorstenSchlabach
   Wiki: Cocoon Wiki
   Page: LoadInEclipse
   URL: http://wiki.apache.org/cocoon/LoadInEclipse

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -49,9 +49,39 @@
 
 ----
 
+=== Eclipse, its workspace and projects ===
+
+As silly as it sounds, but picking up an already existing project in Eclipse 
is not alway straigt forward, mostly because Eclipse offers a lot of options. 
Most of them are misleading for what we want to achieve here. But they are 
sitting on the menus ready to lead you in the wrong direction. As this is not 
really a in-depth Eclipse internals tutorial, let's keep a long story short.
+
+Eclipse keeps a .metadata directory in each workspace. In there it records the 
projects it knows about in the workspace. Therefore just extracting the Cocoon 
tarball into the Eclipse workspace will not make the project show up at all.
+
+The next logical step then would be to use the File -> Import option and 
select "Existing Project into Workspace". This might work somehow, but it 
leaves the project where it is. In other words, this is '''not''' a means to 
copy the extracted Cocoon source tree from a temporary location where you 
unpacked it into your workspace. It rather is a means of '''referencing''' a 
project outside the workspace. If you rely on keeping things together in your 
workspace(s) this is not what you want, either.
+
+The Cocoon build.xml file provides a target to create an Eclipse project 
(which means it will create the .project and .classpath files that Eclipse 
expects) but Eclipse does not know how about this target and will not call it 
no matter what import mechanism you use.
+
+So the best way to make the Cocoon source tree available in Eclise is:
+
+ * Extract the Cocoon tarball into the Eclipse workspace directory. This 
should create a folder $ECLIPSE_WORKSPACE/cocoon-x.y.z with the well known 
Cocoon source tree structure in it.
+ * From the command line of your os change the directory to 
$ECLIPSE_WORKSPACE/cocoon-x.y.z, set the JAVA_HOME environment variable if 
needed and run the command {{build eclipse-project}} (Windows) or {{./build.sh 
eclipse-project}} (*ix). Now you have two new files: .project and .classpath. 
Nothing else so far.
+ * In Eclipse, choose File -> New -> Project and select "Java Project". (This 
is not very logical as we already have an Eclipse Java project, don't we?)
+ * On the dialogue that comes up, make sure the option "Create Project in 
Workspace" is selected and enter the project name '''exactly''' as the name of 
the directory, for example {{cocoon-2.1.6}}.
+
+Once you do that, note the information that shows up in the bottom of the 
dialogue. (It will only show up if you name the project identical to the 
folder!) Hit finish and you are done. Cocoon is now a project in your Eclipse 
Workbench using the correct settings from the .classpath and .project files.
+
+''Note'': Eclipse considers it a feature that the project's name in the 
workspace can be different from the name on the file system. You can then refer 
to the project name instead of the filesystem name, for example when building 
project dependencies. But in Cocoon land this is causing more trouble than 
doing any good, therefore it is recommended to keep the project's name in the 
workspace and the directory name on the filesystem in sync.
+
+At this point, depending on your hardware, you might notice a lot of activity 
going on. This is because of Eclipse's habit to compile a .java file as soon as 
it sees one. This is the default setting for a new project and we did not yet 
have a chance to chance this. So either wait for it to finish (and ignore and 
warnings or errors) or interrupt the build process and then:
+
+ * make sure the Option ''Build Automatically'' from the ''Project'' menu is 
not marked.
+ * Chosse Project -> Clean (make sure you clean only your project and you do 
not run a build straight afterwards) to get rid of the classes that Eclipse 
just built.
+
+''Note'': Wouldn't it be possible to set these settings in the .project file 
so the build does not even start at all?
+
+Now you are finally ready to turn to the section about actually building 
Cocoon in Eclise!
+
 === Building Cocoon using Eclipse internal Ant ===
 
-{{{ broken at least for 2.1.5 and above, see above }}}
+{{{ broken at least for Cocoon versions => 2.1.5, see section above }}}
 
 Here are the required steps:
  *  run {{{build eclipse-project}}}: this creates the {{{.project}}} and 
{{{.classpath}}} files,
@@ -84,6 +114,12 @@
 
 ----
 
+I don't know where I should put that.
+
+TorstenSchlabach
+
+----
+
 I discovered one problem with IBM's WSAD under Linux. In the .project file the 
<name>project-name</name> should be the same as the path.
 For instance:
  *  <name>cocoon-2.1m3</name>
@@ -92,6 +128,27 @@
 GerhardFroehlich
 
 ----
+
+=== Building Cocoon in Eclipse using Cocoon's packaged Ant ===
+
+''Note'': This is kind of a workaround and it has not yet been fully 
researched what implications this approach has on the Eclipse way of doing 
things (especially on-the-fly compiling, automatic reloading of web 
applications what using a Tomcat plugin and the like). In fact what is 
described here is little more than a more convenient way of just browsing and 
editing the Cocoon source tree in Eclipse but keeping a command line window 
open to trigger the build from there. One important feature of this "external 
tools" approach is that Eclipse will do a refresh of the project after a build 
- if you don't forget to configure it!
+
+We assume $ECLIPSE_WORKSPACE is your Eclipse workspace here.
+
+Here are the required steps:
+ * 
+ *  run {{{build eclipse-project}}}: this creates the {{{.project}}} and 
{{{.classpath}}} files,
+ *  launch Eclipse,
+ *  open the "CVS repository exploring" perspective. This forces the loading 
of Eclipse's CVS plugin that will prevent the IDE being confused by CVS files 
present in your filesystem,
+ *  create a new Java project in Eclipse,
+ *  give it any name you want ("Cocoon" is a good choice !)
+ *  uncheck "use default" and browse to the location of your Cocoon checkout
+ *  click "Finish", wait a little bit and enjoy!
+
+For using CVS functionality provided by Eclipse you must do additional steps:
+ *  right click on the project icon, choose "Team" and "Share Project"
+ *  You might get a message about the currently-existing CVS directories, 
which is good. Click through and Eclipse will think a little more.
+ *  To perform CVS operations on files, right click on the file in Eclipse, 
and choose "Team". You should see Commit, Update, etc.
 
 === Running Cocoon Jetty from within Eclipse ===
 

Reply via email to