How to handle command line validations in ant build?

118 views Asked by At

I am new to ant build. I am trying to validate command line arguments. Following is my code:

build.xml snippet for taking in args:

<target name="run" depends="jar">
        <java jar="${BUILD}/jar/cmdBuildEx.jar"  fork="true">
            <arg value="${arg0}"/> <!-- input file -->
            <arg value="${arg1}"/> <!-- modify file -->
            <arg value="${arg2}"/> <!-- output file 1 -->
            <arg value="${arg3}"/> <!-- output file 2 -->
            <arg value="${arg4}"/> <!-- output file 3 -->
            <arg value="${arg5}"/> <!-- error file -->
            <arg value="${arg6}"/> <!-- debug value -->
        </java>
    </target>

and this is my condition for validation:

if ((args.length != 7) || (args[0].equals("${arg0}")) || (args[1].equals("${arg1}")) || (args[2].equals("${arg2}")) || (args[3].equals("${arg3}")) || (args[4].equals("${arg4}")) || (args[5].equals("${arg5}")) || (args[6].equals("${arg6}"))) {
                System.err.printf("Error: Incorrect number of arguments. Program accepts %d arguments.", REQUIRED_NUMBER_OF_CMDLINE_ARGS);
                System.out.println();
                System.err.println("Args found:"+args.length);
                System.exit(0);
            }

Whenever I am giving more than 7 arguments in cmd line, It doesn't throw any error but executes my code. I don't understand where i am making mistake. Can anyone help?

0

There are 0 answers