jaxb_library target now exists. It takes in sources=[] for the schema file(s), and a package='...' parameter for what package to generate the output java files in. It uses the xjc compiler included in the jdk (executed using nailgun, using the tools.jar library found under java_home's lib directory). Code modeled after corresponding code for protobuffers, thrift, and antlr code generation.

Testing Done:
Python unit test under tests/python/pants_test/tasks/test_jaxb_gen.py - testing correct filename and package generation
Java unit test under tests/java/com/pants/examples/usejaxb - testing jaxb_library as a dependency in java code which uses generated classes

Jaxb file generation and compilation worked successfully for arbitrary package names, with an arbitrary number of output source files. XML class instance was read in against an .xsd schema, and properly filled fields in the generated java class.

Reviewed at https://rbcommons.com/s/twitter/r/446/
Fix protoc parser

- Add service support
- Better support for filename casing
Refactor the code
More refactoring
Added more tests
Split test case to 2 different tests
Revert "jaxb_library target now exists. It takes in sources=[] for the schema file(s), and a package='...' parameter for what package to generate the output java files in. It uses the xjc compiler included in the jdk (executed using nailgun, using the tools.jar library found under java_home's lib directory). Code modeled after corresponding code for protobuffers, thrift, and antlr code generation."

This reverts commit a0b1aefd811de3826423caa3ba636923e759a158.
The existing parser does not understand service protos, therefore the type_depth is wrong after it sees a service definition

e.g:

message AMessage {
}
service AService {
  rpc someRpc() {}
}
message AnotherMessage {
}

AService and AnotherMessage should get source generated and should be in outer_types in this case.

This change also includes a fix for filenames with - instead of _ as the camelcasing delimiter.

e.g

twitter-service.proto --> TwitterService.java instead of Twitter-service.java

Testing Done:

Added test cases to test_protobuf_gen.py

Fixed bug: 200

Reviewed at  https://rbcommons.com/s/twitter/r/488/
Added jaxb support for pants.

jaxb_library target now exists. It takes in sources=[] for the schema file(s), and a package='...' parameter for what package to generate the output java files in. It uses the xjc compiler included in the jdk.
jaxb_library target now exists. It takes in sources=[] for the schema file(s), and a package='...' parameter for what package to generate the output java files in. It uses the xjc compiler included in the jdk (executed using n

Testing Done:
Python unit test under tests/python/pants_test/tasks/test_jaxb_gen.py - testing correct filename and package generation
Java unit test under tests/java/com/pants/examples/usejaxb - testing jaxb_library as a dependency in java code which uses generated classes

Jaxb file generation and compilation worked successfully for arbitrary package names, with an arbitrary number of output source files. XML class instance was read in against an .xsd schema, and properly filled fields in the ge

Reviewed at https://rbcommons.com/s/twitter/r/446/
A python_binary_create task, to bring pex-building under goal.

This task supports 'compatibiity' specs in python_binary targets,
to restrict the interpreters the pex machinery can select from.

Old functionality via 'command' is unchanged.

This is the second attempt, after reverting and fixing
eb9413477401220c2299fa3e89a41fc42106d429.
Removing .pants.d during clean.sh makes it easier for me to get past the Untranslatable... exception

Testing Done:
travis-ci passes.

Tested manually

~/Src/Pants zundel/remove-dot-pants-dot-d ls .pants.d/
build_invalidator compile           gen               ivy               ng                python            reports           resources         runs              test              thrift
~/Src/Pants zundel/remove-dot-pants-dot-d ./build-support/python/clean.sh
~/Src/Pants zundel/remove-dot-pants-dot-d ls .pants.d/
ls: .pants.d/: No such file or directory

Bugs closed: 210

Reviewed at https://rbcommons.com/s/twitter/r/500/