diff --git a/playground/protoc/inc/msgCaseTest.proto b/playground/protoc/inc/msgCaseTest.proto new file mode 100644 index 00000000..4d9b6374 --- /dev/null +++ b/playground/protoc/inc/msgCaseTest.proto @@ -0,0 +1,14 @@ +package udp.tc.tests; + +import "message_inc.proto"; + +option java_package ="com.udp.tc.tests"; +option cc_generic_services = false; +option java_generic_services = false; +option py_generic_services = false; + +message MessageCaseTest { + required int32 test = 1; + optional uint32 blah = 2; + required IncludeMe custom = 3; +} diff --git a/playground/protoc/wscript b/playground/protoc/wscript index 0646d484..45d4df61 100644 --- a/playground/protoc/wscript +++ b/playground/protoc/wscript @@ -57,7 +57,7 @@ def build(bld): features = 'javac protoc', name = 'pbjava', srcdir = 'inc/', - source = ['inc/message_inc.proto', 'inc/message.proto'], + source = ['inc/message_inc.proto', 'inc/message.proto', 'inc/msgCaseTest.proto' ], use = 'PROTOBUF', protoc_includes = ['inc']) diff --git a/waflib/extras/protoc.py b/waflib/extras/protoc.py index 3d410218..72b0f26e 100644 --- a/waflib/extras/protoc.py +++ b/waflib/extras/protoc.py @@ -210,10 +210,12 @@ def process_protoc(self, node): if javacn: nodename += javacn + '.java' else: + filenamebase = node.abspath()[node.abspath().rfind(os.sep)+1:node.abspath().rfind('.')].replace('_','') + filenamebase = filenamebase[:1].upper() + filenamebase[1:] if self.env.PROTOC_MAJOR > '2' and node.abspath()[node.abspath().rfind(os.sep)+1:node.abspath().rfind('.')].title() in messages: - nodename += node.abspath()[node.abspath().rfind(os.sep)+1:node.abspath().rfind('.')].title().replace('_','') + 'OuterClass.java' + nodename += filenamebase + 'OuterClass.java' else: - nodename += node.abspath()[node.abspath().rfind(os.sep)+1:node.abspath().rfind('.')].title().replace('_','') + '.java' + nodename += filenamebase + '.java' java_node = node.parent.find_or_declare(nodename) out_nodes.append(java_node)