2012-05-16 2 views
0

Я пытаюсь исправить ошибку в HTML5 Boilerplate ant task. Theres - «манифестная» цель для автоматического создания файла манифеста кэша html5.Ant: получить каталог файла из селектора наборов **/* файлов

линии 717 в the build script является областью, которая имеет ошибку:

  <!-- add image files --> 
      <echo message="Updating the site.manifest with the images"/> 
      <for param="file"> 
       <path> 
        <fileset dir="./${dir.source}/${dir.images}/" includes="**/*"/> 
       </path> 
       <sequential> 
        <basename property="[email protected]{file}" file="@{file}" /> 
        <replaceregexp match="# image files" replace="# image files${line.separator}${dir.images}/${[email protected]{file}}" file="${dir.intermediate}/${file.manifest}" /> 
       </sequential> 
      </for> 

Этот вопрос, учитывая структуру каталогов, как:

img/image1.jpg 
img/subdir/image2.jpg 

выходного игнорирующая подкаталог:

img/image1.jpg 
img/image2.jpg 

Каков наилучший способ устранить эту проблему?

ответ

0

Я понял это:

  <!-- add image files --> 
      <echo message="Updating the site.manifest with the images"/> 
      <for param="file"> 
       <path> 
        <fileset dir="./${dir.source}/${dir.images}/" includes="**/*"/> 
       </path> 

       <sequential> 
        <path id="[email protected]{file}"> 
         <pathelement location="@{file}" /> 
        </path> 
        <pathconvert property="[email protected]{file}" refid="[email protected]{file}"> 
         <globmapper from="${basedir}/*" to="*" /> 
        </pathconvert> 
        <replaceregexp match="# image files" replace="# image files${line.separator}${[email protected]{file}}" file="${dir.intermediate}/${file.manifest}" /> 
       </sequential> 
      </for> 

Он получает абсолютный путь элемента, а затем удаляет $ {} имя_базовой_папки часть с globmapper, который оставляет относительный путь к изображению.