Skip to content

Commit

Permalink
Release version 2.8.0
Browse files Browse the repository at this point in the history
Remove support for Scavro format.
  • Loading branch information
julianpeeters committed Nov 1, 2023
1 parent 5ed9d09 commit d3468c2
Show file tree
Hide file tree
Showing 43 changed files with 42 additions and 143 deletions.
17 changes: 2 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ 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.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.0")


_NOTE:_ On **Nexus**, please set nexus proxy layout to `permissive` in to resolve artifacts with a sbt-version suffixes


Usage
Expand All @@ -25,7 +23,6 @@ The following tasks and settings are automatically imported to your build:
| Name | Description |
| -------------------------- | -----------------------------------------------------------------------------------------------:|
| `avroScalaGenerate` | Compiles the Avro files into Scala case classes. |
| `avroScalaGenerateScavro` | (`@deprecated`) Compiles the Avro files into Scala case class Scavro wrapper classes. |
| `avroScalaGenerateSpecific`| Compiles the Avro files into Scala case classes implementing `SpecificRecord`. |

#### Compile
Expand All @@ -34,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-2.13/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.1/src_managed/main/compiled_avro/` (to choose different locations, please see [Changing Settings](https://github.com/julianpeeters/sbt-avrohugger#changing-settings)).

#### Test

Expand Down Expand Up @@ -66,16 +63,6 @@ _**Standard Settings**_
| `avroScalaCustomNamespace` | ``Map.empty[String, String]`` | Map for reassigning namespaces.|


_**Scavro Settings (@deprecated)**_

| Name | Default | Description |
| -------------------------------- | -------------------------------------:| -----------------------------:|
| `avroScavroSourceDirectories` | ``Seq("src/main/avro")`` | List of paths containing ``*.avsc``, ``*.avdl``, and/or ``*.avro`` files. |
| `avroScavroScalaSource` | ``$sourceManaged/main/compiled_avro`` | Path for the generated ``*.scala`` or ``*.java`` files. |
| `avroScalaScavroCustomTypes` | ``Scavro.defaultTypes`` | Customizable Type Mapping.|
| `avroScalaScavroCustomNamespace` | ``Map.empty[String, String]`` | Map for reassigning namespaces. |


_**SpecificRecord Settings**_

| Name | Default | Description |
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.7.0"
ThisBuild / version := "2.8.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" % "1.7.0",
"com.julianpeeters" %% "avrohugger-filesorter" % "1.7.0",
"com.julianpeeters" %% "avrohugger-core" % "2.8.0",
"com.julianpeeters" %% "avrohugger-filesorter" % "2.8.0",
"io.spray" %% "spray-json" % "1.3.6",
"org.specs2" %% "specs2-core" % "4.20.2" % "test")

Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
50 changes: 3 additions & 47 deletions src/main/scala/sbtavrohugger/SbtAvrohugger.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package sbtavrohugger

import avrohugger.Generator
import avrohugger.format.{Scavro, SpecificRecord, Standard}
import avrohugger.format.{SpecificRecord, Standard}
import avrohugger.types.AvroScalaTypes
import java.io.File

Expand All @@ -21,21 +21,14 @@ object SbtAvrohugger extends AutoPlugin {
// sbt tasks:
lazy val avroScalaGenerateSpecific = taskKey[Seq[File]]("Generate Scala sources implementing SpecificRecord")
lazy val avroScalaGenerate = taskKey[Seq[File]]("Generate Scala sources from avro files")
@deprecated("Scavro format will no longer be supported", "sbt-avrohugger 2.5.0")
lazy val avroScalaGenerateScavro = taskKey[Seq[File]]("Generate Scala sources for Scavro")

// sbt settings
// Scavro Format
lazy val avroScavroSourceDirectories = settingKey[Seq[File]]("Avro schema directory for generating Scavro Scala")
lazy val avroScavroScalaSource = settingKey[File]("Scavro Scala source directory for compiled avro")
lazy val avroScalaScavroCustomTypes = settingKey[AvroScalaTypes]("Customize Avro to Scala type map by type")
lazy val avroScalaScavroCustomNamespace = settingKey[Map[String, String]]("Custom namespace of generated Scavro Scala code")
// SpecificRecord Format
// SpecificRecord Format
lazy val avroSpecificSourceDirectories = settingKey[Seq[File]]("Avro schema directory for generating SpecificRecord")
lazy val avroSpecificScalaSource = settingKey[File]("Specific Scala source directory for compiled avro")
lazy val avroScalaSpecificCustomTypes = settingKey[AvroScalaTypes]("Custom Avro to Scala type map")
lazy val avroScalaSpecificCustomNamespace = settingKey[Map[String, String]]("Custom namespace of generated Specific Scala code")
// Standard Format
// Standard Format
lazy val avroSourceDirectories = settingKey[Seq[File]]("Avro schema directory for Scala code generation")
lazy val avroScalaSource = settingKey[File]("Scala source directory for compiled avro")
lazy val avroScalaCustomTypes = settingKey[AvroScalaTypes]("Custom Scala types of generated Scala code")
Expand All @@ -48,7 +41,6 @@ object SbtAvrohugger extends AutoPlugin {

lazy val baseSettings =
avroSettings ++
scavroSettings ++
specificAvroSettings

override lazy val projectSettings: Seq[Def.Setting[_]] =
Expand Down Expand Up @@ -93,42 +85,6 @@ object SbtAvrohugger extends AutoPlugin {
}
)

// Scavro Format
@deprecated("Scavro format will no longer be supported", "sbt-avrohugger 2.5.0")
lazy val scavroSettings: Seq[Def.Setting[_]] = Seq(
avroScavroScalaSource := sourceManaged.value / "compiled_avro",
avroScavroSourceDirectories := Seq(sourceDirectory.value / "avro"),
avroScalaScavroCustomTypes := Scavro.defaultTypes,
avroScalaScavroCustomNamespace := Map.empty[String, String],
avroScalaGenerateScavro / logLevel := (logLevel?? Level.Info).value,
avroScalaGenerateScavro := {
val cache = crossTarget.value
val srcDirs = avroScavroSourceDirectories.value
val targetDir = avroScavroScalaSource.value
val out = streams.value
val majMinV(scalaV) = scalaVersion.value
val scavroCustomTypes = avroScalaScavroCustomTypes.value
val scavroCustomNamespace = avroScalaScavroCustomNamespace.value
val res = (Compile / resourceDirectory).value
val old = (Compile / scalaInstance).value
val classLoader = new java.net.URLClassLoader(Array(res.toURI().toURL()), old.loader)
val isNumberOfFieldsRestricted = scalaV == "2.10"
val gen = new Generator(
Scavro,
Some(scavroCustomTypes),
scavroCustomNamespace,
isNumberOfFieldsRestricted,
classLoader,
scalaV)
val cachedCompile = FileFunction.cached(
cache / "avro",
inStyle = FilesInfo.lastModified,
outStyle = FilesInfo.exists
) { (in: Set[File]) => FileWriter.generateCaseClasses(gen, srcDirs, targetDir, out.log) }
cachedCompile((srcDirs ** "*.av*").get.toSet).toSeq
}
)

// SpecificRecord Format
lazy val specificAvroSettings: Seq[Def.Setting[_]] = Seq(
avroSpecificScalaSource := sourceManaged.value / "compiled_avro",
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.0")

resolvers += Resolver.file("Local Ivy Repository", file("~/.ivy2/local/"))(Resolver.ivyStylePatterns)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.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 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
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.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.0")
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.7.0")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.8.0")
9 changes: 0 additions & 9 deletions src/sbt-test/sbt-avrohugger/scavro/build.sbt

This file was deleted.

This file was deleted.

9 changes: 0 additions & 9 deletions src/sbt-test/sbt-avrohugger/scavro/project/plugins.sbt

This file was deleted.

This file was deleted.

10 changes: 0 additions & 10 deletions src/sbt-test/sbt-avrohugger/scavro/src/main/avro/testAVSC.avsc

This file was deleted.

9 changes: 0 additions & 9 deletions src/sbt-test/sbt-avrohugger/scavro/test

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.6
sbt.version=1.9.7

0 comments on commit d3468c2

Please sign in to comment.