Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.0
    • Component/s: java
    • Labels:
      None
    1. maven-avro-plugin.tar.gz
      8 kB
      Hiram Chirino
    2. AVRO-159.patch
      25 kB
      Patrick Hunt

      Issue Links

        Activity

        Hide
        Scott Carey added a comment -

        Fixed as part of AVRO-647

        Show
        Scott Carey added a comment - Fixed as part of AVRO-647
        Hide
        Philip Zeyliger added a comment -

        Scott,

        The "mvn-install" target already does some magic to get avro into my ~/.m2cache (or whatever it is that it does). Could we do something similar here?

        (Again, I'm speaking with plenty of ignorance.)

        – Philip

        Show
        Philip Zeyliger added a comment - Scott, The "mvn-install" target already does some magic to get avro into my ~/.m2cache (or whatever it is that it does). Could we do something similar here? (Again, I'm speaking with plenty of ignorance.) – Philip
        Hide
        Scott Carey added a comment -

        I've been using something similar (built off the earlier version that only did *.avpr), but only for *.avsc files and not yet for *.avpr. It would be very easy for me add this as a maven module, and build with maven, but then the build would depend on maven. As you might expect, using maven to make a maven artifact is relatively easy.
        I'm not sure how to build a maven plugin artifact with ant/ivy since I'm less familiar with that.

        Show
        Scott Carey added a comment - I've been using something similar (built off the earlier version that only did *.avpr), but only for *.avsc files and not yet for *.avpr. It would be very easy for me add this as a maven module, and build with maven, but then the build would depend on maven. As you might expect, using maven to make a maven artifact is relatively easy. I'm not sure how to build a maven plugin artifact with ant/ivy since I'm less familiar with that.
        Hide
        Philip Zeyliger added a comment -

        I've been using phunt's avro-maven-plugin and it's handy. Would be even more handy if it were part of avro's published artifacts.

        Is anyone listening sufficiently a build.xml and Maven expert to make that work?

        Show
        Philip Zeyliger added a comment - I've been using phunt's avro-maven-plugin and it's handy. Would be even more handy if it were part of avro's published artifacts. Is anyone listening sufficiently a build.xml and Maven expert to make that work?
        Hide
        Jeff Hammerbacher added a comment -
        Show
        Jeff Hammerbacher added a comment - Two implementations at http://github.com/phunt/avro-maven-plugin/forkqueue
        Hide
        Patrick Hunt added a comment -

        Update: I had a chat with Hiram on IRC and he's going to look at 1 & 4, after which I'll tackle 2 &3.

        Show
        Patrick Hunt added a comment - Update: I had a chat with Hiram on IRC and he's going to look at 1 & 4, after which I'll tackle 2 &3.
        Hide
        Patrick Hunt added a comment -

        another issue that I think also needs to be handled:

        4) really we don't want to compile the plugin against the latest avro release (1.2.0 say when 1.3.0 is being worked on)
        so the pom file really needs to pickup the avro classes from the local avro build directory, not from maven repo (or
        somehting like that)

        Show
        Patrick Hunt added a comment - another issue that I think also needs to be handled: 4) really we don't want to compile the plugin against the latest avro release (1.2.0 say when 1.3.0 is being worked on) so the pom file really needs to pickup the avro classes from the local avro build directory, not from maven repo (or somehting like that)
        Hide
        Patrick Hunt added a comment -

        The attached patch does the following:

        1) protocol, schema compiler, and readme from phunt's github
        2) pom and build file from the gz that Hiram attached (the gz is no longer needed, this takes precedence)
        3) takes the basic contrib build structure from zookeeper

        and mashes them up.

        pending issues:

        1) how do you get maven to output to other than "target"? I tried specifying the build path
        in pom.xml but it didn't seem to take.
        2) build.xml for contrib is not tested ("mvn compile" in avro-maven-plugin works though)
        3) need to add tests to verify protocol and schema compiler

        Show
        Patrick Hunt added a comment - The attached patch does the following: 1) protocol, schema compiler, and readme from phunt's github 2) pom and build file from the gz that Hiram attached (the gz is no longer needed, this takes precedence) 3) takes the basic contrib build structure from zookeeper and mashes them up. pending issues: 1) how do you get maven to output to other than "target"? I tried specifying the build path in pom.xml but it didn't seem to take. 2) build.xml for contrib is not tested ("mvn compile" in avro-maven-plugin works though) 3) need to add tests to verify protocol and schema compiler
        Hide
        Patrick Hunt added a comment -

        Hiram, I took a quick look at this and it differs pretty significantly from the approach I took:
        http://github.com/phunt/avro-maven-plugin

        In particular I based mine on examples like javacc's plugin, which is more oriented to client use. From
        what I see in what you've attached it's more geared to building avro itself (paths in the mojo for avro main code, test
        code, etc...)

        I did my docs in github (textile readme) while you are using maven docs (which is better) and you also
        have a more sophisticated pom file.

        Can you review my mojo implementation (it's pretty simple) which splits the protocol and compiler (not committed yet,
        but you get the idea) into separate goals. I propose that we use my mojo as the basis for the implementation, with
        your docs/pom updated to support. What do you think?

        Show
        Patrick Hunt added a comment - Hiram, I took a quick look at this and it differs pretty significantly from the approach I took: http://github.com/phunt/avro-maven-plugin In particular I based mine on examples like javacc's plugin, which is more oriented to client use. From what I see in what you've attached it's more geared to building avro itself (paths in the mojo for avro main code, test code, etc...) I did my docs in github (textile readme) while you are using maven docs (which is better) and you also have a more sophisticated pom file. Can you review my mojo implementation (it's pretty simple) which splits the protocol and compiler (not committed yet, but you get the idea) into separate goals. I propose that we use my mojo as the basis for the implementation, with your docs/pom updated to support. What do you think?
        Hide
        Hiram Chirino added a comment -

        Attaching a maven plugin implementation. See BUILD.txt for details of how to build. Need to get ant to automatically do that for us.

        Show
        Hiram Chirino added a comment - Attaching a maven plugin implementation. See BUILD.txt for details of how to build. Need to get ant to automatically do that for us.

          People

          • Assignee:
            Scott Carey
            Reporter:
            Hiram Chirino
          • Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development