From cd980d1c13c736b0f9fc453843f696a93c2c2a71 Mon Sep 17 00:00:00 2001 From: Feng Xiao Date: Wed, 19 Nov 2014 15:58:54 -0800 Subject: [PATCH] Prepare nano proto code to be merged into protobuf repository. --- {java => javanano}/README.txt | 387 ++---------------- javanano/pom.xml | 164 ++++++++ .../nano/CodedInputByteBufferNano.java | 0 .../nano/CodedOutputByteBufferNano.java | 0 .../protobuf/nano/ExtendableMessageNano.java | 0 .../com/google/protobuf/nano/Extension.java | 0 .../com/google/protobuf/nano/FieldArray.java | 0 .../com/google/protobuf/nano/FieldData.java | 0 .../google/protobuf/nano/InternalNano.java | 0 .../InvalidProtocolBufferNanoException.java | 0 .../com/google/protobuf/nano/MessageNano.java | 0 .../protobuf/nano/MessageNanoPrinter.java | 0 .../protobuf/nano/UnknownFieldData.java | 0 .../google/protobuf/nano/WireFormatNano.java | 0 .../com/google/protobuf/nano}/NanoTest.java | 9 +- .../nano}/unittest_accessors_nano.proto | 0 .../unittest_enum_class_multiple_nano.proto | 0 .../nano}/unittest_enum_class_nano.proto | 0 .../nano}/unittest_enum_validity_nano.proto | 0 .../nano}/unittest_extension_nano.proto | 0 .../unittest_extension_packed_nano.proto | 2 +- .../unittest_extension_repeated_nano.proto | 2 +- .../unittest_extension_singular_nano.proto | 2 +- .../protobuf/nano}/unittest_has_nano.proto | 0 .../protobuf/nano}/unittest_import_nano.proto | 5 +- .../unittest_multiple_nameclash_nano.proto | 0 .../nano}/unittest_multiple_nano.proto | 2 +- .../google/protobuf/nano}/unittest_nano.proto | 2 +- .../nano}/unittest_recursive_nano.proto | 0 .../nano}/unittest_reference_types_nano.proto | 0 .../nano}/unittest_repeated_merge_nano.proto | 2 +- .../unittest_repeated_packables_nano.proto | 0 .../protobuf/nano}/unittest_simple_nano.proto | 0 .../protobuf/nano}/unittest_single_nano.proto | 0 .../nano}/unittest_stringutf8_nano.proto | 0 .../compiler/javanano/javanano_enum.h | 6 +- .../compiler/javanano/javanano_enum_field.h | 6 +- .../compiler/javanano/javanano_extension.h | 6 +- .../compiler/javanano/javanano_field.h | 6 +- .../compiler/javanano/javanano_file.cc | 4 +- .../compiler/javanano/javanano_file.h | 10 +- .../compiler/javanano/javanano_generator.cc | 2 +- .../compiler/javanano/javanano_generator.h | 8 +- .../compiler/javanano/javanano_helpers.h | 6 +- .../compiler/javanano/javanano_message.h | 6 +- .../javanano/javanano_message_field.h | 6 +- 46 files changed, 249 insertions(+), 394 deletions(-) rename {java => javanano}/README.txt (60%) create mode 100644 javanano/pom.xml rename {java => javanano}/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/Extension.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/FieldArray.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/FieldData.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/InternalNano.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/MessageNano.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/UnknownFieldData.java (100%) rename {java => javanano}/src/main/java/com/google/protobuf/nano/WireFormatNano.java (100%) rename {java/src/test/java/com/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/NanoTest.java (99%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_accessors_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_enum_class_multiple_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_enum_class_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_enum_validity_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_extension_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_extension_packed_nano.proto (95%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_extension_repeated_nano.proto (95%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_extension_singular_nano.proto (95%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_has_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_import_nano.proto (91%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_multiple_nameclash_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_multiple_nano.proto (97%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_nano.proto (99%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_recursive_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_reference_types_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_repeated_merge_nano.proto (97%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_repeated_packables_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_simple_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_single_nano.proto (100%) rename {src/google/protobuf => javanano/src/test/java/com/google/protobuf/nano}/unittest_stringutf8_nano.proto (100%) diff --git a/java/README.txt b/javanano/README.txt similarity index 60% rename from java/README.txt rename to javanano/README.txt index 4dfef1422a..fae3292741 100644 --- a/java/README.txt +++ b/javanano/README.txt @@ -1,7 +1,7 @@ Protocol Buffers - Google's data interchange format Copyright 2008 Google Inc. -This directory contains the Java Protocol Buffers runtime library. +This directory contains the Java Protocol Buffers Nano runtime library. Installation - With Maven ========================= @@ -40,28 +40,6 @@ rather build without Maven, see below. The .jar will be placed in the "target" directory. -Installation - 'Lite' Version - With Maven -========================================== - -Building the 'lite' version of the Java Protocol Buffers library is -the same as building the full version, except that all commands are -run using the 'lite' profile. (see -http://maven.apache.org/guides/introduction/introduction-to-profiles.html) - -E.g. to install the lite version of the jar, you would run: - - $ mvn install -P lite - -The resulting artifact has the 'lite' classifier. To reference it -for dependency resolution, you would specify it as: - - - com.google.protobuf - protobuf-java - ${version} - lite - - Installation - Without Maven ============================ @@ -87,325 +65,6 @@ running unit tests. 4) Install the classes wherever you prefer. -Micro version -============================ - -The runtime and generated code for MICRO_RUNTIME is smaller -because it does not include support for the descriptor and -reflection, and enums are generated as integer constants in -the parent message or the file's outer class, with no -protection against invalid values set to enum fields. Also, -not currently supported are packed repeated elements or -extensions. - -To create a jar file for the runtime and run tests invoke -"mvn package -P micro" from the /java -directory. The generated jar file is -java/target/protobuf-java-2.2.0-micro.jar. - -If you wish to compile the MICRO_RUNTIME your self, place -the 7 files below, in /com/google/protobuf and -create a jar file for use with your code and the generated -code: - -ByteStringMicro.java -CodedInputStreamMicro.java -CodedOutputStreamMicro.java -InvalidProtocolBufferException.java -MessageMicro.java -WireFormatMicro.java - -If you wish to change on the code generator it is located -in /src/google/protobuf/compiler/javamicro. - -To generate code for the MICRO_RUNTIME invoke protoc with ---javamicro_out command line parameter. javamicro_out takes -a series of optional sub-parameters separated by commas -and a final parameter, with a colon separator, which defines -the source directory. Sub-parameters begin with a name -followed by an equal and if that sub-parameter has multiple -parameters they are seperated by "|". The command line options -are: - -opt -> speed or space -java_use_vector -> true or false -java_package -> | -java_outer_classname -> | -java_multiple_files -> true or false - -opt={speed,space} (default: space) - This changes the code generation to optimize for speed or - space. When opt=speed this changes the code generation - for strings so that multiple conversions to Utf8 are - eliminated. - -java_use_vector={true,false} (default: false) - This specifies the collection class for repeated elements. - If false, repeated elements use java.util.ArrayList<> and - the code must be compiled with Java 1.5 or above. If true, - repeated elements use java.util.Vector and the code can - be compiled with Java 1.3 or above. The 'source' - parameter of 'javac' may be used to control the version - of the source: "javac -source 1.3". You can also change - the xml element for the maven-compiler-plugin. - Below is for 1.5 sources: - - - maven-compiler-plugin - - 1.5 - 1.5 - - - - And below would be for 1.3 sources (note when changing - to 1.3 you must also set java_use_vector=true): - - - maven-compiler-plugin - - 1.3 - 1.5 - - - -java_package=| (no default) - This allows overriding the 'java_package' option value - for the given file from the command line. Use multiple - java_package options to override the option for multiple - files. The final Java package for each file is the value - of this command line option if present, or the value of - the same option defined in the file if present, or the - proto package if present, or the default Java package. - -java_outer_classname=| (no default) - This allows overriding the 'java_outer_classname' option - for the given file from the command line. Use multiple - java_outer_classname options to override the option for - multiple files. The final Java outer class name for each - file is the value of this command line option if present, - or the value of the same option defined in the file if - present, or the file name converted to CamelCase. This - outer class will nest all classes and integer constants - generated from file-scope messages and enums. - -java_multiple_files={true,false} (no default) - This allows overriding the 'java_multiple_files' option - in all source files and their imported files from the - command line. The final value of this option for each - file is the value defined in this command line option, or - the value of the same option defined in the file if - present, or false. This specifies whether to generate - package-level classes for the file-scope messages in the - same Java package as the outer class (instead of nested - classes in the outer class). File-scope enum constants - are still generated as integer constants in the outer - class. This affects the fully qualified references in the - Java code. NOTE: because the command line option - overrides the value for all files and their imported - files, using this option inconsistently may result in - incorrect references to the imported messages and enum - constants. - - -IMPORTANT: change of javamicro_out behavior: - -In previous versions, if the outer class name has not been -given explicitly, javamicro_out would not infer the outer -class name from the file name, and would skip the outer -class generation. This makes the compilation succeed only -if the source file contains a single message and no enums, -and the generated class for that message is placed at the -package level. To re-align with java_out, javamicro_out -will now always generate the outer class, inferring its -name from the file name if not given, as a container of the -message classes and enum constants. To keep any existing -single-message source file from causing the generation of -an unwanted outer class, you can set the option -java_multiple_files to true, either in the file or as a -command line option. - - -Below are a series of examples for clarification of the -various parameters and options. Assuming this file: - -src/proto/simple-data-protos.proto: - - package testprotobuf; - - message SimpleData { - optional fixed64 id = 1; - optional string description = 2; - optional bool ok = 3 [default = false]; - }; - -and the compiled protoc in the current working directory, -then a simple command line to compile this file would be: - -./protoc --javamicro_out=. src/proto/simple-data-protos.proto - -This will create testprotobuf/SimpleDataProtos.java, which -has the following content (extremely simplified): - - package testprotobuf; - - public final class SimpleDataProtos { - public static final class SimpleData - extends MessageMicro { - ... - } - } - -The message SimpleData is compiled into the SimpleData -class, nested in the file's outer class SimpleDataProtos, -whose name is implicitly defined by the proto file name -"simple-data-protos". - -The directory, aka Java package, testprotobuf is created -because on line 1 of simple-data-protos.proto is -"package testprotobuf;". If you wanted a different -package name you could use the java_package option in the -file: - - option java_package = "my_package"; - -or in command line sub-parameter: - -./protoc '--javamicro_out=\ -java_package=src/proto/simple-data-protos.proto|my_package:\ -.' src/proto/simple-data-protos.proto - -Here you see the new java_package sub-parameter which -itself needs two parameters the file name and the -package name, these are separated by "|". The value set -in the command line overrides the value set in the file. -Now you'll find SimpleDataProtos.java in the my_package/ -directory. - -If you wanted to also change the optimization for -speed you'd add opt=speed with the comma seperator -as follows: - -./protoc '--javamicro_out=\ -opt=speed,\ -java_package=src/proto/simple-data-protos.proto|my_package: -.' src/proto/simple-data-protos.proto - -If you also wanted a different outer class name you'd -do the following: - -./protoc '--javamicro_out=\ -opt=speed,\ -java_package=src/proto/simple-data-protos.proto|my_package,\ -java_outer_classname=src/proto/simple-data-protos.proto|OuterName:\ -.' src/proto/simple-data-protos.proto - -Now you'll find my_package/OuterName.java and the -message class SimpleData nested in it. - -As mentioned java_package, java_outer_classname and -java_multiple_files may also be specified in the file. -In the example below we must define -java_outer_classname because otherwise the outer class -and one of the message classes will have the same name, -which is forbidden to prevent name ambiguity: - -src/proto/sample-message.proto: - - package testmicroruntime; - - option java_package = "com.example"; - option java_outer_classname = "SampleMessageProtos"; - - enum MessageType { - SAMPLE = 1; - EXAMPLE = 2; - } - - message SampleMessage { - required int32 id = 1; - required MessageType type = 2; - } - - message SampleMessageContainer { - required SampleMessage message = 1; - } - -This could be compiled using: - -./protoc --javamicro_out=. src/proto/sample-message.proto - -and the output will be: - -com/example/SampleMessageProtos.java: - - package com.example; - - public final class SampleMessageProtos { - public static final int SAMPLE = 1; - public static final int EXAMPLE = 2; - public static final class SampleMessage - extends MessageMicro { - ... - } - public static final class SampleMessageContainer - extends MessageMicro { - ... - } - } - -As you can see the file-scope enum MessageType is -disassembled into two integer constants in the outer class. -In javamicro_out, all enums are disassembled and compiled -into integer constants in the parent scope (the containing -message's class or the file's (i.e. outer) class). - -You may prefer the file-scope messages to be saved in -separate files. You can do this by setting the option -java_multiple_files to true, in either the file like this: - - option java_multiple_files = true; - -or the command line like this: - -./protoc --javamicro_out=\ -java_multiple_files=true:\ -. src/proto/sample-message.proto - -The java_multiple_files option causes javamicro to use a -separate file for each file-scope message, which resides -directly in the Java package alongside the outer class: - -com/example/SampleMessageProtos.java: - - package com.example; - public final class SampleMessageProtos { - public static final int SAMPLE = 1; - public static final int EXAMPLE = 2; - } - -com/example/SampleMessage.java: - - package com.example; - public final class SampleMessage - extends MessageMicro { - ... - } - -com/example/SampleMessageContainer.java: - - package com.example; - public final class SampleMessageContainer - extends MessageMicro { - ... - } - -As you can see, the outer class now contains only the -integer constants, generated from the file-scope enum -"MessageType". Please note that message-scope enums are -still generated as integer constants in the message class. - - Nano version ============================ @@ -479,10 +138,43 @@ enum_style -> c or java ignore_services -> true or false parcelable_messages -> true or false -java_package: -java_outer_classname: -java_multiple_files: - Same as Micro version. +java_package=| (no default) + This allows overriding the 'java_package' option value + for the given file from the command line. Use multiple + java_package options to override the option for multiple + files. The final Java package for each file is the value + of this command line option if present, or the value of + the same option defined in the file if present, or the + proto package if present, or the default Java package. + +java_outer_classname=| (no default) + This allows overriding the 'java_outer_classname' option + for the given file from the command line. Use multiple + java_outer_classname options to override the option for + multiple files. The final Java outer class name for each + file is the value of this command line option if present, + or the value of the same option defined in the file if + present, or the file name converted to CamelCase. This + outer class will nest all classes and integer constants + generated from file-scope messages and enums. + +java_multiple_files={true,false} (no default) + This allows overriding the 'java_multiple_files' option + in all source files and their imported files from the + command line. The final value of this option for each + file is the value defined in this command line option, or + the value of the same option defined in the file if + present, or false. This specifies whether to generate + package-level classes for the file-scope messages in the + same Java package as the outer class (instead of nested + classes in the outer class). File-scope enum constants + are still generated as integer constants in the outer + class. This affects the fully qualified references in the + Java code. NOTE: because the command line option + overrides the value for all files and their imported + files, using this option inconsistently may result in + incorrect references to the imported messages and enum + constants. java_nano_generate_has={true,false} (default: false) DEPRECATED. Use optional_field_style=accessors. @@ -653,11 +345,10 @@ Please run the following steps to test: - repo sync -c -j256 - "make -j12" and check for build errors - Usage ===== The complete documentation for Protocol Buffers is available via the web at: - http://code.google.com/apis/protocolbuffers/ + http://code.google.com/apis/protocolbuffers://developers.google.com/protocol-buffers/ diff --git a/javanano/pom.xml b/javanano/pom.xml new file mode 100644 index 0000000000..3d98a5e041 --- /dev/null +++ b/javanano/pom.xml @@ -0,0 +1,164 @@ + + + 4.0.0 + + com.google + google + 1 + + com.google.protobuf.nano + protobuf-javanano + 2.6.2-pre + bundle + Protocol Buffer JavaNano API + + Protocol Buffers are a way of encoding structured data in an efficient yet + extensible format. + + 2008 + https://developers.google.com/protocol-buffers/ + + + New BSD license + http://www.opensource.org/licenses/bsd-license.php + repo + + + + https://github.com/google/protobuf + + scm:git:https://github.com/google/protobuf.git + + + + UTF-8 + + + + junit + junit + 4.4 + test + + + org.easymock + easymock + 2.2 + test + + + org.easymock + easymockclassextension + 2.2.1 + test + + + + + + maven-compiler-plugin + + 1.5 + 1.5 + + + + maven-surefire-plugin + + + **/*Test.java + + + + + maven-antrun-plugin + + + generate-test-sources + generate-test-sources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + target/generated-test-sources + + + run + + + + + + org.apache.felix + maven-bundle-plugin + true + + + https://developers.google.com/protocol-buffers/ + com.google.protobuf + com.google.protobuf;version=2.6.2-pre + + + + + + diff --git a/java/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java b/javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java rename to javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java diff --git a/java/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java b/javanano/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java rename to javanano/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java diff --git a/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java b/javanano/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java rename to javanano/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java diff --git a/java/src/main/java/com/google/protobuf/nano/Extension.java b/javanano/src/main/java/com/google/protobuf/nano/Extension.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/Extension.java rename to javanano/src/main/java/com/google/protobuf/nano/Extension.java diff --git a/java/src/main/java/com/google/protobuf/nano/FieldArray.java b/javanano/src/main/java/com/google/protobuf/nano/FieldArray.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/FieldArray.java rename to javanano/src/main/java/com/google/protobuf/nano/FieldArray.java diff --git a/java/src/main/java/com/google/protobuf/nano/FieldData.java b/javanano/src/main/java/com/google/protobuf/nano/FieldData.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/FieldData.java rename to javanano/src/main/java/com/google/protobuf/nano/FieldData.java diff --git a/java/src/main/java/com/google/protobuf/nano/InternalNano.java b/javanano/src/main/java/com/google/protobuf/nano/InternalNano.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/InternalNano.java rename to javanano/src/main/java/com/google/protobuf/nano/InternalNano.java diff --git a/java/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java b/javanano/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java rename to javanano/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java diff --git a/java/src/main/java/com/google/protobuf/nano/MessageNano.java b/javanano/src/main/java/com/google/protobuf/nano/MessageNano.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/MessageNano.java rename to javanano/src/main/java/com/google/protobuf/nano/MessageNano.java diff --git a/java/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java b/javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java rename to javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java diff --git a/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java b/javanano/src/main/java/com/google/protobuf/nano/UnknownFieldData.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java rename to javanano/src/main/java/com/google/protobuf/nano/UnknownFieldData.java diff --git a/java/src/main/java/com/google/protobuf/nano/WireFormatNano.java b/javanano/src/main/java/com/google/protobuf/nano/WireFormatNano.java similarity index 100% rename from java/src/main/java/com/google/protobuf/nano/WireFormatNano.java rename to javanano/src/main/java/com/google/protobuf/nano/WireFormatNano.java diff --git a/java/src/test/java/com/google/protobuf/NanoTest.java b/javanano/src/test/java/com/google/protobuf/nano/NanoTest.java similarity index 99% rename from java/src/test/java/com/google/protobuf/NanoTest.java rename to javanano/src/test/java/com/google/protobuf/nano/NanoTest.java index 6b69aa7a49..5ac7edb62d 100644 --- a/java/src/test/java/com/google/protobuf/NanoTest.java +++ b/javanano/src/test/java/com/google/protobuf/nano/NanoTest.java @@ -28,7 +28,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -package com.google.protobuf; +package com.google.protobuf.nano; import com.google.protobuf.nano.CodedInputByteBufferNano; import com.google.protobuf.nano.EnumClassNanoMultiple; @@ -3123,11 +3123,12 @@ public class NanoTest extends TestCase { message.value = false; byte[] bytes = MessageNano.toByteArray(message); - int extraFieldSize = CodedOutputStream.computeStringSize(1001, "This is an unknown field"); + int extraFieldSize = CodedOutputByteBufferNano.computeStringSize( + 1001, "This is an unknown field"); byte[] newBytes = new byte[bytes.length + extraFieldSize]; System.arraycopy(bytes, 0, newBytes, 0, bytes.length); - CodedOutputStream.newInstance(newBytes, bytes.length, extraFieldSize).writeString(1001, - "This is an unknown field"); + CodedOutputByteBufferNano.newInstance(newBytes, bytes.length, extraFieldSize) + .writeString(1001, "This is an unknown field"); // Deserialize with an unknown field. AnotherMessage deserialized = AnotherMessage.parseFrom(newBytes); diff --git a/src/google/protobuf/unittest_accessors_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_accessors_nano.proto similarity index 100% rename from src/google/protobuf/unittest_accessors_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_accessors_nano.proto diff --git a/src/google/protobuf/unittest_enum_class_multiple_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_enum_class_multiple_nano.proto similarity index 100% rename from src/google/protobuf/unittest_enum_class_multiple_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_enum_class_multiple_nano.proto diff --git a/src/google/protobuf/unittest_enum_class_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_enum_class_nano.proto similarity index 100% rename from src/google/protobuf/unittest_enum_class_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_enum_class_nano.proto diff --git a/src/google/protobuf/unittest_enum_validity_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_enum_validity_nano.proto similarity index 100% rename from src/google/protobuf/unittest_enum_validity_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_enum_validity_nano.proto diff --git a/src/google/protobuf/unittest_extension_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_nano.proto similarity index 100% rename from src/google/protobuf/unittest_extension_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_extension_nano.proto diff --git a/src/google/protobuf/unittest_extension_packed_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_packed_nano.proto similarity index 95% rename from src/google/protobuf/unittest_extension_packed_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_extension_packed_nano.proto index 3586de76f1..7d47682d5d 100644 --- a/src/google/protobuf/unittest_extension_packed_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_packed_nano.proto @@ -3,7 +3,7 @@ syntax = "proto2"; option java_multiple_files = true; option java_package = "com.google.protobuf.nano"; -import "google/protobuf/unittest_extension_nano.proto"; +import "google/protobuf/nano/unittest_extension_nano.proto"; // Must be compiled separately due to extension number reuse. // The reuse is deliberate, for testing wire compatibility. diff --git a/src/google/protobuf/unittest_extension_repeated_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_repeated_nano.proto similarity index 95% rename from src/google/protobuf/unittest_extension_repeated_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_extension_repeated_nano.proto index 546c2df1d7..6d4b5dfb4c 100644 --- a/src/google/protobuf/unittest_extension_repeated_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_repeated_nano.proto @@ -3,7 +3,7 @@ syntax = "proto2"; option java_multiple_files = true; option java_package = "com.google.protobuf.nano"; -import "google/protobuf/unittest_extension_nano.proto"; +import "google/protobuf/nano/unittest_extension_nano.proto"; // Must be compiled separately due to extension number reuse. // The reuse is deliberate, for testing wire compatibility. diff --git a/src/google/protobuf/unittest_extension_singular_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_singular_nano.proto similarity index 95% rename from src/google/protobuf/unittest_extension_singular_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_extension_singular_nano.proto index 35d9e6e99f..589754e7e8 100644 --- a/src/google/protobuf/unittest_extension_singular_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_extension_singular_nano.proto @@ -3,7 +3,7 @@ syntax = "proto2"; option java_multiple_files = true; option java_package = "com.google.protobuf.nano"; -import "google/protobuf/unittest_extension_nano.proto"; +import "google/protobuf/nano/unittest_extension_nano.proto"; // Must be compiled separately due to extension number reuse. // The reuse is deliberate, for testing wire compatibility. diff --git a/src/google/protobuf/unittest_has_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_has_nano.proto similarity index 100% rename from src/google/protobuf/unittest_has_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_has_nano.proto diff --git a/src/google/protobuf/unittest_import_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_import_nano.proto similarity index 91% rename from src/google/protobuf/unittest_import_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_import_nano.proto index 0a2fde79d2..bcd4db7b97 100644 --- a/src/google/protobuf/unittest_import_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_import_nano.proto @@ -34,9 +34,8 @@ package protobuf_unittest_import; -// java_package and java_outer_classname are specified on the command line. -//option java_package = "com.google.protobuf.nano.testimport"; -//option java_outer_classname = "UnittestImportNano"; +option java_package = "com.google.protobuf.nano.testimport"; +option java_outer_classname = "UnittestImportNano"; message ImportMessageNano { optional int32 d = 1; diff --git a/src/google/protobuf/unittest_multiple_nameclash_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_multiple_nameclash_nano.proto similarity index 100% rename from src/google/protobuf/unittest_multiple_nameclash_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_multiple_nameclash_nano.proto diff --git a/src/google/protobuf/unittest_multiple_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_multiple_nano.proto similarity index 97% rename from src/google/protobuf/unittest_multiple_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_multiple_nano.proto index 5ae790b673..be84cad1ad 100644 --- a/src/google/protobuf/unittest_multiple_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_multiple_nano.proto @@ -32,7 +32,7 @@ package protobuf_unittest_import; -import "google/protobuf/unittest_import_nano.proto"; +import "google/protobuf/nano/unittest_import_nano.proto"; option java_package = "com.google.protobuf.nano"; option java_multiple_files = true; diff --git a/src/google/protobuf/unittest_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_nano.proto similarity index 99% rename from src/google/protobuf/unittest_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_nano.proto index 1a6ba2647d..cba52c0268 100644 --- a/src/google/protobuf/unittest_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_nano.proto @@ -32,7 +32,7 @@ package protobuf_unittest; -import "google/protobuf/unittest_import_nano.proto"; +import "google/protobuf/nano/unittest_import_nano.proto"; option java_package = "com.google.protobuf.nano"; option java_outer_classname = "NanoOuterClass"; diff --git a/src/google/protobuf/unittest_recursive_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_recursive_nano.proto similarity index 100% rename from src/google/protobuf/unittest_recursive_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_recursive_nano.proto diff --git a/src/google/protobuf/unittest_reference_types_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_reference_types_nano.proto similarity index 100% rename from src/google/protobuf/unittest_reference_types_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_reference_types_nano.proto diff --git a/src/google/protobuf/unittest_repeated_merge_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_repeated_merge_nano.proto similarity index 97% rename from src/google/protobuf/unittest_repeated_merge_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_repeated_merge_nano.proto index 4f03224b50..aea48ef74a 100644 --- a/src/google/protobuf/unittest_repeated_merge_nano.proto +++ b/javanano/src/test/java/com/google/protobuf/nano/unittest_repeated_merge_nano.proto @@ -32,7 +32,7 @@ package protobuf_unittest; -import "google/protobuf/unittest_nano.proto"; +import "google/protobuf/nano/unittest_nano.proto"; option java_package = "com.google.protobuf.nano"; option java_multiple_files = true; diff --git a/src/google/protobuf/unittest_repeated_packables_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_repeated_packables_nano.proto similarity index 100% rename from src/google/protobuf/unittest_repeated_packables_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_repeated_packables_nano.proto diff --git a/src/google/protobuf/unittest_simple_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_simple_nano.proto similarity index 100% rename from src/google/protobuf/unittest_simple_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_simple_nano.proto diff --git a/src/google/protobuf/unittest_single_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_single_nano.proto similarity index 100% rename from src/google/protobuf/unittest_single_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_single_nano.proto diff --git a/src/google/protobuf/unittest_stringutf8_nano.proto b/javanano/src/test/java/com/google/protobuf/nano/unittest_stringutf8_nano.proto similarity index 100% rename from src/google/protobuf/unittest_stringutf8_nano.proto rename to javanano/src/test/java/com/google/protobuf/nano/unittest_stringutf8_nano.proto diff --git a/src/google/protobuf/compiler/javanano/javanano_enum.h b/src/google/protobuf/compiler/javanano/javanano_enum.h index d6f463ece3..10dd364876 100644 --- a/src/google/protobuf/compiler/javanano/javanano_enum.h +++ b/src/google/protobuf/compiler/javanano/javanano_enum.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_H__ #include #include @@ -84,4 +84,4 @@ class EnumGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_enum_field.h b/src/google/protobuf/compiler/javanano/javanano_enum_field.h index 55bf63560d..00adc61f0e 100644 --- a/src/google/protobuf/compiler/javanano/javanano_enum_field.h +++ b/src/google/protobuf/compiler/javanano/javanano_enum_field.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_FIELD_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_FIELD_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_FIELD_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_FIELD_H__ #include #include @@ -122,4 +122,4 @@ class RepeatedEnumFieldGenerator : public FieldGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_FIELD_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_FIELD_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_extension.h b/src/google/protobuf/compiler/javanano/javanano_extension.h index c6543ebd19..4843e29622 100644 --- a/src/google/protobuf/compiler/javanano/javanano_extension.h +++ b/src/google/protobuf/compiler/javanano/javanano_extension.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_EXTENSION_H_ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_EXTENSION_H_ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_EXTENSION_H_ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_EXTENSION_H_ #include #include @@ -71,4 +71,4 @@ class ExtensionGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_EXTENSION_H_ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_EXTENSION_H_ diff --git a/src/google/protobuf/compiler/javanano/javanano_field.h b/src/google/protobuf/compiler/javanano/javanano_field.h index 61fc621028..6170c2c03e 100644 --- a/src/google/protobuf/compiler/javanano/javanano_field.h +++ b/src/google/protobuf/compiler/javanano/javanano_field.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_FIELD_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_FIELD_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_FIELD_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_FIELD_H__ #include #include @@ -116,4 +116,4 @@ class FieldGeneratorMap { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_FIELD_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_FIELD_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_file.cc b/src/google/protobuf/compiler/javanano/javanano_file.cc index 98586b4855..3676ab9d19 100644 --- a/src/google/protobuf/compiler/javanano/javanano_file.cc +++ b/src/google/protobuf/compiler/javanano/javanano_file.cc @@ -215,7 +215,7 @@ template static void GenerateSibling(const string& package_dir, const string& java_package, const DescriptorClass* descriptor, - OutputDirectory* output_directory, + GeneratorContext* output_directory, vector* file_list, const Params& params) { string filename = package_dir + descriptor->name() + ".java"; @@ -238,7 +238,7 @@ static void GenerateSibling(const string& package_dir, } void FileGenerator::GenerateSiblings(const string& package_dir, - OutputDirectory* output_directory, + GeneratorContext* output_directory, vector* file_list) { if (params_.java_multiple_files(file_->name())) { for (int i = 0; i < file_->message_type_count(); i++) { diff --git a/src/google/protobuf/compiler/javanano/javanano_file.h b/src/google/protobuf/compiler/javanano/javanano_file.h index 947272111a..217eafe2a8 100644 --- a/src/google/protobuf/compiler/javanano/javanano_file.h +++ b/src/google/protobuf/compiler/javanano/javanano_file.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_FILE_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_FILE_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_FILE_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_FILE_H__ #include #include @@ -47,7 +47,7 @@ namespace protobuf { class Printer; // printer.h } namespace compiler { - class OutputDirectory; // code_generator.h + class GeneratorContext; // code_generator.h } } @@ -71,7 +71,7 @@ class FileGenerator { // files other than the outer file (i.e. one for each message, enum, and // service type). void GenerateSiblings(const string& package_dir, - OutputDirectory* output_directory, + GeneratorContext* output_directory, vector* file_list); const string& java_package() { return java_package_; } @@ -91,4 +91,4 @@ class FileGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_FILE_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_FILE_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_generator.cc b/src/google/protobuf/compiler/javanano/javanano_generator.cc index b1e75e3da0..b5fbcd5fff 100644 --- a/src/google/protobuf/compiler/javanano/javanano_generator.cc +++ b/src/google/protobuf/compiler/javanano/javanano_generator.cc @@ -87,7 +87,7 @@ JavaNanoGenerator::~JavaNanoGenerator() {} bool JavaNanoGenerator::Generate(const FileDescriptor* file, const string& parameter, - OutputDirectory* output_directory, + GeneratorContext* output_directory, string* error) const { vector > options; diff --git a/src/google/protobuf/compiler/javanano/javanano_generator.h b/src/google/protobuf/compiler/javanano/javanano_generator.h index 0c1e3a41e9..6f9f7f2a4a 100644 --- a/src/google/protobuf/compiler/javanano/javanano_generator.h +++ b/src/google/protobuf/compiler/javanano/javanano_generator.h @@ -34,8 +34,8 @@ // // Generates Java nano code for a given .proto file. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_NANO_GENERATOR_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_NANO_GENERATOR_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_NANO_GENERATOR_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_NANO_GENERATOR_H__ #include #include @@ -57,7 +57,7 @@ class LIBPROTOC_EXPORT JavaNanoGenerator : public CodeGenerator { // implements CodeGenerator ---------------------------------------- bool Generate(const FileDescriptor* file, const string& parameter, - OutputDirectory* output_directory, + GeneratorContext* output_directory, string* error) const; private: @@ -69,4 +69,4 @@ class LIBPROTOC_EXPORT JavaNanoGenerator : public CodeGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_NANO_GENERATOR_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_NANO_GENERATOR_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_helpers.h b/src/google/protobuf/compiler/javanano/javanano_helpers.h index 886bff88fa..2931074365 100644 --- a/src/google/protobuf/compiler/javanano/javanano_helpers.h +++ b/src/google/protobuf/compiler/javanano/javanano_helpers.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_HELPERS_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_HELPERS_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_HELPERS_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_HELPERS_H__ #include #include @@ -186,4 +186,4 @@ void SetBitOperationVariables(const string name, } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_HELPERS_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_HELPERS_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_message.h b/src/google/protobuf/compiler/javanano/javanano_message.h index f87f84f201..6f25a3a041 100644 --- a/src/google/protobuf/compiler/javanano/javanano_message.h +++ b/src/google/protobuf/compiler/javanano/javanano_message.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_MESSAGE_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_MESSAGE_H__ #include #include @@ -92,4 +92,4 @@ class MessageGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_MESSAGE_H__ diff --git a/src/google/protobuf/compiler/javanano/javanano_message_field.h b/src/google/protobuf/compiler/javanano/javanano_message_field.h index e94a37bd03..5d35fd24a9 100644 --- a/src/google/protobuf/compiler/javanano/javanano_message_field.h +++ b/src/google/protobuf/compiler/javanano/javanano_message_field.h @@ -32,8 +32,8 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. -#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_FIELD_H__ -#define GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_FIELD_H__ +#ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_MESSAGE_FIELD_H__ +#define GOOGLE_PROTOBUF_COMPILER_JAVANANO_MESSAGE_FIELD_H__ #include #include @@ -93,4 +93,4 @@ class RepeatedMessageFieldGenerator : public FieldGenerator { } // namespace protobuf } // namespace google -#endif // GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_FIELD_H__ +#endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_MESSAGE_FIELD_H__