Организовать импорт с Maven2 в стиле Eclipse? - PullRequest
1 голос
/ 30 октября 2009

Я одинокий пользователь Emacs в группе, которая зависает в Eclipse. Снова и снова различия кода увеличиваются за счет импорта, который был «организован» или «очищен» Eclipse.

У меня нет четкого мнения по поводу стиля импорта в Java, но я хочу минимизировать наши различия. Что я могу сделать?

Мы используем Maven2 для сборки; Есть ли плагин, который может мне помочь? Можно ли абстрагировать кусок Eclipse и превратить в плагин Maven? В настоящее время я использую ImportScrubber и столкнулся с несколькими другими отдельными компонентами, которые делают то же самое. Что мне действительно нужно, так это плагин Maven, который можно интегрировать со сборкой.

За исключением вышесказанного, я добавлю вызов ImportScrubber в мой .git/hooks/post-commit.

Ответы [ 4 ]

2 голосов
/ 31 октября 2009

Устройство Hybridlabs , которое используется внутри проекта openArchitectureWare (среда генератора с открытым исходным кодом), делает то, что вам нужно. Как объясняется в этой записи блога , beautifier доступен как проект Google Code , а в его документации описан плагин maven 2:

<plugin>
    <groupId>org.hybridlabs</groupId>
    <artifactId>maven-beautifier-plugin</artifactId>
    <executions>
         <execution>
             <goals>
                 <goal>beautify-imports</goal>
             </goals>
         </execution>
     </executions>
    <configuration>
         <!-- Recursively scan for *.java and beautifies imports -->
         <inputDirectory>${pom.basedir}/..</inputDirectory>
         <!--outputDirectory>${pom.basedir}/..</outputDirectory>
         <runBeautifier>true/runBeautifier>
         <runJalopy>false</runJalopy-->
    </configuration>
</plugin>

Действительно, в исходном дереве действительно есть mojo , но оно не соответствует groupId, упомянутому выше (это немного сбивает с толку), и я не смог найти плагин в maven публичный репозиторий.

Возможно, вам повезет больше с версией, доступной в репозитории плагинов AndroMDA, как описано в этой теме (плагин действительно присутствует в http://team.andromda.org/maven2/).

Плагин находится под org.apache.maven.plugins.maven-beautifier-plugin. Его можно запустить с краткой формой: mvn beautifier:beautify-imports. Это также может быть запущен как часть проекта Пом, добавив объявление плагина под <build><plugins>:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-beautifier-plugin</artifactId>
    <version>1.0</version>
    <executions>
        <execution>
            <goals>
                <goal>beautify-imports</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <inputDirectory>${pom.basedir}/target/src</inputDirectory>
    </configuration>
</plugin>

Или свяжитесь с автором проекта (например, через twitter или по почте).

1 голос
/ 30 октября 2009

Я думаю, что все вы (Eclipse, Emacs или другие пользователи) должны использовать что-то вроде Jalopy, которое поддерживает как Eclipse , так и Maven . Таким образом, становится неуместным, когда код был изменен, если он был запущен через pretty-printer как часть проверки кода. Сказал, что - я не уверен, поддерживает ли Jalopy организацию импорта, помимо сортировки этих

0 голосов
/ 31 октября 2009

Я также нашел плагин ImportScrubber . Пока не могу подтвердить его качество.

0 голосов
/ 30 октября 2009

Есть ли в вашем магазине стандарты кода для организации импорта? Если так, то вам не повезло. Минимизация различий - это небольшая жертва ради постепенного улучшения кода.

...