aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/command_line_interface.cc
Commit message (Collapse)AuthorAge
* Integrated internal changes from GoogleGravatar Adam Cozzette2018-03-13
|
* Removed using statements from common.hGravatar Adam Cozzette2018-01-26
| | | | | | These statements pulled a bunch of symbols from the std namespace into the global namespace. This commit removes all of them except for std::string, which is a bit trickier to remove.
* Support win32 long path for cross compiled buildGravatar Jisi Liu2017-11-10
|
* Integrated internal changes from GoogleGravatar Adam Cozzette2017-09-14
|
* Make win32_io only for MSVCGravatar Jisi Liu2017-08-11
| | | | | This excludes cygwin and mingw from using the self implemented functions.
* Merge from masterGravatar Jisi Liu2017-07-25
|
* Merge master into 3.4.xGravatar Jisi Liu2017-07-18
|\
* | Merge from Google internal for 3.4 releaseGravatar Jisi Liu2017-07-18
| |
| * show help if protoc is called without any arguments, pre-empts -h and --help ↵Gravatar Dennis Cappendijk2017-05-22
|/ | | | to show a useful message instead of just 'Missing input file.'
* Merge remote-tracking branch 'remotes/google/3.3.x' into merge-3.3-to-masterGravatar Adam Cozzette2017-04-27
|\
* | Remove "using namespace std" from stubs/common.hGravatar Adam Cozzette2017-04-26
| | | | | | | | | | | | | | | | This prevents the contents of the std namespace from being effectively pulled into the top-level namespace in all translation units that include common.h. I left in individual using statements for a few common things like std::set and std::map, because it did not seem worth going through the churn of updating the whole codebase to fix those right now.
| * Down-integrate from google3.Gravatar Feng Xiao2017-03-29
|/
* Merge pull request #2023 from odeke-em/fix-print-help-to-stdoutGravatar Joshua Haberman2017-03-15
|\ | | | | compiler/cli: PrintHelpText prints to stdout instead of stderr
| * compiler/cli: PrintHelpText prints to stdout instead of stderrGravatar Emmanuel Odeke2017-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #698. PrintHelpText now prints to standard output instead of to standard error. The purpose of this CL is to make it easy for users to grep for matches otherwise stderr output has to be awkwardly redirectly to stdout using this shell trick `2>&1`, for example ```shell protoc --help 2>&1 | grep cpp ``` of which we shouldn't be making users have to work that hard just to get use of --help. + Exhibits: * Before: ```shell $ protoc --help | grep cpp Usage: protoc [OPTION] PROTO_FILES Parse PROTO_FILES and generate output based on the options given: -IPATH, --proto_path=PATH Specify the directory in which to search for imports. May be specified multiple times; directories will be searched in order. If not given, the current working directory is used. --version Show version info and exit. -h, --help Show this text and exit. --encode=MESSAGE_TYPE Read a text-format message of the given type from standard input and write it in binary to standard output. The message type must be defined in PROTO_FILES or their imports. --decode=MESSAGE_TYPE Read a binary message of the given type from standard input and write it in text format to standard output. The message type must be defined in PROTO_FILES or their imports. --decode_raw Read an arbitrary protocol message from standard input and write the raw tag/value pairs in text format to standard output. No PROTO_FILES should be given when using this flag. -oFILE, Writes a FileDescriptorSet (a protocol buffer, --descriptor_set_out=FILE defined in descriptor.proto) containing all of the input files to FILE. --include_imports When using --descriptor_set_out, also include all dependencies of the input files in the set, so that the set is self-contained. --include_source_info When using --descriptor_set_out, do not strip SourceCodeInfo from the FileDescriptorProto. This results in vastly larger descriptors that include information about the original location of each decl in the source file as well as surrounding comments. --dependency_out=FILE Write a dependency output file in the format expected by make. This writes the transitive set of input file paths to FILE --error_format=FORMAT Set the format in which to print errors. FORMAT may be 'gcc' (the default) or 'msvs' (Microsoft Visual Studio format). --print_free_field_numbers Print the free field numbers of the messages defined in the given proto files. Groups share the same field number space with the parent message. Extension ranges are counted as occupied fields numbers. --plugin=EXECUTABLE Specifies a plugin executable to use. Normally, protoc searches the PATH for plugins, but you may specify additional executables not in the path using this flag. Additionally, EXECUTABLE may be of the form NAME=PATH, in which case the given plugin name is mapped to the given executable even if the executable's own name differs. --cpp_out=OUT_DIR Generate C++ header and source. --csharp_out=OUT_DIR Generate C# source file. --java_out=OUT_DIR Generate Java source file. --javanano_out=OUT_DIR Generate Java Nano source file. --js_out=OUT_DIR Generate JavaScript source. --objc_out=OUT_DIR Generate Objective C header and source. --python_out=OUT_DIR Generate Python source file. --ruby_out=OUT_DIR Generate Ruby source file. ``` * After: ```shell $ protoc --help | grep cpp --plugin=EXECUTABLE Specifies a plugin executable to use. Normally, protoc searches the PATH for plugins, but you may specify additional executables not in the path using this flag. Additionally, EXECUTABLE may be of the form NAME=PATH, in which case the given plugin name is mapped to the given executable even if the executable's own name differs. --cpp_out=OUT_DIR Generate C++ header and source. --csharp_out=OUT_DIR Generate C# source file. --java_out=OUT_DIR Generate Java source file. --javanano_out=OUT_DIR Generate Java Nano source file. --js_out=OUT_DIR Generate JavaScript source. --objc_out=OUT_DIR Generate Objective C header and source. --python_out=OUT_DIR Generate Python source file. --ruby_out=OUT_DIR Generate Ruby source file. ```
* | Undef major/minor if they are defined as macro.Gravatar Feng Xiao2017-02-28
|/
* Remove the use of C++11 features.Gravatar Feng Xiao2017-02-27
|
* Improve support for plugin parameters.Gravatar Thomas Van Lenten2017-02-14
| | | | | | | | | --[name]_opt support depended on the plugin being register, and didn't support working with just --[name]_out directive (where the plugin is found via the users PATH. This extends the command line handing to allow --[name]_out to be all it takes for the _opt directive to also be supported. Fixes https://github.com/google/protobuf/issues/2712
* Merge 3.2.x branch into master (#2648)Gravatar Paul Yang2017-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Down-integrate internal changes to github. * Update conformance test failure list. * Explicitly import used class in nano test to avoid random test fail. * Update _GNUC_VER to use the correct implementation of atomic operation on Mac. * maps_test.js: check whether Symbol is defined before using it (#2524) Symbol is not yet available on older versions of Node.js and so this test fails with them. This change just directly checks whether Symbol is available before we try to use it. * Added well_known_types_embed.cc to CLEANFILES so that it gets cleaned up * Updated Makefile.am to fix out-of-tree builds * Added Bazel genrule for generating well_known_types_embed.cc In pull request #2517 I made this change for the CMake and autotools builds but forgot to do it for the Bazel build. * Update _GNUC_VER to use the correct implementation of atomic operation on Mac. * Add new js file in extra dist. * Bump version number to 3.2.0 * Fixed issue with autoloading - Invalid paths (#2538) * PHP fix int64 decoding (#2516) * fix int64 decoding * fix int64 decoding + tests * Fix int64 decoding on 32-bit machines. * Fix warning in compiler/js/embed.cc embed.cc: In function ‘std::string CEscape(const string&)’: embed.cc:51:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < str.size(); ++i) { ^ * Fix include in auto-generated well_known_types_embed.cc Restore include style fix (e3da722) that has been trampled by auto-generation of well_known_types_embed.cc * Fixed cross compilations with the Autotools build Pull request #2517 caused cross compilations to start failing, because the js_embed binary was being built to run on the target platform instead of on the build machine. This change updates the Autotools build to use the AX_PROG_CXX_FOR_BUILD macro to find a suitable compiler for the build machine and always use that when building js_embed. * Minor fix for autocreated object repeated fields and maps. - If setting/clearing a repeated field/map that was objects, check the class before checking the autocreator. - Just to be paranoid, don’t mutate within copy/mutableCopy for the autocreated classes to ensure there is less chance of issues if someone does something really crazy threading wise. - Some more tests for the internal AutocreatedArray/AutocreatedDictionary classes to ensure things are working as expected. - Add Xcode 8.2 to the full_mac_build.sh supported list. * Fix generation of extending nested messages in JavaScript (#2439) * Fix generation of extending nested messages in JavaScript * Added missing test8.proto to build * Fix generated code when there is no namespace but there is enum definition. * Decoding unknown field should succeed. * Add embed.cc in src/Makefile.am to fix dist check. * Fixed "make distcheck" for the Autotools build To make the test pass I needed to fix out-of-tree builds and update EXTRA_DIST and CLEANFILES. * Remove redundent embed.cc from src/Makefile.am * Update version number to 3.2.0-rc.1 (#2578) * Change protoc-artifacts version to 3.2.0-rc.1 * Update version number to 3.2.0rc2 * Update change logs for 3.2.0 release. * Update php README * Update upb, fixes some bugs (including a hash table problem). (#2611) * Update upb, fixes some bugs (including a hash table problem). * Ruby: added a test for the previous hash table corruption. Verified that this triggers the bug in the currently released version. * Ruby: bugfix for SEGV. * Ruby: removed old code for dup'ing defs. * Reverting deployment target to 7.0 (#2618) The Protobuf library doesn’t require the 7.1 deployment target so reverting it back to 7.0 * Fix typo that breaks builds on big-endian (#2632) * Bump version number to 3.2.0
* Add version number to plugin protocol.Gravatar Feng Xiao2016-12-05
|
* Merge branch 'master' into down-integrate-with-msvc-fixGravatar Adam Cozzette2016-11-17
|\
* | Integrated internal changes from GoogleGravatar Adam Cozzette2016-11-17
| |
| * Add comments about converting directives into PluginNameGravatar Jisi Liu2016-10-26
| |
| * Support extra parameters for plugins.Gravatar Jisi Liu2016-10-25
|/
* Fix Visual Studio compile issues.Gravatar Feng Xiao2016-10-10
| | | | Change-Id: I6a5078b6bcdf4637e11c1cb9da1f74298e6fc26e
* Integrate internal changesGravatar Bo Yang2016-10-10
|
* Make sure also Solaris x86 gets PATH_MAXGravatar Dagobert Michelsen2016-07-07
|
* Fix spelling in strings and commentsGravatar Otto Kekäläinen2016-07-03
|
* Integrated internal changes from GoogleGravatar Adam Cozzette2016-06-29
| | | | This includes all internal changes from around May 20 to now.
* Merge pull request #879 from mathstuf/support-equals-in-proto-pathGravatar Feng Xiao2016-06-08
|\ | | | | protoc: support '=' in --proto_path arguments
* | Down integrate from Google internal.Gravatar Jisi Liu2016-04-28
| |
| * protoc: support '=' in --proto_path argumentsGravatar Ben Boeckel2016-04-20
| |
* | Integrate google internal changes.Gravatar Jisi Liu2016-03-30
| |
* | Merge pull request #789 from motahan/solaris64_fixGravatar Feng Xiao2016-01-20
|\ \ | | | | | | Fixing compile errors on Solaris in 64-bit mode
* | | Down-integrate from internal code base.Gravatar Feng Xiao2015-12-11
| |/ |/|
| * Fixing compile errors on Solaris in 64-bit modeGravatar Mohamed El-Tahan2015-09-02
|/
* Down-integrate from google3.Gravatar Feng Xiao2015-08-22
|
* Fix build failure on Windows when Unicode build is enabled.Gravatar Yohei Yukawa2015-07-30
| | | | | | | | | | This is a follow up CL for e9abc404df99ef85d3e25aaaccd4aa83e381, which breaks build when UNICODE macro is defined. protoc has explicitly called MBCS version of APIs / funcsions rather than UTF-16 (wchar_t) version of them regardless of UNICODE macro definition (and it indeed works as expected). Hence it makes sense to call GetModuleFileNameA explicitly.
* Add protoc path detection for Mac OSGravatar Dan Barry2015-06-02
|
* Merge pull request #413 from TeBoring/masterGravatar Paul Yang2015-05-21
|\ | | | | down-integrate internal changes
| * down-integrate internal changesGravatar Bo Yang2015-05-21
| |
* | Add default import paths for descriptor.proto and other well-known types to ↵Gravatar Feng Xiao2015-05-21
|/ | | | | | protoc. Change-Id: I4afa295de4c8ed2a4cd0919cf84aedcd1327d9a5
* Merge pull request #193 from TeBoring/sbGravatar Paul Yang2015-03-09
|\ | | | | Implement a feature to generate a dependency file
* | Down integrate from Google internal branch for C++ and Java.Gravatar Jisi Liu2015-02-28
| | | | | | | | | | | | | | | | - Maps for C++ lite - C++ Arena optimizations. - Java Lite runtime code size optimization. Change-Id: I7537a4357c1cb385d23f9e8aa7ffdfeefe079f13
| * Fix absolute/relative path in outputGravatar Bo Yang2015-02-09
| |
| * Change target to output filenamesGravatar Bo Yang2015-02-07
| |
| * Clean codeGravatar Bo Yang2015-02-04
| |
| * Remove "include sstream" from command_line_interface.ccGravatar Bo Yang2015-02-04
| |
| * Change flag for generating dependency file to "dependency_out". DeleteGravatar Bo Yang2015-02-04
| | | | | | | | test-driver
| * Implement a feature to generate a dependency file. By giving protoc the flagGravatar Bo Yang2015-02-03
| | | | | | | | | | | | | | "--dependency_manifest_out=FILE", protoc will write dependencies of input proto files into FILE. In FILE, the format will be <full path to FILE>: <full path to 1st proto>\\\n <full path to 2nd proto> ... This cl is based on https://github.com/google/protobuf/pull/178
| * Add support for outputting dependency manifest files, used by ninja and makeGravatar Richard Geary2015-01-23
|/ | | | | | | | | | | | | Use --manifest-file=somefile.d to output the dependency manifest. This file will contain a list of files which were read by protoc as part of creating the output files. It doesn't include the plugin inputs if plugins are used, that could be a later extension. The manifest file is in the format <output file>: <input files>. The manifest file format only allows you to specify one output file, which isn't a problem as it's used to detect input changes in order to detect when to rerun the protoc command. The output file used in the manifest is the manifest filename itself; to use this in ninja you should declare the manifest file as the first output as well as the depfile input.