aboutsummaryrefslogtreecommitdiff
path: root/mavlink-plugin
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-03-23 12:01:38 +0100
committerJakob Odersky <jodersky@gmail.com>2015-03-23 12:01:38 +0100
commitd46a344b15fde5fabdb0917f321d3169242edc55 (patch)
tree279d4e46653da431487c902866d18d683a5c104d /mavlink-plugin
parentdac8f076338ad121ce482993b226f945304969dc (diff)
downloadsbt-mavlink-d46a344b15fde5fabdb0917f321d3169242edc55.tar.gz
sbt-mavlink-d46a344b15fde5fabdb0917f321d3169242edc55.tar.bz2
sbt-mavlink-d46a344b15fde5fabdb0917f321d3169242edc55.zip
generate bindings only when neededv0.3
Diffstat (limited to 'mavlink-plugin')
-rw-r--r--mavlink-plugin/src/main/scala/com/github/jodersky/mavlink/sbt/SbtMavlink.scala16
1 files changed, 8 insertions, 8 deletions
diff --git a/mavlink-plugin/src/main/scala/com/github/jodersky/mavlink/sbt/SbtMavlink.scala b/mavlink-plugin/src/main/scala/com/github/jodersky/mavlink/sbt/SbtMavlink.scala
index 613538c..e1b044b 100644
--- a/mavlink-plugin/src/main/scala/com/github/jodersky/mavlink/sbt/SbtMavlink.scala
+++ b/mavlink-plugin/src/main/scala/com/github/jodersky/mavlink/sbt/SbtMavlink.scala
@@ -38,20 +38,20 @@ object SbtMavlink extends AutoPlugin {
val dialectDefinition = XML.loadFile(dialectDefinitionFile)
val dialect = (new Parser(reporter)).parseDialect(dialectDefinition)
- val pathToSource = (new Generator(dialect)).generate()
+ val targets = (new Generator(dialect)).targets
val outDirectory = mavlinkTarget.value
- streams.value.log.info("Generating mavlink files...")
+ val files = for (tgt <- targets) yield {
+ val file = outDirectory / tgt.path
- val files = for ((path, source) <- pathToSource) yield {
- val file = outDirectory / path
- streams.value.log.info("Generating " + file)
- IO.write(file, source)
+ if (dialectDefinitionFile.lastModified > file.lastModified) {
+ streams.value.log.info("Generating mavlink binding " + file)
+ IO.write(file, tgt.generate())
+ }
file.getAbsoluteFile
}
-
- streams.value.log.info("Done generating mavlink files")
+
files
}