Google Java Format не может прочитать файл во время форматирования
Я добавил задачу муравья для форматирования источников перед компиляцией. Тем не менее, средство форматирования подходит к кадру, когда предоставляется список путей к файлам и пропускает (не может прочитать) файл при запуске в качестве задачи Ant Java. Запуск так же, как сценарий по отдельности или как пакет, не выдает ту же ошибку.
Это проблема с задачей Ant Java? Установка fork = "True" в задаче Java не имеет никакого эффекта. Код результата возвращается по-прежнему 1.
Скрипты bash доступны в моем репозитории LearnJava.
Сценарии: buildant, buildantall, format и formatall.
Build.xml и build.properties находятся в каждом каталоге проекта.
Проекты, для которых вы можете попробовать запустить сценарии индивидуально, это Facade2 и Composite2.
Вам понадобится как минимум JDK 8, чтобы скомпилировать все. JDK 7 подойдет для всех других проектов, кроме Composite2, который использует лямбда-выражения.
Заранее спасибо.
Задача муравья настроена следующим образом:
<target name="gformat">
<exec executable="find" dir="${basedir}"
failonerror="true" outputproperty="sources">
<arg line=" . -type f -name '*.java'"/>
</exec>
<echo message="About to format ...: ${sources}"/>
<java classname="${gformat.main.class}">
<arg line=" -i ${sources}"/>
<classpath>
<pathelement location="../${gformat.jar}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
0 ответов
Проблема с задачей поиска заключается в том, что она ставит разделитель строк между каждым именем файла, а не пробел, который форматтер ожидает в командной строке. Решение состоит в том, чтобы либо использовать grep и заменить разделитель строк пробелом, либо использовать задачу ant, как указано выше, с указанным разделителем пробелов.