Description: Ant buildfiles can become large and complex and would benefit from refactoring. Currently there is no support beyond renaming within a buildfile to allow the developer to efficiently refactor Ant buildfiles. The goals would be to implement an infrastructure to support refactorings in Ant buildfiles, participate in other components refactorings and provide a starter set of Ant buildfile refactorings.

Abstract

Of course, eclipse supports ant. But now, in modern project ant build files became too difficult to maintaine and refactor. Goal of this project - to implement an infrastructure to support refactorings for ant files, provide more clear and visual tool for working with ant tasks ant targets.

1. Something like "extract method"
- You one task and could generate a <presetdef>.
- You select multiple tasks and could generate a <macrodef>.
- You select a <script> and could generate a <scriptdef>.
(2) could be used inside

5. Extract property
- Select an attribute value and it will introduce a property with that value.

<echomessage="Hello World"/>

converted to

<propertyname="msg"value="Hello World"/><echomessage="${msg}"/>

6. Property bundle (see I18N-stuff)
- gives a list with all properties
- you select the properties to put into the new build.properties file
- build.properties will be created and load into the build file

7. Pull up / push down
In Java code this means moving between a class and it`s parent. Here it would
move between the actual buildfile and an <import>ed one. Could also be done
with Drag&Drop in the Outline View (drag target on <import>) or Package
Explorer.

For future period

If all previous ideas would been realized, I`m planning extend them with ant dependency grafic representation.