| // Copyright 2018 The Goma Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "lib/java_execreq_normalizer.h" |
| |
| #include "glog/logging.h" |
| using std::string; |
| |
| namespace devtools_goma { |
| |
| ConfigurableExecReqNormalizer::Config JavacExecReqNormalizer::Configure( |
| int id, |
| const std::vector<string>& args, |
| bool normalize_include_path, |
| bool is_linking, |
| const std::vector<string>& normalize_weak_relative_for_arg, |
| const std::map<string, string>& debug_prefix_map, |
| const ExecReq* req) const { |
| if (is_linking) { |
| return Config::AsIs(); |
| } |
| |
| Config config; |
| config.keep_cwd = kOmit; |
| // It would be OK to normalize args (e.g. in classname) for Javac. |
| // However, currently normalizer considers only gcc (clang) args. |
| // So, don't normalize. |
| config.keep_args = kAsIs; |
| config.keep_pathnames_in_input = kNormalizeWithCwd; |
| config.keep_system_include_dirs = kOmit; |
| |
| // Dropping pathnames may generate same hash from different input. |
| CHECK(!(config.keep_pathnames_in_input & kOmit)); |
| return config; |
| } |
| |
| ConfigurableExecReqNormalizer::Config JavaExecReqNormalizer::Configure( |
| int id, |
| const std::vector<string>& args, |
| bool normalize_include_path, |
| bool is_linking, |
| const std::vector<string>& normalize_weak_relative_for_arg, |
| const std::map<string, string>& debug_prefix_map, |
| const ExecReq* req) const { |
| return Config::AsIs(); |
| } |
| |
| } // namespace devtools_goma |