Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

maven "rerun with -feature" when compiling scala

I recently noticed Scala compiler warnings that maven was generating that looked like this:

[WARNING] warning: there were 4 deprecation warning(s); re-run with -deprecation for details

[WARNING] warning: there were 3 feature warning(s); re-run with -feature for details

[WARNING] two warnings found

It was not immediately apparent to me how to follow the warning's instructions so I could get details on how to change my code.

like image 762
Philip O. Avatar asked Mar 18 '14 23:03

Philip O.


2 Answers

Just to make it clearer from Philip's answer (as specified on the plugin page), add the following to your pom.xml file:

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    ...
    <configuration>
        <args>
            <arg>-deprecation</arg>
            <arg>-feature</arg>
        </args>
    </configuration>
</plugin>
like image 126
krookedking Avatar answered Sep 22 '22 09:09

krookedking


It turns out that these two instructions are coming from the Scala compiler and so what needs to happen under the covers is for scalac to be called with -deprecation or -feature as described here:

http://www.scala-lang.org/files/archive/nightly/docs-2.10.3/manual/html/scalac.html

(actually I never saw the -feature option explained anywhere but I was able to specify it as follows)

I'm using the scala-maven-plugin and compiling with scala:compile described here:

http://davidb.github.io/scala-maven-plugin/compile-mojo.html

The relevant parameter is described here:

http://davidb.github.io/scala-maven-plugin/compile-mojo.html#addScalacArgs

So, two maven commands that I found helpful were:

mvn clean compile -DaddScalacArgs=-deprecation mvn clean compile -DaddScalacArgs=-feature

like image 38
Philip O. Avatar answered Sep 20 '22 09:09

Philip O.