2012-01-25 3 views
5

Mam problem. Używam wtyczki antrun dla mavena i do następnej: mam folder i podfoldery (nie wiem, jak nazywają się podfoldery i ich numer) i mam archiwum dla tych podfolderów z ich nazwą (nazwa podfolderu - "1 ", nazwa archiwum -" 1.acp ").Właściwości niezmiennej ant do zmiennego

   <tasks> 
        <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${settings.localRepository}/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar" /> 
        <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${settings.localRepository}/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar" /> 
        <for param="file"> 
         <path> 
          <dirset dir="src/main/bootstrap" includes="/*" /> 
         </path> 
         <sequential> 
          <basename property="dir" file="@{file}" /> 
          <zip destfile="${project.build.outputDirectory}/alfresco/extension/agilent/${dir}.acp" basedir="@{file}" /> 
         </sequential> 
        </for> 
       </tasks> 

Ale realia własności są niezmienne !!! A całe archiwum ma nazwę "1.acp". Jak uczynić tę właściwość zmienną lub zrobić to w inny sposób?

Odpowiedz

6

można użyć 1,8 ant Local task

W twoim przypadku:

<sequential> 
    <local name="dir"/> 
    <basename property="dir" file="@{file}"/> 
    <zip 
    destfile="${project.build.outputDirectory}/alfresco/extension/agilent/${dir}.acp" 
    basedir="${dir}" 
    /> 
</sequential> 
4

Możesz użyć var task z ant contrib.

Obiekt unset, pozwala przywrócić wartości (przykład z wyżej link):

<property name="x" value="6"/> 
    <echo>${x}</echo> <!-- will print 6 --> 
    <var name="x" unset="true"/> 
    <property name="x" value="12"/> 
    <echo>${x}</echo> <!-- will print 12 --> 

Więc trzeba będzie naprawić go:

<sequential> 
    <var name="dir" unset="true"/> 
    <basename property="dir" file="@{file}" /> 
    <zip destfile="${project.build.outputDirectory}/alfresco/extension/agilent/${dir}.acp" basedir="@{file}" /> 
</sequential> 
+0

Dziękujemy! To naprawdę działa !!! – VladislavLysov