Github user ctubbsii commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/275#discussion_r128375950
  
    --- Diff: 
core/src/main/java/org/apache/accumulo/core/iterators/system/LocalityGroupIterator.java
 ---
    @@ -16,23 +16,28 @@
      */
     package org.apache.accumulo.core.iterators.system;
     
    +import com.google.common.collect.ImmutableSet;
    --- End diff --
    
    I actually don't think we have a well-defined ordering in Accumulo. If we 
do, I don't know what it is. I think we've mostly used Eclipse defaults from 
the beginning, but as other developers use other IDEs, it's probably important 
that we establish a well-defined ordering (if we don't have one).
    
    I know Fluo has a well-defined ordering, but it's hard to enforce 
automatically. I'm [currently writing a Maven plugin to automatically sort 
imports in the build][1]. So that way, this won't be an issue at all. I've been 
testing it with Accumulo, and it works well, but it's slow. It adds 2.5 minutes 
to the build time on Accumulo. I'm working on migrating some of the parsing 
code I wrote using RegExs to a proper AST parser, which should be about 10x 
faster, but there's some fringe cases that make that hard. In particular, Java 
files can have "orphaned" comments (not connected to any other node in the 
parse tree) interspersed with imports, which are annoying to deal with. And 
also, the libraries I've looked at don't seem to make it easy to rewrite a 
file's imports without changing the rest of the file's style.
    
    [1]: https://github.com/revelc/impsort-maven-plugin


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to