<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>martinklinke.com &#187; software</title>
	<atom:link href="http://www.martinklinke.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.martinklinke.com</link>
	<description>IT&#039;s my business</description>
	<lastBuildDate>Tue, 29 Jun 2010 19:33:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>MDSD Survey 2010</title>
		<link>http://www.martinklinke.com/2010/06/10/mdsd-survey-2010/</link>
		<comments>http://www.martinklinke.com/2010/06/10/mdsd-survey-2010/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 12:25:27 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mdsd]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[uml]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=94</guid>
		<description><![CDATA[The Generative Software GmbH and the FZI have done a survey about the usage of Model-Driven Software Development approaches with around 300 participants. Almost 90% of the respondents have prior experience with the topic, so the report might give interesting general insights. Please see theÂ MDSD report 2010 (sorry, only in German) for details on the [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.generative-software.de/">Generative Software GmbH</a> and the <a href="http://www.fzi.de/">FZI</a> have done a survey about the usage of Model-Driven Software Development approaches with around 300 participants. Almost 90% of the respondents have prior experience with the topic, so the report might give interesting general insights.</p>
<p>Please see theÂ <a title="MDSD Report 2010" href="http://www.mdsd-umfrage.de/mdsd-report-2010.pdf">MDSD report 2010</a> (sorry, only in German) for details on the results.</p>
<p>Do you make use of MDSD techniques?</p>
<div style="text-align:center;width:100%;"><div style="margin:0 0 0 0;"><script type="text/javascript"><!--
google_ad_client = "pub-8213395052465060";
/* 300x250, Erstellt 03.06.10 */
google_ad_slot = "6327321139";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2010/06/10/mdsd-survey-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave Robot Capabilities</title>
		<link>http://www.martinklinke.com/2009/10/17/google-wave-robot-capabilities/</link>
		<comments>http://www.martinklinke.com/2009/10/17/google-wave-robot-capabilities/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 13:47:18 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google-wave]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=71</guid>
		<description><![CDATA[The only list of Google Wave Robot capabilities is contained in the API reference documentation of the enum EventType, but unfortunately does not contain a description when the events are triggered. Here is a documented list of what I&#8217;ve figured out so far (needs to be completed in the future): WAVELET_BLIP_CREATED Could not produce this [...]]]></description>
			<content:encoded><![CDATA[<p>The only list of Google Wave Robot capabilities is contained in the API reference documentation of the enum <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/EventType.html">EventType</a>, but unfortunately does not contain a description when the events are triggered. Here is a documented list of what I&#8217;ve figured out so far (needs to be completed in the future):</p>
<ul>
<li><strong>WAVELET_BLIP_CREATED</strong><br />
<em>Could not produce this event</em> yet.</li>
<li><strong>WAVELET_BLIP_REMOVED</strong><br />
<em>Could not produce this event yet.</em></li>
<li><strong>WAVELET_PARTICIPANTS_CHANGED</strong><br />
Participants have been added to and/or removed from a Wave. Access the new/removed participants via <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/Event.html#getAddedParticipants%28%29">Event#getAddedParticipants()</a> / <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/Event.html#getRemovedParticipants%28%29">Event#getRemovedParticipants()</a></li>
<li><strong>WAVELET_SELF_ADDED</strong><br />
The robot has been added to a wave.</li>
<li><strong>WAVELET_SELF_REMOVED</strong><br />
The robot has been removed from a wave.</li>
<li><strong>WAVELET_TIMESTAMP_CHANGED</strong><br />
The modification timestamp of a wave has changed.</li>
<li><strong>WAVELET_TITLE_CHANGED</strong><br />
The title of the wave has changed.</li>
<li><strong>WAVELET_VERSION_CHANGED</strong><br />
<em>Haven&#8217;t figured out what version means exactly.</em></li>
<li><strong>BLIP_CONTRIBUTORS_CHANGED</strong><br />
The contributors for a blip have changed, i.e. added or removed.</li>
<li><strong>BLIP_DELETED</strong><br />
A blip was removed.</li>
<li><strong>BLIP_SUBMITTED</strong><br />
A new blip was created.</li>
<li><strong>BLIP_TIMESTAMP_CHANGED</strong><br />
The timestamp of a blip has changed.</li>
<li><strong>BLIP_VERSION_CHANGED</strong><br />
<em>Haven&#8217;t figured out what version means exactly.</em></li>
<li><strong>DOCUMENT_CHANGED</strong><br />
The content of a blip was changed.</li>
<li><strong>FORM_BUTTON_CLICKED</strong><br />
<em>Haven&#8217;t figured out yet what this really means.</em></li>
</ul>
<p>As one can see, the description is not complete yet. Feel free to help me out in the comments ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2009/10/17/google-wave-robot-capabilities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Speedometer with JFreeChart in Eclipse</title>
		<link>http://www.martinklinke.com/2009/02/18/speedometer-with-jfreechart-in-eclipse/</link>
		<comments>http://www.martinklinke.com/2009/02/18/speedometer-with-jfreechart-in-eclipse/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 22:25:18 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=51</guid>
		<description><![CDATA[There is a great tutorial on vogella.de describing how to add a pie chart with JFreeChart to an Eclipse RCP application or plug-in. The ChartFactory that is used to create the pie chart does not include a method to create a speedometer (or dial) as shown in the sample section of JFreeChart. The following code [...]]]></description>
			<content:encoded><![CDATA[<p>There is a great tutorial on <a href="http://www.vogella.de">vogella.de</a> describing how to <a title="JFreeChart in Eclipse RCP" href="http://www.vogella.de/articles/EclipseJFreeChart/article.html">add a pie chart with JFreeChart to an Eclipse RCP application or plug-in</a>. The ChartFactory that is used to create the pie chart does not include a method to create a speedometer (or dial) as shown in the <a title="JFreeChart Samples" href="http://www.jfree.org/jfreechart/samples.html">sample section of JFreeChart</a>. The following code fragment creates a view that displays a very basic speedometer using the <strong>org.jfree.chart.plot.MeterPlot</strong> class:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.martinklinke.eclipse.jfreechart.demo.views</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.eclipse.swt.SWT</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.eclipse.swt.widgets.Composite</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.eclipse.ui.part.ViewPart</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jfree.chart.JFreeChart</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jfree.chart.plot.MeterPlot</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jfree.data.general.DefaultValueDataset</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jfree.experimental.chart.swt.ChartComposite</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
* @author martin
*
*/</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MeterChartView <span style="color: #000000; font-weight: bold;">extends</span> ViewPart <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> ID <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;com.martinklinke.eclipse.jfreechart.demo.views.MeterChartView&quot;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> createPartControl<span style="color: #009900;">&#40;</span><span style="color: #003399;">Composite</span> parent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      JFreeChart chart <span style="color: #339933;">=</span> createChart<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">final</span> ChartComposite frame <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ChartComposite<span style="color: #009900;">&#40;</span>parent, SWT.<span style="color: #006633;">NONE</span>, chart, <span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setFocus<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #008000; font-style: italic; font-weight: bold;">/**
    * Creates the Chart based on a dataset
    */</span>
   <span style="color: #000000; font-weight: bold;">private</span> JFreeChart createChart<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      DefaultValueDataset data <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DefaultValueDataset<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      MeterPlot plot <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> MeterPlot<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      JFreeChart chart <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> JFreeChart<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Meter Chart&quot;</span>,
      JFreeChart.<span style="color: #006633;">DEFAULT_TITLE_FONT</span>, plot, <span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      plot.<span style="color: #006633;">setNoDataMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;No data available&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">return</span> chart<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The result should look like the following screenshot:</p>
<div id="attachment_59" class="wp-caption alignnone" style="width: 579px"><a href="http://www.martinklinke.com/wp-content/uploads/2009/02/speedometer.jpg"><img class="size-full wp-image-59" title="speedometer" src="http://www.martinklinke.com/wp-content/uploads/2009/02/speedometer.jpg" alt="JFreeChart Speedometer in Eclipse View" width="569" height="329" /></a><p class="wp-caption-text">JFreeChart Speedometer in Eclipse View</p></div>
<p>Of course, the MeterPlot can be further customized by calling the plot.setXXX(&#8230;) methods. However, this exercise is left to the willing reader ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2009/02/18/speedometer-with-jfreechart-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textual modeling with TextUML</title>
		<link>http://www.martinklinke.com/2008/10/21/textual-modeling-with-textuml/</link>
		<comments>http://www.martinklinke.com/2008/10/21/textual-modeling-with-textuml/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 21:45:08 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uml]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=46</guid>
		<description><![CDATA[I just discovered TextUML, an Eclipse extension that enables you to define UML models textually. It started out as a free but closed source project and was open sourced eventually. The core of this tool is the editor for the textual UML representation that provides many features that developers are used to (syntax highlighting, validation, [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered <a href="http://abstratt.com/">TextUML</a>, an <a href="http://www.eclipse.org">Eclipse</a> extension that enables you to define UML models textually. It started out as a free but closed source project and was <a href="http://abstratt.com/blog/2008/08/27/the-textuml-toolkit-needs-you/">open sourced eventually</a>.</p>
<p>The core of this tool is the editor for the textual UML representation that provides many features that developers are used to (syntax highlighting, validation, outline view etc.). Additionally, <a href="http://graphviz.org/">Graphviz</a> can be integrated to create diagrams from the textual models.</p>
<p>There are <a href="http://abstratt.com/docs/index.php?title=Install_Instructions">detailed instructions</a> for the installation of TextUML and the Graphviz integration and a <a href="http://abstratt.com/docs/index.php?title=TextUML_Tutorial">tutorial</a> to get started with textual modeling.</p>
<p>A huge advantage of textual over graphical notations is in my opinion the possibility to create diffs which means you can easily put those textual models under version control and profit from Eclipse&#8217;s compare mechanism. This enables teams of developers to share a common model and to edit it concurrently like any other piece of source code.</p>
<p>According to Rafael Chaves&#8217; (the author of the project) <a href="http://abstratt.com/blog/2008/08/27/the-textuml-toolkit-needs-you/#comment-294">comment</a> on the previously linked article,</p>
<blockquote><p>[...] the final goal is at some point to submit a proposal to Eclipse.org [...]</p></blockquote>
<p>I hope that this goal will be reached, because TextUML is a very interesting and promising project. Claiming</p>
<blockquote>
<ul>
<li><strong>increased modeling productivity</strong></li>
<li><strong>live graphical visualization</strong> of your class diagrams</li>
</ul>
</blockquote>
<p>as two of the key benefits of using TextUML, the goal should not be too far away. Productivity is always welcome and the graphical visualization may be one of the key arguments for your manager ;)</p>
<p>Seriously, even if it&#8217;s not the core feature of TextUML, a simple and efficient way to create class diagrams quickly would be a great win for any technical documentation or idea sketching as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/10/21/textual-modeling-with-textuml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Programmers, join the Stack Overflow!</title>
		<link>http://www.martinklinke.com/2008/10/15/programmers-join-the-stack-overflow/</link>
		<comments>http://www.martinklinke.com/2008/10/15/programmers-join-the-stack-overflow/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 22:32:13 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=43</guid>
		<description><![CDATA[This is not supposed to be a flame war. It&#8217;s just an attempt to bring a little more diversity to the already interesting and very well implemented Stack Overflow. I have been a member since the beginning of August and was lucky enough to join the private beta. Currently, the site is in public beta [...]]]></description>
			<content:encoded><![CDATA[<p>This is not supposed to be a flame war. It&#8217;s just an attempt to bring a little more diversity to the already interesting and very well implemented <a href="http://www.stackoverflow.com">Stack Overflow</a>.</p>
<p>I have been a member since the beginning of August and was lucky enough to join the private beta. Currently, the site is in public beta status and there have been a lot of interesting questions already.</p>
<p>In my opinion, questions concerning the Microsoft stack still dominate the site. Many have attributed this to the fact that Jeff&#8217;s and Joel&#8217;s readers are coming from this background. However, the goal of the site was to have resources for any kind of programming language/environment that may exist.</p>
<p>In order to support the achievement of that goal, this is a call to all programmers out there, no matter how weird the language they (must) use:</p>
<p><strong>Join the <a href="http://www.stackoverflow.com">Stack Overflow</a> and share your rare knowledge!</strong></p>
<p>Or just try to find some answers where Google can&#8217;t look (yet?): In the brains of some fellow programmers ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/10/15/programmers-join-the-stack-overflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse JBoss server runtime library lost</title>
		<link>http://www.martinklinke.com/2008/07/11/eclipse-jboss-server-runtime-library-lost/</link>
		<comments>http://www.martinklinke.com/2008/07/11/eclipse-jboss-server-runtime-library-lost/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 14:50:29 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=41</guid>
		<description><![CDATA[Today, I had a strange problem with Eclipse. I have an EJB project with JBoss v4.2 selected in targeted runtimes (project properties) and as such the JBoss v4.2 server runtime classpath variable. I have really no idea what happened, but the effect was that the JBoss classpath entry didn&#8217;t show up any longer. My first [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I had a strange problem with Eclipse. I have an EJB project with JBoss v4.2 selected in targeted runtimes (project properties) and as such the JBoss v4.2 server runtime classpath variable. I have really no idea what happened, but the effect was that the JBoss classpath entry didn&#8217;t show up any longer. My first thought was that maybe the .classpath file got mixed up, but it still contained the required entry. The project properties also contained all the correct information. Just the package explorer didn&#8217;t show the entry and it definitely wasn&#8217;t there as the build for the project failed because the required classes could not be found.</p>
<p>The &lt;workspace&gt;/.metadata/.log file contained the following error message many times:</p>
<blockquote><p>!ENTRY org.eclipse.jst.server.core 4 0 2008-07-11 16:24:46.251<br />
!MESSAGE Error calling delegate RuntimeClasspathProviderWrapper[org.eclipse.jst.server.generic.runtimeTarget]: null</p></blockquote>
<p>So this must have been a bug in resolving the server classpath. I couldn&#8217;t find an equivalent problem description, and after playing around with the project settings, adding and removing the library manually, which didn&#8217;t help any further, I tried updating the Java Standard Tools. There was indeed a patch available. My previous version of JST was <strong>org.eclipse.jst_2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em</strong> and I installed the patch <strong>org.eclipse.jst.web_core.feature.patch_2.0.2.v200803241913-208i8s733I395D6BA7</strong>. My Eclipse SDK version used is <strong>3.3.2</strong>, Build id <strong>M20080221-1800</strong>.</p>
<p>After the installation of the patch and a restart of Eclipse, the JBoss v4.2 entry showed up again and the error message didn&#8217;t occur any longer in the log file. As I said, I don&#8217;t really know what had happened, but the patch might have resolved the issue for me, so maybe this helps someone out there, who runs into the same problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/07/11/eclipse-jboss-server-runtime-library-lost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools for Eclipse build automation</title>
		<link>http://www.martinklinke.com/2008/07/10/tools-for-eclipse-build-automation/</link>
		<comments>http://www.martinklinke.com/2008/07/10/tools-for-eclipse-build-automation/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 21:55:13 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=40</guid>
		<description><![CDATA[Eclipse is a great IDE for developing any kind of Java code, e.g. Rich Client (RCP), Web or standalone applications. However, when a project is built using any IDE (yes, there are others &#8211; e.g. Netbeans or IntelliJ IDEA), there may be some dependencies towards the chosen tool when it comes to compiling and packaging [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Eclipse.org" href="http://www.eclipse.org">Eclipse</a> is a great IDE for developing any kind of Java code, e.g. Rich Client (<a title="Eclipse Rich Client Platform" href="http://wiki.eclipse.org/index.php/Rich_Client_Platform">RCP</a>), Web or standalone applications. However, when a project is built using any IDE (yes, there are others &#8211; e.g. <a title="Netbeans" href="http://www.netbeans.org/">Netbeans</a> or <a title="IntelliJ IDEA" href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a>), there may be some dependencies towards the chosen tool when it comes to compiling and packaging the code. This doesn&#8217;t matter too much as long as there is no requirement to <a title="Build and Test Automation for plug-ins and features - Eclipse Article" href="http://www.eclipse.org/articles/Article-PDE-Automation/automation.html">automate the build process</a>. This will happen, as soon as you decide to set up <a title="Continuous Integration - martinfowler.com" href="http://martinfowler.com/articles/continuousIntegration.html">Continuous Integration</a> for your project.</p>
<p><span id="more-40"></span></p>
<p>In many cases, <a title="Apache Ant" href="http://ant.apache.org/">Ant</a> is the tool of choice for automating the build process. As far as I know, Netbeans already uses Ant as build tool by default. Eclipse has its own way of describing the project configuration (source/binary folders, required libraries etc.) with files like &#8220;.project&#8221; and &#8220;.classpath&#8221;. The naive approach for building an Eclipse project with Ant would be to duplicate all the information and write a separate Ant build file that does all the work and is independent of an Eclipse instance. There are several disadvantages that come along with this approach:</p>
<ol>
<li>Inconsistencies may occur whenever a new library is added or the structure of the project changes in a significant way (e.g. a new source folder is introduced) =&gt; the build file has to be updated manually when the build fails.</li>
<li>There is no real guarantee that both the Eclipse and the Ant build produce the same output =&gt; Problems may not be visible until runtime tests are performed.</li>
</ol>
<p>So what could be a more elegant solution? Of course, to use the information for the build that is contained in the Eclipse project artifacts already. The only tool I found up to now that does right this is <a title="ant4eclipse" href="http://ant4eclipse.sourceforge.net/">ant4eclipse</a>. Basically, it defines some Ant tasks that enable the following actions (from ant4eclipse&#8217;s website):</p>
<blockquote>
<ul>
<li>Setup classpathes as defined in Eclipse&#8217;s  					<code>.classpath</code>-file</li>
<li>checkout complete workspaces as it&#8217;s possible with the <code>Team Project Set</code> feature of eclipse</li>
<li>run your Java applications as you have defined them in an Eclipse <code>Launch Configuration</code></li>
</ul>
</blockquote>
<p>This avoids the redundancy and leverages the information that is already present as soon as the project compiles in Eclipse. To be honest, I haven&#8217;t evaluated ant4eclipse yet, but I probably will as soon as the next Continuous Integration project will start. Seriously, who would like to write dozens of Ant files to do the work that Eclipse already does?</p>
<p>Another interesting project that seems to focus solely on Eclipse plugins, features and RCP apps is <a title="Pluginbuilder.org" href="http://www.pluginbuilder.org">Pluginbuilder</a>. The <a title="Tutorial movie - Pluginbuilder.org" href="http://www.pluginbuilder.org/documentation/tutorialmovie/">tutorial movie</a> looks really impressive. The homepage says that Pluginbuilder consists of two parts:</p>
<ul>
<blockquote>
<li>An <strong>Eclipse plug-in </strong>allows to configure the build in the project&#8217;s workspace and run the build locally</li>
<li>Then the configuration can be uploaded to the <strong>server platform</strong> where the build can be scheduled</li>
</blockquote>
</ul>
<p>That&#8217;s a nice alternative to the manual configuration of the Eclipse headless build and integration with e.g. <a title="CruiseControl" href="http://cruisecontrol.sourceforge.net/">CruiseControl</a>. Haven&#8217;t evaluated that one neither, but this is definitely a very interesting and promising tool for Eclipse plugin and RCP development which I can imagine may be indispensable once you are used to it.</p>
<p>Which other tools for Eclipse build automation do you know?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/07/10/tools-for-eclipse-build-automation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse Quick Access</title>
		<link>http://www.martinklinke.com/2008/04/25/eclipse-quick-access/</link>
		<comments>http://www.martinklinke.com/2008/04/25/eclipse-quick-access/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 11:26:52 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=38</guid>
		<description><![CDATA[This just made my day: When you&#8217;re in Eclipse (IDE), press Ctrl+3, then enter the name of a view, editor, preference, command, menu etc. or previously opened resource (e.g. a Java class), select the desired match from the list and voilà &#8211; Eclipse navigates you there. You can also enter the initials of the words [...]]]></description>
			<content:encoded><![CDATA[<p>This just made my day:</p>
<p>When you&#8217;re in <a href="http://www.eclipse.org">Eclipse</a> (IDE), press Ctrl+3, then enter the name of a view, editor, preference, command, menu etc. or previously opened resource (e.g. a Java class), select the desired match from the list and voilà &#8211; Eclipse navigates you there. You can also enter the initials of the words you are looking for, e.g. &#8220;pe&#8221; for &#8220;Package Explorer&#8221;. That&#8217;s really a cool feature and available since Eclipse 3.3. It brings kind of a &#8220;spotlight feeling&#8221; to your development work ;)</p>
<p>Good bye, &#8220;Show View&#8221; and &#8220;Open Perspective&#8221; ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/04/25/eclipse-quick-access/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JAX 2008 in pictures</title>
		<link>http://www.martinklinke.com/2008/04/21/jax-2008-in-pictures/</link>
		<comments>http://www.martinklinke.com/2008/04/21/jax-2008-in-pictures/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 18:45:27 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jax]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=36</guid>
		<description><![CDATA[For some impressions of the JAX conference 2008, check out my Picasa Web Album JAX 2008.]]></description>
			<content:encoded><![CDATA[<p>For some impressions of the JAX conference 2008, check out my <a href="http://picasaweb.google.com/martin.klinke/JAX2008">Picasa Web Album JAX 2008</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/04/21/jax-2008-in-pictures/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JAX 2008 Preview: Agile Day</title>
		<link>http://www.martinklinke.com/2008/04/20/jax-2008-preview-agile-day/</link>
		<comments>http://www.martinklinke.com/2008/04/20/jax-2008-preview-agile-day/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 12:49:31 +0000</pubDate>
		<dc:creator>mklinke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jax]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.martinklinke.com/?p=35</guid>
		<description><![CDATA[We are going to leave Bayreuth in about two hours. Tomorrow will be the first day of this year&#8217;s JAX conference. While the main conference starts on Tuesday, there will already be several so-called &#8220;Special Days&#8221; on Monday. We are going to attend the Agile Day. Here a little overview of the topics: Comparison of [...]]]></description>
			<content:encoded><![CDATA[<p>We are going to leave Bayreuth in about two hours. Tomorrow will be the first day of this year&#8217;s <a href="http://www.jax.de">JAX</a> conference. While the main conference starts on Tuesday, there will already be several so-called &#8220;Special Days&#8221; on Monday. We are going to attend the Agile Day. Here a little overview of the topics:</p>
<ul>
<li>Comparison of several agile methods (eXtreme Programming, Scrum, Crystal and Feature Driven Development)</li>
<li>A guide to becoming agile</li>
<li>Collaboration in Java Projects (<a href="https://jazz.net/">IBM Rational&#8217;s Jazz</a>)</li>
<li>Scrum roles and their meaning for agile teams</li>
<li>Field report of a Product Owner</li>
<li>Agile project management with contracts for services</li>
</ul>
<p>I think it is a good start to see the different methods at the beginning of the day to have a better understanding for the following more specialized topics. I hope to get a very good insight into agile methods and agile project management as everybody is talking about it and there are often also very controversial interpretations of what agile really is. Of course, there are and must be always different opinions about such things. After all, it&#8217;s not about the name or definition of a method, it&#8217;s about the success that the applied strategy is supposed to deliver&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinklinke.com/2008/04/20/jax-2008-preview-agile-day/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.615 seconds -->
