AW: How to lowercase all files with a mapper?

<[email protected]> Thu, 23 Feb 2023 09:28:36 +0100
Newsgroups gmane.comp.jakarta.ant.user
Message-ID <[email protected]>
Have tried that on openjdk version "17.0.1" 2021-10-19.

No warning using JavaScript on my machine.
But you also could other implementation languages for your mapper - =
Groovy, ... even Java ;-)

Adding some examples.

Jan


<project default=3D"all">

    <property name=3D"src" value=3D"src"/>
    <property name=3D"dest" value=3D"dest"/>

    <target name=3D"clean">
        <delete dir=3D"${dest}"/>
    </target>
   =20
    <target name=3D"prepare">
        <mkdir dir=3D"${src}"/>
        <touch file=3D"${src}/file1"/>
        <touch file=3D"${src}/File2"/>
        <touch file=3D"${src}/FILE3"/>
        <touch file=3D"${src}/filE4"/>
        <touch file=3D"${src}/file5.TXT"/>
        <touch file=3D"${src}/file6.txt"/>
    </target>
   =20
   =20
   =20
    <target name=3D"copy-javascript">
        <mkdir dir=3D"${dest}"/>
        <copy todir=3D"${dest}">
            <fileset dir=3D"${src}"/>
            <scriptmapper language=3D"javascript">
              self.addMappedName(source.toLowerCase());
            </scriptmapper>           =20
        </copy>
    </target>
   =20
   =20
   =20
    <target name=3D"copy-beanshell">
        <mkdir dir=3D"${dest}"/>
        <copy todir=3D"${dest}">
            <fileset dir=3D"${src}"/>
            <scriptmapper language=3D"beanshell">
              self.addMappedName(source.toLowerCase());
            </scriptmapper>           =20
        </copy>
    </target>
   =20
   =20
   =20
    <target name=3D"create-custom-mapper">
        <property name=3D"dir.custommapper" value=3D"custom-mapper"/>
        <mkdir dir=3D"${dir.custommapper}/foo"/>
        <echo file=3D"${dir.custommapper}/foo/LowerCaseMapper.java">
            package foo;
            public class LowerCaseMapper implements =
org.apache.tools.ant.util.FileNameMapper {
                 public void setFrom(String from){}
                 public void setTo(String to){}
                 public String[] mapFileName(String sourceFileName) {
                    return new String[]{sourceFileName.toLowerCase()};
                 }
            }
        </echo>
        <javac srcdir=3D"${dir.custommapper}" =
destdir=3D"${dir.custommapper}"/>
    </target>
   =20
    <target name=3D"copy-custommapper" depends=3D"create-custom-mapper">
        <mkdir dir=3D"${dest}"/>
        <copy todir=3D"${dest}">
            <fileset dir=3D"${src}"/>
            <mapper classname=3D"foo.LowerCaseMapper" =
classpath=3D"${dir.custommapper}"/>
        </copy>
    </target>
   =20
   =20
   =20
    <target name=3D"all" depends=3D"clean,prepare,copy-javascript"/>

</project>




-----Urspr=C3=BCngliche Nachricht-----
Von: Deepak Lalchandani <[email protected]>=20
Gesendet: Freitag, 3. Februar 2023 13:51
An: Ant Users List <[email protected]>
Betreff: Re: How to lowercase all files with a mapper?

Can you share the script mapper with me. I would like to understand its =
details

On Fri, 3 Feb 2023, 6:17 pm BCT Roel de Wildt, =
<[email protected]> wrote:

> Hello,
>
> I have a build script in Apache Ant that is using the following=20
> definition to move all files from one directory to another directory=20
> while everything must be lowercase. But the scriptmapper gives a=20
> warning in openjdk 11 during the move of every file.
>
> Warning:
> [move] Warning: Nashorn engine is planned to be removed from a future=20
> JDK release
>
> Build.xml:
>
>             <target name=3D"compose.default.lower">
>                         <mkdir=20
> dir=3D"output/rcode/${platform}/${project}" />
>
>                         <move =
todir=3D"output/rcode/${platform}/${project}">
>                                     <fileset=20
> dir=3D"preproces/rcode/${platform}/${project}">
>                                                <include name=3D"**" />
>                                     </fileset>
>                                     <scriptmapper =
language=3D"javascript">
>                                                self.clear();
>
>  self.addMappedName(source.toLowerCase());
>                                     </scriptmapper>
>                         </move>
>             </target>
>
> Is there a alternative mapper that does not give a warning and could=20
> lower case everything in the string?
>
> Kind regards,
>
> Roel de Wildt
>