You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2012/12/20 21:18:18 UTC

svn commit: r843267 - in /websites/production/camel/content: cache/main.pageCache groovy-dsl.html

Author: buildbot
Date: Thu Dec 20 20:18:18 2012
New Revision: 843267

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/groovy-dsl.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/groovy-dsl.html
==============================================================================
--- websites/production/camel/content/groovy-dsl.html (original)
+++ websites/production/camel/content/groovy-dsl.html Thu Dec 20 20:18:18 2012
@@ -75,7 +75,76 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"></div>
+<div class="wiki-content maincontent"><h3><a shape="rect" name="GroovyDSL-AbouttheGroovyDSL"></a>About the Groovy DSL</h3>
+
+<p>The Groovy DSL implementation is built on top of the existing Java-based <a shape="rect" href="dsl.html" title="DSL">DSL</a>, but it additionally allows to use Groovy language features in your routes, particularly <a shape="rect" class="external-link" href="http://groovy.codehaus.org/Closures" rel="nofollow">Closures</a> acting as <a shape="rect" href="processor.html" title="Processor">processor</a>, <a shape="rect" href="expression.html" title="Expression">expression</a>, <a shape="rect" href="predicate.html" title="Predicate">predicate</a>, or <a shape="rect" href="aggregator.html" title="Aggregator">aggregation strategy</a>.<br clear="none">
+With the Groovy DSL you write your RouteBuilder classes entirely in Groovy, while the <a shape="rect" href="scripting-languages.html" title="Scripting Languages">scripting component</a> allows to embed small scripts into Java routes. The Groovy DSL requires Groovy 2.0 or newer and is available as of <b>Camel 2.11</b>.</p>
+
+<h3><a shape="rect" name="GroovyDSL-Overview"></a>Overview</h3>
+
+<p>TODO</p>
+
+<h4><a shape="rect" name="GroovyDSL-UsingClosures"></a>Using Closures</h4>
+
+<h4><a shape="rect" name="GroovyDSL-UsingGroovyXMLprocessing"></a>Using Groovy XML processing</h4>
+
+<h4><a shape="rect" name="GroovyDSL-CustomDSLextensions"></a>Custom DSL extensions</h4>
+
+<h3><a shape="rect" name="GroovyDSL-DevelopingwiththeGroovyDSL"></a>Developing with the Groovy DSL</h3>
+
+<p>To be able to use the Groovy DSL in your camel routes you need to add the a dependency on <b>camel-groovy</b> which implements the Groovy DSL.</p>
+
+<p>If you use Maven you can just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see the download page for the latest versions).</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;dependency&gt;</span>
+  <span class="code-tag">&lt;groupId&gt;</span>org.apache.camel<span class="code-tag">&lt;/groupId&gt;</span>
+  <span class="code-tag">&lt;artifactId&gt;</span>camel-groovy<span class="code-tag">&lt;/artifactId&gt;</span>
+  <span class="code-tag">&lt;version&gt;</span>2.11.0<span class="code-tag">&lt;/version&gt;</span>
+<span class="code-tag">&lt;/dependency&gt;</span>
+</pre>
+</div></div>
+
+<p>Additionally you need to make sure that the Groovy classes will be compiled. You can either use gmaven for this or, particularly with mixed projects containing Java and Groovy code, you might want to use the <a shape="rect" class="external-link" href="http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven" rel="nofollow">Groovy Eclipse compiler</a>:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+  <span class="code-tag">&lt;plugin&gt;</span>
+    <span class="code-tag">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="code-tag">&lt;/artifactId&gt;</span>
+    <span class="code-tag">&lt;configuration&gt;</span>
+      <span class="code-tag">&lt;compilerId&gt;</span>groovy-eclipse-compiler<span class="code-tag">&lt;/compilerId&gt;</span>
+    <span class="code-tag">&lt;/configuration&gt;</span>
+    <span class="code-tag">&lt;dependencies&gt;</span>
+      <span class="code-tag">&lt;dependency&gt;</span>
+        <span class="code-tag">&lt;groupId&gt;</span>org.codehaus.groovy<span class="code-tag">&lt;/groupId&gt;</span>
+        <span class="code-tag">&lt;artifactId&gt;</span>groovy-eclipse-compiler<span class="code-tag">&lt;/artifactId&gt;</span>
+	<span class="code-tag">&lt;version&gt;</span>2.7.0-01<span class="code-tag">&lt;/version&gt;</span>
+      <span class="code-tag">&lt;/dependency&gt;</span>
+    <span class="code-tag">&lt;/dependencies&gt;</span>
+  <span class="code-tag">&lt;/plugin&gt;</span>
+</pre>
+</div></div>
+
+<p>As Eclipse user, you might want to configure the Maven Eclipse plugin in a way so that your project is set up correctly for using <a shape="rect" class="external-link" href="http://groovy.codehaus.org/Eclipse+Plugin" rel="nofollow">Eclipse Plugin for Groovy</a> when <tt>mvn eclipse:eclipse</tt> is executed:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+  <span class="code-tag">&lt;plugin&gt;</span>
+    <span class="code-tag">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="code-tag">&lt;/groupId&gt;</span>
+    <span class="code-tag">&lt;artifactId&gt;</span>maven-eclipse-plugin<span class="code-tag">&lt;/artifactId&gt;</span>
+    <span class="code-tag">&lt;configuration&gt;</span>
+      <span class="code-tag">&lt;additionalProjectnatures&gt;</span>
+        <span class="code-tag">&lt;projectnature&gt;</span>org.eclipse.jdt.groovy.core.groovyNature<span class="code-tag">&lt;/projectnature&gt;</span>
+      <span class="code-tag">&lt;/additionalProjectnatures&gt;</span>
+      <span class="code-tag">&lt;classpathContainers&gt;</span>
+        <span class="code-tag">&lt;classpathContainer&gt;</span>org.eclipse.jdt.launching.JRE_CONTAINER<span class="code-tag">&lt;/classpathContainer&gt;</span>
+        <span class="code-tag">&lt;classpathContainer&gt;</span>GROOVY_DSL_SUPPORT<span class="code-tag">&lt;/classpathContainer&gt;</span>
+      <span class="code-tag">&lt;/classpathContainers&gt;</span>              
+    <span class="code-tag">&lt;/configuration&gt;</span>
+  <span class="code-tag">&lt;/plugin&gt;</span>	  
+</pre>
+</div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">