Avatar billede margitbork Nybegynder
18. august 2006 - 13:18 Der er 1 kommentar og
1 løsning

Hvordan laver man ANT foreach tasks

Jeg vil forsøge mig med at få mine ant tasks til at lave et iterative job, og jeg har fundet ud af at man skal bruge foreach. Denne skulle angiveligt kunne findes i ant-contrib-(xx).jar som jeg har downloaded og placered i min ant lib folder.
Jeg bruger ant 1.6.5 - så den skulle kunne virke.

Jeg bruger IntelliJ som min editor, og jeg har sat den til at anvende min antversion i stedet for den indbyggede. MEN den siger at den ikke kender det task der hedder foreach. Hvad har jeg gjort galt, eller hvad mangler jeg at gøre ?
Avatar billede margitbork Nybegynder
08. september 2006 - 12:17 #1
Nå jeg fandt selv ud af det. Det jeg skulle bruge var ant-contrib-0.6.jar, og så ser min kode således ud, hvor jeg pakker alle subfoldere af en folder i hver deres .jar fil:
  <target name="jarLanguages" description="packs the language files into language specific .jar files">
    <property name="languagepath" value="${ecw.basedir}\languages"/>


    <foreach  param="jar.folder" target="makeFolderJar">

      <path id="base.path">

            <dirset dir="${languagepath}">
              <exclude name="**/help"/>
              <exclude name="**/images"/>
              <exclude name="**/META-INF"/>
              <exclude name="**/JavaHelpSearch"/>

              <exclude name="${languagepath}"/>
            </dirset>

      </path>




    </foreach>

    <delete failonerror="false"  file="${ecw.basedir}\languages\languages.jar"/>



  </target>

  <target name="makeFolderJar" description="jar's the files in the folder that is passed as a parameter to this method under the name jar.folder">
      <echo>jarfolder = ${jar.folder}</echo>
    <basename file="${jar.folder}" property="jar.name"/>
    <echo>jarname = ${jar.name}</echo>

    <antcall target="jarFolderContent">
      <param name="jar.file.name" value="${module.ecw.basedir}/languages/${jar.name}.jar"/>
      <param name="jar.file.content" value="${jar.folder}"/>
    </antcall>
  </target>
Avatar billede margitbork Nybegynder
08. september 2006 - 12:18 #2
og så skal man også lige have denne linie i sin build.xml fil
  <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester