aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/compiler/command_line_interface.cc
Commit message (Collapse)AuthorAgeFilesLines
* Down-integrate from google3.Josh Haberman2018-09-041-6/+9
|
* Merge pull request #5024 from greenhouse-org/fix-windows-pathFeng Xiao2018-08-201-1/+2
|\ | | | | Fix TryCreateParentDirectory on Windows
| * Always spilt on '\' and '/'Sam Smith2018-08-131-5/+1
| |
| * Fix TryCreateParentDirectory on WindowsSam Smith2018-08-091-0/+5
| | | | | | | | | | | | | | On Windows, both '/' and '\' are valid path separators. So when creating the parent directories, split the filename on both Signed-off-by: Akshat Gokhale <agokhale@pivotal.io>
* | Down-integrate from google3.Feng Xiao2018-08-081-54/+65
|/
* Integrated internal changes from GoogleAdam Cozzette2018-03-131-24/+19
|
* Removed using statements from common.hAdam Cozzette2018-01-261-4/+4
| | | | | | 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 buildJisi Liu2017-11-101-1/+1
|
* Integrated internal changes from GoogleAdam Cozzette2017-09-141-12/+43
|
* Make win32_io only for MSVCJisi Liu2017-08-111-1/+1
| | | | | This excludes cygwin and mingw from using the self implemented functions.
* Merge from masterJisi Liu2017-07-251-24/+24
|
* Merge master into 3.4.xJisi Liu2017-07-181-0/+6
|\
| * show help if protoc is called without any arguments, pre-empts -h and --help ↵Dennis Cappendijk2017-05-221-0/+6
| | | | | | | | to show a useful message instead of just 'Missing input file.'
* | Merge from Google internal for 3.4 releaseJisi Liu2017-07-181-94/+317
|/
* Merge remote-tracking branch 'remotes/google/3.3.x' into merge-3.3-to-masterAdam Cozzette2017-04-271-25/+30
|\
| * Down-integrate from google3.Feng Xiao2017-03-291-26/+31
| |
* | Remove "using namespace std" from stubs/common.hAdam Cozzette2017-04-261-6/+6
|/ | | | | | | | 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.
* Merge pull request #2023 from odeke-em/fix-print-help-to-stdoutJoshua Haberman2017-03-151-3/+3
|\ | | | | compiler/cli: PrintHelpText prints to stdout instead of stderr
| * compiler/cli: PrintHelpText prints to stdout instead of stderrEmmanuel Odeke2017-03-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.Feng Xiao2017-02-281-0/+6
|/
* Remove the use of C++11 features.Feng Xiao2017-02-271-2/+2
|
* Improve support for plugin parameters.Thomas Van Lenten2017-02-141-2/+20
| | | | | | | | | --[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)Paul Yang2017-01-311-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.Feng Xiao2016-12-051-0/+7
|
* Merge branch 'master' into down-integrate-with-msvc-fixAdam Cozzette2016-11-171-9/+38
|\
| * Add comments about converting directives into PluginNameJisi Liu2016-10-261-1/+2
| |
| * Support extra parameters for plugins.Jisi Liu2016-10-251-8/+36
| |
* | Integrated internal changes from GoogleAdam Cozzette2016-11-171-38/+41
|/
* Fix Visual Studio compile issues.Feng Xiao2016-10-101-4/+2
| | | | Change-Id: I6a5078b6bcdf4637e11c1cb9da1f74298e6fc26e
* Integrate internal changesBo Yang2016-10-101-18/+41
|
* Make sure also Solaris x86 gets PATH_MAXDagobert Michelsen2016-07-071-2/+0
|
* Fix spelling in strings and commentsOtto Kekäläinen2016-07-031-1/+1
|
* Integrated internal changes from GoogleAdam Cozzette2016-06-291-11/+16
| | | | This includes all internal changes from around May 20 to now.
* Merge pull request #879 from mathstuf/support-equals-in-proto-pathFeng Xiao2016-06-081-2/+7
|\ | | | | protoc: support '=' in --proto_path arguments
| * protoc: support '=' in --proto_path argumentsBen Boeckel2016-04-201-2/+7
| |
* | Down integrate from Google internal.Jisi Liu2016-04-281-4/+11
| |
* | Integrate google internal changes.Jisi Liu2016-03-301-1/+1
| |
* | Merge pull request #789 from motahan/solaris64_fixFeng Xiao2016-01-201-0/+5
|\ \ | | | | | | Fixing compile errors on Solaris in 64-bit mode
| * | Fixing compile errors on Solaris in 64-bit modeMohamed El-Tahan2015-09-021-0/+5
| |/
* / Down-integrate from internal code base.Feng Xiao2015-12-111-15/+44
|/
* Down-integrate from google3.Feng Xiao2015-08-221-0/+5
|
* Fix build failure on Windows when Unicode build is enabled.Yohei Yukawa2015-07-301-1/+1
| | | | | | | | | | 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 OSDan Barry2015-06-021-0/+14
|
* Merge pull request #413 from TeBoring/masterPaul Yang2015-05-211-14/+32
|\ | | | | down-integrate internal changes
| * down-integrate internal changesBo Yang2015-05-211-14/+32
| |
* | Add default import paths for descriptor.proto and other well-known types to ↵Feng Xiao2015-05-211-0/+64
|/ | | | | | protoc. Change-Id: I4afa295de4c8ed2a4cd0919cf84aedcd1327d9a5
* Merge pull request #193 from TeBoring/sbPaul Yang2015-03-091-2/+112
|\ | | | | Implement a feature to generate a dependency file
| * Fix absolute/relative path in outputBo Yang2015-02-091-1/+5
| |
| * Change target to output filenamesBo Yang2015-02-071-21/+48
| |
| * Clean codeBo Yang2015-02-041-16/+16
| |