2012-12-15 5 views
0

sbt-jflex 플러그인을 사용하여 jblex (0.12)의 주 javac 단계 전에 JFlex를 통해 Java 소스를 생성하기 위해 머리말을 붙이고 있습니다.sbt JFlex 플러그인으로 자바 소스 생성

플러그인은 ANTLR 플러그인의 복제본이며 후자를 사용하는 방법을 보여주는 this question이 있습니다. ,

jflexSettings 

sourceGenerators in Compile <+= generate in jflex 

하지만 여야 뭔가 잘못하고, 또는 javac의 단계는 소스 발전기 앞에 오는 : ./build.sbt

addSbtPlugin("org.scalanlp" % "sbt-jflex" % "0.1-SNAPSHOT") 

그리고이 :

그래서 나는 project/plugins.sbt에 다음 한 sbt compile을 실행하면 메시지가 표시되지 않습니다. "JFlex: Using JFlex version X to generate source files". 대신 SBT는 JFlex 출력이 그 단계에 없기 때문에 자바가

[info] Compiling 91 Java sources to ... 

을 소싱 그리고 실패 컴파일 똑바로 간다. source-directories을 실행하면 target/src_managed/main과 같이 src/main/jflex이 실제로 포함되어 있음을 알 수 있습니다.

답변

0

디버그 인쇄물을 주사 해본 후, sbt-jflex 플러그인은 소스가 src/main/flex 인 것으로 가정하고 프로젝트는 src/main/jflex 인 것으로 나타났습니다. 다음을 추가하면 수정됩니다.

sourceDirectory in jflex <<= (sourceDirectory in Compile) { _/"jflex" }