Как считать файлы и строки в проекте, используя Ant? - PullRequest
0 голосов
/ 21 марта 2012

Я бы хотел быстро сгенерировать следующие метрики в локальном проекте, используя Ant :

  • общее количество строк во всех файлах
  • общее количество строк в файлевведите

Пример:

Всего 1337 файлов и 44 папок ( 658462 строк):

  • xxx .png файлов ( 0 строк)
  • xxx .jpg файлов ( 0 строки)
  • xxx .txt файлы ( xxxx строки)
  • xxx .js файлы ( ххх строки)

и т. д.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 12 мая 2016

Если у вас смешанная среда Unix / Windows (например, Jenkins), будет работать следующее:

<target name="cloc" description="Generate code metrics.">

    <exec searchpath="true" executable="cloc">
        <arg value="--by-file" />
        <arg value="--xml" />
        <arg value="--out=${cloc.report.dir}/cloc.xml" />
        <arg value="${src.dir}" />
    </exec>

</target>

В Windows переименуйте исполняемый файл (например, cloc-1.64.exe в cloc.exe).) и добавьте местоположение в переменную PATH Windows (например, C:\Program Files (x86)\cloc\).

В Unix cloc обычно устанавливается в /usr/bin, который уже находится в пути.

Покапоскольку вы можете вызывать команду, используя «cloc» в обеих средах, указанная выше цель Ant будет работать на обеих платформах без изменений.

0 голосов
/ 21 марта 2012

как насчет цели, которая вызывает CLOC ?

Если бы вы работали в системе Unix, это выглядело бы так:

 <target name="run-cloc">
   <exec dir="." executable="perl">
     <arg value="${cloc.path}"/>
      <arg value="${src.dir}"/>
   </exec>
 </target>

Здесь cloc.path - этополный путь к Perl-скрипту CLOC.

Если вы работали в Windows, цель изменится на использование предварительно созданного exe-файла (поэтому cloc.path - это полный путь к exe-файлу CLOC):

 <target name="run-cloc">
   <exec dir="." executable="${cloc.path}">
     <arg value="${src.dir}"/>
   </exec>
 </target>
...