diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2014-11-19 15:58:54 -0800 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2014-11-19 15:58:54 -0800 |
commit | cd980d1c13c736b0f9fc453843f696a93c2c2a71 (patch) | |
tree | 49fdf3f8ef0b5fff091097d9d14df3d6d5c22fd7 | |
parent | 6dc3924536cb4994edd5bd330da1d24424b7f8af (diff) | |
download | protobuf-cd980d1c13c736b0f9fc453843f696a93c2c2a71.tar.gz protobuf-cd980d1c13c736b0f9fc453843f696a93c2c2a71.tar.bz2 protobuf-cd980d1c13c736b0f9fc453843f696a93c2c2a71.zip |
Prepare nano proto code to be merged into protobuf repository.
46 files changed, 249 insertions, 394 deletions
diff --git a/java/README.txt b/javanano/README.txt index 4dfef142..fae32927 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: - - <dependency> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - <version>${version}</version> - <classifier>lite</classifier> - </dependency> - 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 <protobuf-root>/java -directory. The generated jar file is -<protobuf-root>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 <root>/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 -> <file-name>|<package-name> -java_outer_classname -> <file-name>|<package-name> -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 <source> xml element for the maven-compiler-plugin. - Below is for 1.5 sources: - - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.5</source> - <target>1.5</target> - </configuration> - </plugin> - - And below would be for 1.3 sources (note when changing - to 1.3 you must also set java_use_vector=true): - - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.3</source> - <target>1.5</target> - </configuration> - </plugin> - -java_package=<file-name>|<package-name> (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=<file-name>|<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=<file-name>|<package-name> (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=<file-name>|<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 00000000..3d98a5e0 --- /dev/null +++ b/javanano/pom.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.google</groupId> + <artifactId>google</artifactId> + <version>1</version> + </parent> + <groupId>com.google.protobuf.nano</groupId> + <artifactId>protobuf-javanano</artifactId> + <version>2.6.2-pre</version> + <packaging>bundle</packaging> + <name>Protocol Buffer JavaNano API</name> + <description> + Protocol Buffers are a way of encoding structured data in an efficient yet + extensible format. + </description> + <inceptionYear>2008</inceptionYear> + <url>https://developers.google.com/protocol-buffers/</url> + <licenses> + <license> + <name>New BSD license</name> + <url>http://www.opensource.org/licenses/bsd-license.php</url> + <distribution>repo</distribution> + </license> + </licenses> + <scm> + <url>https://github.com/google/protobuf</url> + <connection> + scm:git:https://github.com/google/protobuf.git + </connection> + </scm> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.4</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymock</artifactId> + <version>2.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymockclassextension</artifactId> + <version>2.2.1</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.5</source> + <target>1.5</target> + </configuration> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <includes> + <include>**/*Test.java</include> + </includes> + </configuration> + </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>generate-test-sources</id> + <phase>generate-test-sources</phase> + <configuration> + <tasks> + <mkdir dir="target/generated-test-sources" /> + <exec executable="../src/protoc"> + <arg value="--javanano_out=generate_equals=true:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_simple_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_stringutf8_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_recursive_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_import_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_single_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_multiple_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_multiple_nameclash_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_enum_class_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_repeated_merge_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out=store_unknown_fields=true,generate_equals=true:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_extension_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_extension_singular_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_extension_repeated_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out=store_unknown_fields=true:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_extension_packed_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out=java_nano_generate_has=true,generate_equals=true:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_has_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out=optional_field_style=accessors,generate_equals=true:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_accessors_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out=enum_style=java:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_enum_class_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_enum_class_multiple_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_repeated_packables_nano.proto" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_enum_validity_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out= + optional_field_style=accessors, + java_outer_classname=google/protobuf/nano/unittest_enum_validity_nano.proto|EnumValidityAccessors + :target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_enum_validity_nano.proto" /> + </exec> + <exec executable="../src/protoc"> + <arg value="--javanano_out=optional_field_style=reftypes,generate_equals=true:target/generated-test-sources" /> + <arg value="--proto_path=src/test/java/com" /> + <arg value="src/test/java/com/google/protobuf/nano/unittest_reference_types_nano.proto" /> + </exec> + </tasks> + <testSourceRoot>target/generated-test-sources</testSourceRoot> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <instructions> + <Bundle-DocURL>https://developers.google.com/protocol-buffers/</Bundle-DocURL> + <Bundle-SymbolicName>com.google.protobuf</Bundle-SymbolicName> + <Export-Package>com.google.protobuf;version=2.6.2-pre</Export-Package> + </instructions> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/java/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java b/javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java index c5fea5ae..c5fea5ae 100644 --- a/java/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java +++ b/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 index 88df38d7..88df38d7 100644 --- a/java/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java +++ b/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 index 46cd86f3..46cd86f3 100644 --- a/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java +++ b/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 index a851daf8..a851daf8 100644 --- a/java/src/main/java/com/google/protobuf/nano/Extension.java +++ b/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 index ab923a4d..ab923a4d 100644 --- a/java/src/main/java/com/google/protobuf/nano/FieldArray.java +++ b/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 index e5b69aad..e5b69aad 100644 --- a/java/src/main/java/com/google/protobuf/nano/FieldData.java +++ b/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 index 90ca11d5..90ca11d5 100644 --- a/java/src/main/java/com/google/protobuf/nano/InternalNano.java +++ b/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 index ff0af9df..ff0af9df 100644 --- a/java/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java +++ b/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 index 164f317f..164f317f 100644 --- a/java/src/main/java/com/google/protobuf/nano/MessageNano.java +++ b/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 index 4cca3d5e..4cca3d5e 100644 --- a/java/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java +++ b/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 index 2032e1a6..2032e1a6 100644 --- a/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java +++ b/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 index a3405e55..a3405e55 100644 --- a/java/src/main/java/com/google/protobuf/nano/WireFormatNano.java +++ b/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 index 6b69aa7a..5ac7edb6 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 index f1d4d343..f1d4d343 100644 --- a/src/google/protobuf/unittest_accessors_nano.proto +++ b/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 index 8adb7560..8adb7560 100644 --- 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 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 index 3727d68d..3727d68d 100644 --- a/src/google/protobuf/unittest_enum_class_nano.proto +++ b/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 index f7f57427..f7f57427 100644 --- a/src/google/protobuf/unittest_enum_validity_nano.proto +++ b/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 index 2a678a80..2a678a80 100644 --- a/src/google/protobuf/unittest_extension_nano.proto +++ b/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 index 3586de76..7d47682d 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 index 546c2df1..6d4b5dfb 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 index 35d9e6e9..589754e7 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 index 289d08ae..289d08ae 100644 --- a/src/google/protobuf/unittest_has_nano.proto +++ b/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 index 0a2fde79..bcd4db7b 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 index f2f62c4e..f2f62c4e 100644 --- a/src/google/protobuf/unittest_multiple_nameclash_nano.proto +++ b/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 index 5ae790b6..be84cad1 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 index 1a6ba264..cba52c02 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 index 3d3a6aa4..3d3a6aa4 100644 --- a/src/google/protobuf/unittest_recursive_nano.proto +++ b/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 index 2b246150..2b246150 100644 --- a/src/google/protobuf/unittest_reference_types_nano.proto +++ b/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 index 4f03224b..aea48ef7 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 index 1c78918f..1c78918f 100644 --- a/src/google/protobuf/unittest_repeated_packables_nano.proto +++ b/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 index 0c780c72..0c780c72 100644 --- a/src/google/protobuf/unittest_simple_nano.proto +++ b/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 index fcb1539d..fcb1539d 100644 --- a/src/google/protobuf/unittest_single_nano.proto +++ b/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 index 2bbf2b7b..2bbf2b7b 100644 --- a/src/google/protobuf/unittest_stringutf8_nano.proto +++ b/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 d6f463ec..10dd3648 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 <string> #include <vector> @@ -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 55bf6356..00adc61f 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 <map> #include <string> @@ -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 c6543ebd..4843e296 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 <google/protobuf/stubs/common.h> #include <google/protobuf/compiler/javanano/javanano_params.h> @@ -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 61fc6210..6170c2c0 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 <string> #include <google/protobuf/stubs/common.h> @@ -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 98586b48..3676ab9d 100644 --- a/src/google/protobuf/compiler/javanano/javanano_file.cc +++ b/src/google/protobuf/compiler/javanano/javanano_file.cc @@ -215,7 +215,7 @@ template<typename GeneratorClass, typename DescriptorClass> static void GenerateSibling(const string& package_dir, const string& java_package, const DescriptorClass* descriptor, - OutputDirectory* output_directory, + GeneratorContext* output_directory, vector<string>* 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<string>* 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 94727211..217eafe2 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 <string> #include <vector> @@ -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<string>* 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 b1e75e3d..b5fbcd5f 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<pair<string, string> > options; diff --git a/src/google/protobuf/compiler/javanano/javanano_generator.h b/src/google/protobuf/compiler/javanano/javanano_generator.h index 0c1e3a41..6f9f7f2a 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 <string> #include <google/protobuf/compiler/code_generator.h> @@ -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 886bff88..29310743 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 <string> #include <google/protobuf/compiler/javanano/javanano_params.h> @@ -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 f87f84f2..6f25a3a0 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 <string> #include <google/protobuf/compiler/javanano/javanano_helpers.h> @@ -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 e94a37bd..5d35fd24 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 <map> #include <string> @@ -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__ |