Giter VIP home page Giter VIP logo

sbt-avro's Introduction

sbt-avro

Looking for maintainers

I'm looking for maintainers of this project. I'm not actively working on sbt or Avro, and I won't be able to review pull-requests or fix bugs.

If you're interested in taking over this project, please create an issue.

Overview

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

sbt-avro's People

Contributors

ashwanthkumar avatar cavorite avatar dln avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.