pantsbuild/pants — pull request #214 by gmalmquist (2014-06-12 18:09:29+00:00)
Title: Added support for including .proto files in remote .jars on the --proto_...

...path when compiling with protoc.

This is done by way of a new 'imports' parameter added to the java_protobuf_library target, which accepts jar dependencies as inputs. The syntax for this is:

java_protobuf_library(name='foo',
imports=jar_sources(jar(org='foo.com', name='bar', rev='1.2.3'), jar(org='bar.com', name='foo', rev='3.2.1')),
...,
)

An extra ivy step called 'ivy-imports' (rather than ivy-resolve) has been added to accomodate this. It occurs after bootstrap and before codegen.

Note: Not ready for full rbcommons review yet. Still need to test properly (with actual jars of .protos on the nexus somewhere), and there's probably ways (I hope) that ivy_imports can be cleaned up.