Skip to content
forked from saeta/sbt-avro

sbt plugin for generating the Java sources for Apache Avro schemas and protocols.

License

Notifications You must be signed in to change notification settings

stebourbi/sbt-avro

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sbt-avro

sbt-avro is a plugin for sbt-0.13.0 (and 0.12.1) for generating the Java sources for Avro schemas and protocols.

Usage

Install the plugin

Add the plugin according to the sbt documentation.

For instance, add the following lines to the file hello/project/build.sbt in your project directory:

resolvers += "sbt-plugin-releases" at "http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases"

addSbtPlugin("com.cavorite" % "sbt-avro" % "0.3.2")

Import the plugin settings

To activate the plugin, import its settings by adding the following lines to your hello/build.sbt file:

seq( sbtavro.SbtAvro.avroSettings : _*)

Scope

All settings and tasks are in the avro scope. If you want to execute the generate task directly, just run avro:generate.

Settings

Name Name in shell Default Description
sourceDirectory source-directory src/main/avro Path containing *.avsc, *.avdl and *.avpr files.
javaSource java-source $sourceManaged/compiled_avro Path for the generated *.java files.
version version 1.7.3 Version of the Avro library should be used. A dependency to "org.apache.avro" % "avro-compiler" % "$version" is automatically added to libraryDependencies.
stringType string-type CharSequence Java type for string elements. Possible values: CharSequence (by default), Utf8 and String.

Example

For example, if you want to change the Java type of the string elements in the schema, you can add the following lines to your build.sbt file:

seq( sbtavro.SbtAvro.avroSettings : _*)

(stringType in avroConfig) := "String"

Tasks

Name Name in shell Description
generate generate Compiles the Avro files. This task is automatically executed everytime the project is compiled.

License

This program is distributed under the BSD license. See the file LICENSE for more details.

Credits

sbt-avro is maintained by Juan Manuel Caicedo. I wrote it based on sbt-protobuf (even this README file!). This is my first attempt to write an sbt plugin, so feel free to send your comments and bug reports.

Contributors

_ Vince Tse

About

sbt plugin for generating the Java sources for Apache Avro schemas and protocols.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%