Pregunta

Soy un usuario solitario de Emacs en un grupo que colgó en Eclipse. Una y otra vez, las diferencias de código se hacen más grandes por las importaciones que se han & Quot; organizado & Quot; o " limpiado " por Eclipse.

No tengo una opinión sólida sobre el tema del estilo de importación en Java, pero sí quiero minimizar nuestras diferencias. ¿Qué puedo hacer?

Utilizamos Maven2 para compilaciones; ¿Hay algún complemento que pueda ayudarme? ¿Se puede extraer un fragmento de Eclipse de & Amp; convertido en un complemento Maven? Actualmente uso ImportScrubber y he encontrado algunas otras piezas independientes que hacen lo mismo. Lo que realmente estoy buscando es un complemento Maven que pueda integrarse con la compilación.

Salvo lo anterior, pondré una invocación ImportScrubber en mi .git/hooks/post-commit.

¿Fue útil?

Solución

El Hybridlabs embellecedor que se utiliza internamente en el openArchitectureWare (un marco generador de código abierto) está haciendo lo que está buscando. Como se explica en esta entrada de blog , el embellecedor está disponible como proyecto Google Code y su documentación describe un complemento de 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>

De hecho, hay un mojo en árbol de origen pero no coincide con el groupId mencionado anteriormente (esto es un poco confuso) y no he podido encuentre el complemento en el repositorio público de maven.

Quizás tenga más suerte con la versión disponible en el repositorio de complementos de AndroMDA como se documenta en este hilo (el complemento está realmente presente en http: / /team.andromda.org/maven2/ ).

  

El complemento está debajo   org.apache.maven.plugins.maven-beautifier-plugin.   Se puede ejecutar con la forma corta:   mvn beautifier:beautify-imports. Eso   también se puede ejecutar como parte de un proyecto   pom agregando la declaración del complemento   bajo <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>

O comuníquese con el autor del proyecto (por ejemplo, a través de twitter o por correo).

Otros consejos

Creo que todos ustedes (Eclipse, Emacs o cualquier usuario) deberían usar algo como Jalopy, que admite tanto Eclipse y Maven . De esta manera, se vuelve irrelevante dónde se modificó el código siempre que se haya ejecutado a través de una impresora bonita como parte del registro de entrada. Dijo eso: no estoy seguro de si Jalopy admite la organización de las importaciones más allá de ordenarlas

¿Su tienda tiene estándares de código para organizar las importaciones? Si es así, entonces no tienes suerte. Minimizar las diferencias es un pequeño sacrificio para mejorar el código incremental.

También he encontrado un ImportScrubber plugin . Todavía no puedo dar fe de su calidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top