Search This Blog

Ant task to join multiple lines text into single line string

  • Option 1: Use temp file:
        <target name="jdk-modules1">
            <exec executable="java" output="jdk.modules.tmp">
                <arg value="--list-modules"/>
            </exec>
            <loadfile property="jdk.modules" srcFile="jdk.modules.tmp">
                <filterchain>
                    <replaceregex pattern="@.*" replace=","/>
                    <striplinebreaks/>
                    <replaceregex pattern=",$" replace=""/>
                </filterchain>
            </loadfile>
            <delete file="jdk.modules.tmp" />
            <echo message="${jdk.modules}" />
        </target>
    
  • Option 2: Use Javascript:
        <target name="jdk-modules2">
            <exec executable="java" outputproperty="jdk.modules">
                <arg value="--list-modules"/>
            </exec>
            <script language="javascript">
                <![CDATA[
                var value = project.getProperty('jdk.modules');
                project.setProperty('jdk.modules', value.replace(/@.*\n/g, ',').replace(/@.*/g, ''));
                ]]>
            </script>
            <echo message="${jdk.modules}"/>
        </target>
    






see also

No comments:

Post a Comment