Domanda

Sono un utente Emacs solitario in un gruppo che ha riattaccato su Eclipse. Di volta in volta, le differenze di codice sono aumentate dalle importazioni che sono state & Quot; organizzate & Quot; oppure " ripulito " di Eclipse.

Non ho una forte opinione in merito allo stile di importazione in Java, ma voglio minimizzare le nostre differenze. Cosa posso fare?

Usiamo Maven2 per build; c'è un plugin che mi può aiutare? È possibile estrarre un pezzo di Eclipse dall'amplificatore &; trasformato in un plugin Maven? Attualmente uso ImportScrubber e ho incontrato alcuni altri pezzi indipendenti che fanno la stessa cosa. Quello che sto davvero cercando è un plugin Maven che può integrarsi con la build.

Salvo quanto sopra, inserirò una chiamata ImportScrubber nel mio .git/hooks/post-commit.

È stato utile?

Soluzione

L'estetizzatore Hybridlabs che viene utilizzato internamente nel openArchitectureWare (un framework di generatori open source) sta facendo quello che stai cercando. Come spiegato in questo voce di blog , la bellezza è disponibile come progetto Google Code e il suo documentazione descrive un plugin 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>

Esiste davvero un mojo nel albero dei sorgenti ma non corrisponde al groupId menzionato sopra (questo è un po 'confuso) e non sono stato in grado di trova il plugin nel repository pubblico di maven.

Forse sarai più fortunato con la versione disponibile nel repository di plugin AndroMDA come documentato in questa discussione (il plugin è effettivamente presente in http: / /team.andromda.org/maven2/ ).

  

Il plugin è sotto   org.apache.maven.plugins.maven-beautifier-plugin.   Può essere eseguito con la forma abbreviata:   mvn beautifier:beautify-imports. esso   può anche essere eseguito come parte di un progetto   pom aggiungendo la dichiarazione del plugin   sotto <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>

Oppure contatta l'autore del progetto (ad es. tramite twitter o via mail).

Altri suggerimenti

Penso che tutti voi (Eclipse, Emacs o qualunque altro utente) dovreste usare qualcosa come Jalopy che supporti entrambi Eclipse e Maven . In questo modo diventa irrilevante il punto in cui il codice è stato modificato fintanto che è stato eseguito tramite pretty-printer come parte del check in. Detto questo - Non sono sicuro che Jalopy supporti l'organizzazione delle importazioni oltre all'ordinamento

Il tuo negozio ha standard di codice per l'organizzazione delle importazioni? Se è così, allora sei sfortunato. Ridurre al minimo le differenze è un piccolo sacrificio da apportare al miglioramento incrementale del codice.

Ho anche trovato un plug-in ImportScrubber . Non posso ancora attestare la sua qualità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top