Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

User talk:Gaurangtpatel.gmail.com

Proposal: Ant buildfile refactorings

There is a need of tool for refactoring of ant scripts.

Ant macros can be used to achieve re usability of scripts. A macrodef, short for a macro definition, can be seen as defining a reusable piece of Ant functionality – if you think of it in terms of Java code, this would be a reusable utility method. An import is a way to include external Ant functionality into another script.


A macrodef for compiling Java code using the javac Ant task could look like this:

<macrodef name="m_compile">

  <attribute name="build.dir" default="${build.dir}" />
  <attribute name="classpath.id" default="default.classpath" />
  <attribute name="src.dir" default="${src.java.dir}" />
  <sequential>
     <mkdir dir="@{build.dir}" />
     <javac destdir="@{build.dir}" debug="${debug}"
       optimize="${optimize}">
        <classpath refid="@{classpath.id}" />
        <src path="@{src.dir}" />
     </javac>
  </sequential>

</macrodef>


IMPORT

<import file="${buildfiles.dir}/macro/compile.xml" />

This statement imports the XML from the compile.xml file into the place where the import statement is.


Challenges and Risks

It will be interesting to see how deep I can go into developing this enhancement to platform ant. Risks: I don't affevt any of the current functionalities.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.