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
>