Skip to content

Commit

Permalink
Merge branch 'mkljakubowski-main'
Browse files Browse the repository at this point in the history
  • Loading branch information
julianpeeters committed Jan 1, 2025
2 parents 68362d7 + e2d1f74 commit cd6c2d9
Show file tree
Hide file tree
Showing 19 changed files with 44 additions and 39 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Install the plugin (compatible with sbt 1.3+)
Add the following lines to the file ``myproject/project/plugins.sbt`` in your
project directory:

addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")



Expand All @@ -31,7 +31,7 @@ Wire the tasks into `compile` in your `build.sbt`:

e.g.: `Compile / sourceGenerators += (Compile / avroScalaGenerate).taskValue`

By [default](https://github.com/julianpeeters/sbt-avrohugger#settings), the plugin looks Avro files in `src/main/avro` and generates Scala files in `$sourceManaged`, e.g., `target/scala-3.3.1/src_managed/main/compiled_avro/` (to choose different locations, please see [Changing Settings](https://github.com/julianpeeters/sbt-avrohugger#changing-settings)).
By [default](https://github.com/julianpeeters/sbt-avrohugger#settings), the plugin looks Avro files in `src/main/avro` and generates Scala files in `$sourceManaged`, e.g., `target/scala-3.3.4/src_managed/main/compiled_avro/` (to choose different locations, please see [Changing Settings](https://github.com/julianpeeters/sbt-avrohugger#changing-settings)).

#### Test

Expand Down
6 changes: 3 additions & 3 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ThisBuild / organization := "com.julianpeeters"
ThisBuild / description := "Sbt plugin for compiling Avro to Scala"
ThisBuild / version := "2.9.0"
ThisBuild / version := "2.10.0"
ThisBuild / versionScheme := Some("semver-spec")

enablePlugins(SbtPlugin)
Expand All @@ -14,8 +14,8 @@ ThisBuild / crossSbtVersions := Seq(sbtVersion.value)
ThisBuild / scalacOptions ++= Seq("-unchecked", "-deprecation", "-feature", "-Ywarn-value-discard")

ThisBuild / libraryDependencies ++= Seq(
"com.julianpeeters" %% "avrohugger-core" % "2.9.0",
"com.julianpeeters" %% "avrohugger-filesorter" % "2.9.0",
"com.julianpeeters" %% "avrohugger-core" % "2.10.0",
"com.julianpeeters" %% "avrohugger-filesorter" % "2.10.0",
"io.spray" %% "spray-json" % "1.3.6",
"org.specs2" %% "specs2-core" % "4.20.2" % "test")

Expand Down
41 changes: 23 additions & 18 deletions src/main/scala/sbtavrohugger/FileWriter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,42 @@ import sbt.Path._
object FileWriter {

private[sbtavrohugger] def generateCaseClasses(
generator: Generator,
srcDirs: Seq[File],
target: File,
log: Logger): Set[java.io.File] = {
generator: Generator,
srcDirs: Seq[File],
target: File,
log: Logger): Set[java.io.File] = {
log.info("Considering source directories %s".format(srcDirs.mkString(",")))

def getSrcFiles(dirs: Seq[File], fileExtension: String) = for {
srcDir <- dirs
srcFile <- (srcDir ** s"*.$fileExtension").get
} yield srcFile

for (inFile <- AvscFileSorter.sortSchemaFiles(getSrcFiles(srcDirs, "avsc"))) {
log.info("Compiling AVSC %s to %s".format(inFile, target.getPath))
generator.fileToFile(inFile, target.getPath)

val avscFiles = AvscFileSorter.sortSchemaFiles(getSrcFiles(srcDirs, "avsc")).toList
if (avscFiles.nonEmpty) {
log.info("Compiling AVSC files \n%s".format(avscFiles.mkString("\n")))
generator.filesToFiles(avscFiles, target.getPath)
}

for (idlFile <- AvdlFileSorter.sortSchemaFiles(getSrcFiles(srcDirs, "avdl"))) {
log.info("Compiling Avro IDL %s".format(idlFile))
generator.fileToFile(idlFile, target.getPath)
val avdlFiles = AvdlFileSorter.sortSchemaFiles(getSrcFiles(srcDirs, "avdl")).toList
if (avdlFiles.nonEmpty) {
log.info("Compiling Avro IDL files \n%s".format(avdlFiles.mkString("\n")))
generator.filesToFiles(avdlFiles, target.getPath)
}

for (inFile <- getSrcFiles(srcDirs, "avro")) {
log.info("Compiling Avro datafile %s".format(inFile))
generator.fileToFile(inFile, target.getPath)
val avroFiles = getSrcFiles(srcDirs, "avro").toList
if (avroFiles.nonEmpty) {
log.info("Compiling Avro datafiles \n%s".format(avroFiles.mkString("\n")))
generator.filesToFiles(avroFiles, target.getPath)
}

for (protocol <- getSrcFiles(srcDirs, "avpr")) {
log.info("Compiling Avro protocol %s".format(protocol))
generator.fileToFile(protocol, target.getPath)
val avprFiles = getSrcFiles(srcDirs, "avpr").toList
if (avprFiles.nonEmpty) {
log.info("Compiling Avro protocols \n%s".format(avprFiles.mkString("\n")))
generator.filesToFiles(avprFiles, target.getPath)
}

(target ** ("*.java"|"*.scala")).get.toSet
(target ** ("*.java" | "*.scala")).get.toSet
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file("~/.ivy2/local/"))(Resolver.ivyStylePatterns)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

resolvers += Resolver.file("Local Ivy Repository", file(Path.userHome.absolutePath + "/.ivy2/local/"))(Resolver.ivyStylePatterns)

Expand Down
2 changes: 1 addition & 1 deletion src/sbt-test/avrohugger/filesorter/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.9.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.10.0")

0 comments on commit cd6c2d9

Please sign in to comment.