Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add scalacOptions "-Xlint" #473

Open
georgeOsdDev opened this issue Oct 27, 2014 · 2 comments
Open

Add scalacOptions "-Xlint" #473

georgeOsdDev opened this issue Oct 27, 2014 · 2 comments

Comments

@georgeOsdDev
Copy link
Member

Available Xlint options

oshidatakeharu@oshida [xitrum] scalac -Xlint:help
Enable or disable specific warnings:
  adapted-args              Warn if an argument list is modified to match the receiver.
  by-name-right-associative By-name parameter of right associative operator
  delayedinit-select        Selecting member of DelayedInit
  doc-detached              A ScalaDoc comment appears to be detached from its element.
  inaccessible              Warn about inaccessible types in method signatures.
  infer-any                 Warn when a type argument is inferred to be `Any`.
  missing-interpolator      A string literal appears to be missing an interpolator id.
  nullary-override          Warn when non-nullary `def f()' overrides nullary `def f'.
  nullary-unit              Warn when nullary methods return Unit.
  option-implicit           Option.apply used implicit view.
  package-object-classes    Class or object defined in package object
  poly-implicit-overload    Parameterized overloaded implicit methods are not visible as view bounds
  private-shadow            A private field (or class parameter) shadows a superclass field.
  unsound-match             Pattern match may not be typesafe

Available -Ywarn options

oshidatakeharu@oshida [xitrum] scalac -Y |&grep warn
  -Yinline-warnings                       Emit inlining warnings. (Normally surpressed due to high volume)
  -Ywarn-adapted-args                     Warn if an argument list is modified to match the receiver.
  -Ywarn-dead-code                        Warn when dead code is identified.
  -Ywarn-inaccessible                     Warn about inaccessible types in method signatures.
  -Ywarn-infer-any                        Warn when a type argument is inferred to be `Any`.
  -Ywarn-nullary-override                 Warn when non-nullary `def f()' overrides nullary `def f'.
  -Ywarn-nullary-unit                     Warn when nullary methods return Unit.
  -Ywarn-numeric-widen                    Warn when numerics are widened.
  -Ywarn-unused                           Warn when local and private vals, vars, defs, and types are are unused
  -Ywarn-unused-import                    Warn when imports are unused
  -Ywarn-value-discard                    Warn when non-Unit expression results are unused.

If I use scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-Ywarn-unused", "-Ywarn-unused-import", "-Xlint") these warnings will be appear.

oshidatakeharu@oshida [xitrum] rm -rf src/main/scala/xitrum/Version.scala
oshidatakeharu@oshida [xitrum] sbt clean compile
[info] Loading project definition from /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/project
[info] Set current project to xitrum (in build file:/Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/)
[success] Total time: 0 s, completed Oct 27, 2014 11:21:36 AM
[info] Updating {file:/Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/}xitrum...
[info] Resolving jline#jline;2.12 ...
[info] Done updating.
[info] Compiling 116 Scala sources to /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/target/scala-2.11/classes...
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala-2.11/xitrum/routing/RouteCollector.scala:117: local var routeOrder in method collectNormalRoutes is never set - it could be a val
[warn]     var routeOrder          = optRouteOrder(annotations.routeOrder)  // -1: first, 1: last, 0: other
[warn]         ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala-2.11/xitrum/routing/RouteCollector.scala:118: local var cacheSecs in method collectNormalRoutes is never set - it could be a val
[warn]     var cacheSecs           = optCacheSecs(annotations.cache)        // < 0: cache action, > 0: cache page, 0: no cache
[warn]         ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala-2.11/xitrum/routing/RouteCollector.scala:119: local var method_pattern_coll in method collectNormalRoutes is never set - it could be a val
[warn]     var method_pattern_coll = ArrayBuffer.empty[(String, String)]
[warn]         ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/Action.scala:16: Unused import
[warn] import xitrum.handler.{AccessLog, HandlerEnv, NoRealPipelining}
[warn]                                   ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/Config.scala:17: Unused import
[warn] import xitrum.routing.{DiscoveredAcc, RouteCollection, RouteCollector, SerializableRouteCollection}
[warn]                                                                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/Server.scala:3: Unused import
[warn] import java.io.File
[warn]                ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/Server.scala:17: Unused import
[warn] import xitrum.handler.inbound.Dispatcher
[warn]                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/SockJsAction.scala:5: Unused import
[warn] import xitrum.handler.{DefaultHttpChannelInitializer, HandlerEnv}
[warn]                                                       ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/action/Filter.scala:6: Unused import
[warn] import xitrum.routing.Route
[warn]                       ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/action/Url.scala:7: Unused import
[warn] import xitrum.handler.inbound.PublicFileServer
[warn]                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/etag/Etag.scala:6: Unused import
[warn] import io.netty.buffer.Unpooled
[warn]                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/etag/Etag.scala:9: Unused import
[warn] import HttpHeaders.Values._
[warn]                           ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/etag/NotModified.scala:9: Unused import
[warn] import HttpResponseStatus._
[warn]                           ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/AccessLog.scala:5: Unused import
[warn] import scala.collection.JavaConverters._
[warn]                                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/AccessLog.scala:61: private val in object AccessLog is never used
[warn]   private val gauge = xitrum.Metrics.gauge("lastExecutionTime") {
[warn]               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/NoRealPipelining.scala:4: Unused import
[warn] import io.netty.handler.codec.http.{HttpHeaders, HttpRequest, HttpResponse}
[warn]                                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/inbound/Dispatcher.scala:10: Unused import
[warn] import HttpVersion._
[warn]                    ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/inbound/Dispatcher.scala:15: Unused import
[warn] import xitrum.{Action, ActorAction, FutureAction, Config, Log}
[warn]                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/inbound/Request2Env.scala:24: Unused import
[warn] import xitrum.scope.request.{FileUploadParams, Params, PathInfo}
[warn]                                                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/FixiOS6SafariPOST.scala:4: Unused import
[warn] import io.netty.handler.codec.http.{HttpHeaders, HttpMethod, HttpRequest, HttpResponse}
[warn]                                                              ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/FixiOS6SafariPOST.scala:4: Unused import
[warn] import io.netty.handler.codec.http.{HttpHeaders, HttpMethod, HttpRequest, HttpResponse}
[warn]                                                                           ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/OPTIONSResponse.scala:3: Unused import
[warn] import io.netty.buffer.Unpooled
[warn]                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/OPTIONSResponse.scala:5: Unused import
[warn] import io.netty.handler.codec.http.{DefaultHttpResponse, HttpHeaders, HttpMethod, HttpRequest, HttpResponse, HttpResponseStatus}
[warn]                                     ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/OPTIONSResponse.scala:5: Unused import
[warn] import io.netty.handler.codec.http.{DefaultHttpResponse, HttpHeaders, HttpMethod, HttpRequest, HttpResponse, HttpResponseStatus}
[warn]                                                                                   ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/OPTIONSResponse.scala:5: Unused import
[warn] import io.netty.handler.codec.http.{DefaultHttpResponse, HttpHeaders, HttpMethod, HttpRequest, HttpResponse, HttpResponseStatus}
[warn]                                                                                                ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/OPTIONSResponse.scala:7: Unused import
[warn] import HttpHeaders.Names._
[warn]                          ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendFile.scala:16: Unused import
[warn] import HttpVersion._
[warn]                    ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:3: Unused import
[warn] import java.io.{File, RandomAccessFile}
[warn]                 ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:3: Unused import
[warn] import java.io.{File, RandomAccessFile}
[warn]                       ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:6: Unused import
[warn] import io.netty.channel.{ChannelHandler, ChannelHandlerContext, ChannelFuture, DefaultFileRegion, ChannelFutureListener, ChannelOutboundHandlerAdapter, ChannelPromise}
[warn]                                                                 ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:6: Unused import
[warn] import io.netty.channel.{ChannelHandler, ChannelHandlerContext, ChannelFuture, DefaultFileRegion, ChannelFutureListener, ChannelOutboundHandlerAdapter, ChannelPromise}
[warn]                                                                                ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:6: Unused import
[warn] import io.netty.channel.{ChannelHandler, ChannelHandlerContext, ChannelFuture, DefaultFileRegion, ChannelFutureListener, ChannelOutboundHandlerAdapter, ChannelPromise}
[warn]                                                                                                   ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:10: Unused import
[warn] import HttpHeaders.Values._
[warn]                           ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:13: Unused import
[warn] import HttpVersion._
[warn]                    ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:15: Unused import
[warn] import xitrum.Config
[warn]               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:16: Unused import
[warn] import xitrum.etag.{Etag, NotModified}
[warn]                           ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/handler/outbound/XSendResource.scala:18: Unused import
[warn] import xitrum.util.{ByteBufUtil, Gzip, Mime}
[warn]                                        ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/local/LruCache.scala:3: Unused import
[warn] import java.util.Collections
[warn]                  ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/local/LruCache.scala:4: Unused import
[warn] import com.typesafe.config.ConfigObject
[warn]                            ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/local/LruSessionStore.scala:3: Unused import
[warn] import scala.collection.mutable.{Map => MMap}
[warn]                                  ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/metrics/MetricsAction.scala:14: Unused import
[warn] import xitrum.view.{DocType, Js}
[warn]                              ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/metrics/MetricsAction.scala:51: private var in class MetricsPublisher is never used
[warn]   private var cachedRegistryAsJson: String           = _
[warn]               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:338: Adapting argument list by creating a 3-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: firstGETs, lastGETs, otherGETs
[warn]  after adaptation: Some((firstGETs, lastGETs, otherGETs): (scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route]))
[warn]     if (methodName == "GET")       return Some(firstGETs,       lastGETs,       otherGETs)
[warn]                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:339: Adapting argument list by creating a 3-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: firstPOSTs, lastPOSTs, otherPOSTs
[warn]  after adaptation: Some((firstPOSTs, lastPOSTs, otherPOSTs): (scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route]))
[warn]     if (methodName == "POST")      return Some(firstPOSTs,      lastPOSTs,      otherPOSTs)
[warn]                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:340: Adapting argument list by creating a 3-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: firstPUTs, lastPUTs, otherPUTs
[warn]  after adaptation: Some((firstPUTs, lastPUTs, otherPUTs): (scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route]))
[warn]     if (methodName == "PUT")       return Some(firstPUTs,       lastPUTs,       otherPUTs)
[warn]                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:341: Adapting argument list by creating a 3-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: firstPATCHs, lastPATCHs, otherPATCHs
[warn]  after adaptation: Some((firstPATCHs, lastPATCHs, otherPATCHs): (scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route]))
[warn]     if (methodName == "PATCH")     return Some(firstPATCHs,     lastPATCHs,     otherPATCHs)
[warn]                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:342: Adapting argument list by creating a 3-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: firstDELETEs, lastDELETEs, otherDELETEs
[warn]  after adaptation: Some((firstDELETEs, lastDELETEs, otherDELETEs): (scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route]))
[warn]     if (methodName == "DELETE")    return Some(firstDELETEs,    lastDELETEs,    otherDELETEs)
[warn]                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:343: Adapting argument list by creating a 3-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: firstWEBSOCKETs, lastWEBSOCKETs, otherWEBSOCKETs
[warn]  after adaptation: Some((firstWEBSOCKETs, lastWEBSOCKETs, otherWEBSOCKETs): (scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route], scala.collection.mutable.ArrayBuffer[xitrum.routing.Route]))
[warn]     if (methodName == "WEBSOCKET") return Some(firstWEBSOCKETs, lastWEBSOCKETs, otherWEBSOCKETs)
[warn]                                               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:354: Adapting argument list by creating a 2-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: route, params
[warn]  after adaptation: Some((route, params): (xitrum.routing.Route, xitrum.scope.request.Params))
[warn]       case Some(params) => Some(route, params)
[warn]                                ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:226: local var others in method logRoutes is never set - it could be a val
[warn]     var others = ArrayBuffer.empty[(String, String, String)]
[warn]         ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/RouteCollection.scala:250: local var all in method logRoutes is never set - it could be a val
[warn]     var all = firsts ++ others.sortBy(_._2) ++ lasts
[warn]                                             ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/SerializableRouteCollection.scala:5: Unused import
[warn] import xitrum.Action
[warn]               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/SwaggerActions.scala:7: Unused import
[warn] import org.json4s.jackson._
[warn]                           ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/routing/SwaggerActions.scala:181: private method in object SwaggerJson is never used
[warn]   private def annotation2Method(annotation: Any): Seq[ApiMethod] = annotation match {
[warn]               ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/scope/request/RequestEnv.scala:8: Unused import
[warn] import xitrum.routing.Route
[warn]                       ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/scope/session/Csrf.scala:6: Unused import
[warn] import xitrum.exception.InvalidAntiCsrfToken
[warn]                         ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/scope/session/SessionStore.scala:3: Unused import
[warn] import xitrum.scope.request.RequestEnv
[warn]                             ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/sockjs/NonWebSocketSession.scala:73: Adapting argument list by creating a 2-tuple: this may not be what you want.
[warn]         signature: ScalaActorRef.!(message: Any)(implicit sender: akka.actor.ActorRef): Unit
[warn]   given arguments: self, action
[warn]  after adaptation: ScalaActorRef.!((self, action): (akka.actor.ActorRef, xitrum.Action))
[warn]     sockJsActorRef ! (self, action)
[warn]                    ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/sockjs/SockJsActions.scala:817: Adapting argument list by creating a 2-tuple: this may not be what you want.
[warn]         signature: ScalaActorRef.!(message: Any)(implicit sender: akka.actor.ActorRef): Unit
[warn]   given arguments: self, currentAction
[warn]  after adaptation: ScalaActorRef.!((self, currentAction): (akka.actor.ActorRef, xitrum.Action))
[warn]     sockJsActorRef ! (self, currentAction)
[warn]                    ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/sockjs/SockJsActions.scala:873: Adapting argument list by creating a 2-tuple: this may not be what you want.
[warn]         signature: ScalaActorRef.!(message: Any)(implicit sender: akka.actor.ActorRef): Unit
[warn]   given arguments: self, currentAction
[warn]  after adaptation: ScalaActorRef.!((self, currentAction): (akka.actor.ActorRef, xitrum.Action))
[warn]     sockJsActorRef ! (self, currentAction)
[warn]                    ^
[warn] /Users/oshidatakeharu/Project/scala/xitrum-framework/xitrum/src/main/scala/xitrum/util/Loader.scala:35: local var buffer in method bytesFromInputStream is never set - it could be a val
[warn]       var buffer = new Array[Byte](BUFFER_SIZE)
[warn]           ^
[warn] 61 warnings found
[success] Total time: 42 s, completed Oct 27, 2014 11:22:18 AM
@ngocdaothanh
Copy link
Member

👍

ngocdaothanh added a commit that referenced this issue Jul 15, 2015
@ngocdaothanh
Copy link
Member

I've just removed unused imports.
I'm using IntelliJ, it can show unused imports.
Hope Eclipse will soon have this feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants