<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Useless Inc. - ant-intellij-tasks</title>
    <link>http://www.tomergabel.com/</link>
    <description>Tomer Gabel's annoying spot on the 'net</description>
    <language>en-us</language>
    <copyright>Tomer Gabel</copyright>
    <lastBuildDate>Wed, 30 Sep 2009 06:18:58 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>tomer@tomergabel.com</managingEditor>
    <webMaster>tomer@tomergabel.com</webMaster>
    <item>
      <trackback:ping>http://www.tomergabel.com/Trackback.aspx?guid=b849579e-4637-4051-ba21-f87975905ca0</trackback:ping>
      <pingback:server>http://www.tomergabel.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.tomergabel.com/PermaLink,guid,b849579e-4637-4051-ba21-f87975905ca0.aspx</pingback:target>
      <dc:creator>Tomer Gabel</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>Download </em>
          <a href="http://ant-intellij-tasks.googlecode.com/files/ant-intellij-tasks-1.0-b1.zip">
            <em>ant-intellij-tasks-1.0-b1.zip</em>
          </a>
          <em>
          </em>
        </p>
        <p>
A great but oft-ignored feature of Visual Studio 2005 and up is the inherent consolidation
of an important developer tool: the build system. With a Visual Studio solution you
can simply run MSBuild and you get accurate, automated builds. This is an invaluable
capability: continuous integration is ridiculously easy to set up, as are nightly
builds and automated deployment tools.
</p>
        <p>
Since I started working for Delver (<a href="http://www.tomergabel.com/LifeIsFullOfSurprises.aspx">now
Sears</a>) I’ve been switching back and forth between C# (2.0 and later 3.0) and Java
1.6, and though the ecosystems share many similarities there are also several glaring
differences. The first of these differences is that, in the Java world, it is perfectly
acceptable – even traditional – to maintain a dual project structure, one using the
IDE (usually Eclipse or IntelliJ IDEA) and one using one of the build tools (commonly
Ant or Maven). The build scripts need to be continuously synchronized with the project
structure, and output parity between the two separate build systems is almost unheard-of.
</p>
        <p>
Because I had been a complete Java newbie when I started, I had never had the time
to really sit down and set up a continuous integration server for our Java codebase,
a mistake I did not intent to repeat when Sears took over. The first item on my agenda
was to do away with the dual project structure; we originally used Eclipse, so I built
a custom Ant script (my first, actually) around <a href="http://ant4eclipse.sourceforge.net/">ant4eclipse</a> and
managed to come up with a semi-satisfactory solution. This also gave us invaluable
insight when it was time to revisit our IDE choice; the lackluster project structure
offered by Eclipse, along with firm positive comments on IntelliJ IDEA from several
team members, tipped the balance and led us to switch to the alternative IDE, while
also creating the necessity for a revamped build system can that work on top of the
IntelliJ IDEA project structure.
</p>
        <p>
Out of necessity, a project was born. <a href="http://code.google.com/p/ant-intellij-tasks/">ant-intellij-tasks</a> is
the result of several months of all-night itch-scratching on my part. While not directly
affiliated with the company, we’ve been dogfooding the project at Sears for over a
month now, and while there are certainly rough edges it finally seems stable enough
for release! From the project website:
</p>
        <blockquote style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; background: #ccc; padding-top: 5px">
          <p>
            <a href="http://code.google.com/p/ant-intellij-tasks">ant-intellij-tasks</a> is a
self-contained build system for IntelliJ IDEA projects based around <a href="http://ant.apache.org/">Apache
Ant</a>. In essence, ant-intellij-tasks comprises three components: 
</p>
          <ol>
            <li>
An Ant task library that can extract and resolve the IntelliJ IDEA project and module
files (.ipr and .iml respectively), and provides a set of tasks and conditions around
the project structure; 
</li>
            <li>
A common build script which provides the four major build targets for modules: clean,
build, test and package (see <a href="http://code.google.com/p/ant-intellij-tasks/#Quickstart_Guide">the
quickstart guide</a>); 
</li>
            <li>
A master build script which extends these targets to the entire project. 
</li>
          </ol>
          <p>
The build system is designed to be extensible (e.g. by adding targets), customizable
(e.g. by overriding a target's behavior for a specific module) and self contained
in that it's a drop-in solution that should not require any significant modifications
to the code base. 
</p>
          <p>
          </p>
          <p>
This project is fully open source (distributed under an Apache license) and hosted
at Google Code. Please report any bugs or issues on the project <a href="http://code.google.com/p/ant-intellij-tasks/issues/list">issue
tracker</a>. 
</p>
          <p>
          </p>
          <p>
ant-intellij-tasks makes use of, and redistributes, the <a href="http://ant-contrib.sourceforge.net/">ant-contrib</a> task
library. 
</p>
        </blockquote>
        <img width="0" height="0" src="http://www.tomergabel.com/aggbug.ashx?id=b849579e-4637-4051-ba21-f87975905ca0" />
      </body>
      <title>Announcing ant-intellij-tasks</title>
      <guid isPermaLink="false">http://www.tomergabel.com/PermaLink,guid,b849579e-4637-4051-ba21-f87975905ca0.aspx</guid>
      <link>http://www.tomergabel.com/AnnouncingAntintellijtasks.aspx</link>
      <pubDate>Wed, 30 Sep 2009 06:18:58 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;Download &lt;/em&gt;&lt;a href="http://ant-intellij-tasks.googlecode.com/files/ant-intellij-tasks-1.0-b1.zip"&gt;&lt;em&gt;ant-intellij-tasks-1.0-b1.zip&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
A great but oft-ignored feature of Visual Studio 2005 and up is the inherent consolidation
of an important developer tool: the build system. With a Visual Studio solution you
can simply run MSBuild and you get accurate, automated builds. This is an invaluable
capability: continuous integration is ridiculously easy to set up, as are nightly
builds and automated deployment tools.
&lt;/p&gt;
&lt;p&gt;
Since I started working for Delver (&lt;a href="http://www.tomergabel.com/LifeIsFullOfSurprises.aspx"&gt;now
Sears&lt;/a&gt;) I’ve been switching back and forth between C# (2.0 and later 3.0) and Java
1.6, and though the ecosystems share many similarities there are also several glaring
differences. The first of these differences is that, in the Java world, it is perfectly
acceptable – even traditional – to maintain a dual project structure, one using the
IDE (usually Eclipse or IntelliJ IDEA) and one using one of the build tools (commonly
Ant or Maven). The build scripts need to be continuously synchronized with the project
structure, and output parity between the two separate build systems is almost unheard-of.
&lt;/p&gt;
&lt;p&gt;
Because I had been a complete Java newbie when I started, I had never had the time
to really sit down and set up a continuous integration server for our Java codebase,
a mistake I did not intent to repeat when Sears took over. The first item on my agenda
was to do away with the dual project structure; we originally used Eclipse, so I built
a custom Ant script (my first, actually) around &lt;a href="http://ant4eclipse.sourceforge.net/"&gt;ant4eclipse&lt;/a&gt; and
managed to come up with a semi-satisfactory solution. This also gave us invaluable
insight when it was time to revisit our IDE choice; the lackluster project structure
offered by Eclipse, along with firm positive comments on IntelliJ IDEA from several
team members, tipped the balance and led us to switch to the alternative IDE, while
also creating the necessity for a revamped build system can that work on top of the
IntelliJ IDEA project structure.
&lt;/p&gt;
&lt;p&gt;
Out of necessity, a project was born. &lt;a href="http://code.google.com/p/ant-intellij-tasks/"&gt;ant-intellij-tasks&lt;/a&gt; is
the result of several months of all-night itch-scratching on my part. While not directly
affiliated with the company, we’ve been dogfooding the project at Sears for over a
month now, and while there are certainly rough edges it finally seems stable enough
for release! From the project website:
&lt;/p&gt;
&lt;blockquote style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; background: #ccc; padding-top: 5px"&gt; 
&lt;p&gt;
&lt;a href="http://code.google.com/p/ant-intellij-tasks"&gt;ant-intellij-tasks&lt;/a&gt; is a
self-contained build system for IntelliJ IDEA projects based around &gt;&lt;a href="http://ant.apache.org/"&gt;Apache
Ant&lt;/a&gt;. In essence, ant-intellij-tasks comprises three components: 
&lt;ol&gt;
&lt;li&gt;
An Ant task library that can extract and resolve the IntelliJ IDEA project and module
files (.ipr and .iml respectively), and provides a set of tasks and conditions around
the project structure; 
&lt;li&gt;
A common build script which provides the four major build targets for modules: clean,
build, test and package (see &lt;a href="http://code.google.com/p/ant-intellij-tasks/#Quickstart_Guide"&gt;the
quickstart guide&lt;/a&gt;); 
&lt;li&gt;
A master build script which extends these targets to the entire project. 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
The build system is designed to be extensible (e.g. by adding targets), customizable
(e.g. by overriding a target's behavior for a specific module) and self contained
in that it's a drop-in solution that should not require any significant modifications
to the code base. 
&lt;p&gt;
&lt;p&gt;
This project is fully open source (distributed under an Apache license) and hosted
at Google Code. Please report any bugs or issues on the project &lt;a href="http://code.google.com/p/ant-intellij-tasks/issues/list"&gt;issue
tracker&lt;/a&gt;. 
&lt;p&gt;
&lt;p&gt;
ant-intellij-tasks makes use of, and redistributes, the &lt;a href="http://ant-contrib.sourceforge.net/"&gt;ant-contrib&lt;/a&gt; task
library. 
&lt;/p&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://www.tomergabel.com/aggbug.ashx?id=b849579e-4637-4051-ba21-f87975905ca0" /&gt;</description>
      <category>Development</category>
      <category>Development/Java</category>
      <category>Software</category>
      <category>ant-intellij-tasks</category>
    </item>
  </channel>
</rss>