Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 1.7 KB

README.md

File metadata and controls

37 lines (25 loc) · 1.7 KB

Alacs - Bug finder for Scala

NOTE Alacs is not currently being developed by Yuvi, as all my effort has shifted to qualac. However, 95% of the code base here is ready to add bug rules. In fact there are alaready several in place. If you'd like to work on Alacs, shoot me an email and I'd be glad to help.

Goals

The aim is to provide a tool for finding defects in Scala tools by analyzing ASTs in compilation. Think FindBugs for Scala.

Try it

Alacs is not ready for serious use, but feel free to try it out.

sbt

Modify your Project.scala thusly:

import sbt._
class Project(info: ProjectInfo) extends DefaultProject(info) with AutoCompilerPlugins {
  val scalaToolsSnapshots = "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
  val alacs = compilerPlugin("com.github.alacs" %% "alacs" % "0.0.0-SNAPSHOT")
}

CLI

  • Build the project with sbt package on the command line.
  • scalac -Xplugin:/path/to/alacs/target/scala_2.8.1/alacs_2.8.1-0.0.0-SNAPSHOT.jar -Xplugin-require:alacs foo.scala

IDEs

There is no special support for IDEs (Eclipse, IntelliJ, Netbeans) yet. For all I know it's really trivial to use compiler plugins with them.

Resources

The scala-corpus is a large collection of Scala code intended for testing Alacs.

Contributing

There are two ways to contribute to Alacs:

  • Submitting suggestions for bug reports. You can do this on the wiki.
  • Writing code (e.g., submitting patches, joining the team, etc.).

Thank you for helping improve Alacs!