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, как указано выше, с указанным разделителем пробелов.

Другие вопросы по тегам