Advertisement
Guest User

Untitled

a guest
Apr 21st, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.92 KB | None | 0 0
  1. sourceGenerators in Compile <+= Def.task{
  2.   val JAVACC_OUTPUT_DIR = (sourceManaged in Compile).value / "generated/ca/polymtl/gigl/phpparser/grammar"
  3.   val cached = FileFunction.cached(JAVACC_OUTPUT_DIR, inStyle = FilesInfo.lastModified, outStyle = FilesInfo.exists)
  4.   {(in: Set[File]) =>
  5.     System.err.println(in.mkString)
  6.     if (in.contains(baseDirectory.value / "php.jjt"))sLog.value.error("PHP.JJT CHANGED!")
  7.     //
  8.     val jjtree = new org.javacc.jjtree.JJTree()
  9.     jjtree.main(Array(s"-OUTPUT_DIRECTORY=$JAVACC_OUTPUT_DIR", "php.jjt"))
  10.     sLog.value.info(s"Finished running JJTree - output in $JAVACC_OUTPUT_DIR")
  11.     org.javacc.parser.Main.mainProgram(Array(s"-OUTPUT_DIRECTORY=$JAVACC_OUTPUT_DIR", s"$JAVACC_OUTPUT_DIR/php.jj"))
  12.     sLog.value.success(s"Finished running JavaCC - output in $JAVACC_OUTPUT_DIR")
  13.     IO.listFiles(JAVACC_OUTPUT_DIR).toSet
  14.   }
  15.   cached(Set(baseDirectory.value / "php.jjt")).toSeq
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement