Search code examples
javascriptantbuildbuild-processyui-compressor

How to use YUI Compressor in Ant build script for javascript


I have ANT script which compresses .js files into their own files, but i want to compress all .js files into one .js file.

How to make it work using below ANT script.

<echo message="Compressing Javascript files at location: ${build.root}/resources/js/*.js" />
<java jar="c:/dev/lib/yuicompressor-2.4.7/build/yuicompressor.jar" fork="true">
    <arg value="${build.root}/resources/js/*.js" /> <!-- input path for JS files -->
    <!--<arg value="-v" /> --><!-- Turn on verbose -->
    <arg value="-o" />
    <arg value="'.js$:.js'" />
    <arg value="${build.root}/resources/js/*.js" /> <!-- output path for JS files -->
    <classpath>
        <pathelement location="c:/dev/lib/yuicompressor-2.4.7/build/yuicompressor.jar"/>
    </classpath>
</java>

Solution

  • After a long search I got solution, basically after yui compress i have to do concat on all compressed file.

    Use :

        <concat destfile="build/*.js">
            <fileset dir="build/*" includes="*js" />
        </concat>