Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Unified Diff: tools/gn/ninja_copy_target_writer.cc

Issue 429423002: Refactor GN source expansions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/gn/ninja_action_target_writer_unittest.cc ('k') | tools/gn/ninja_copy_target_writer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/ninja_copy_target_writer.cc
diff --git a/tools/gn/ninja_copy_target_writer.cc b/tools/gn/ninja_copy_target_writer.cc
index 40eeb49cf3e5ee2642c807d66818fb49c14f1146..4a88102f34e7d2a91b1a95b5cb49a39ededdf152 100644
--- a/tools/gn/ninja_copy_target_writer.cc
+++ b/tools/gn/ninja_copy_target_writer.cc
@@ -5,8 +5,9 @@
#include "tools/gn/ninja_copy_target_writer.h"
#include "base/strings/string_util.h"
-#include "tools/gn/file_template.h"
#include "tools/gn/string_utils.h"
+#include "tools/gn/substitution_list.h"
+#include "tools/gn/substitution_writer.h"
NinjaCopyTargetWriter::NinjaCopyTargetWriter(const Target* target,
const Toolchain* toolchain,
@@ -18,8 +19,12 @@ NinjaCopyTargetWriter::~NinjaCopyTargetWriter() {
}
void NinjaCopyTargetWriter::Run() {
- CHECK(target_->action_values().outputs().size() == 1);
- FileTemplate output_template = FileTemplate::GetForTargetOutputs(target_);
+ CHECK(target_->action_values().outputs().list().size() == 1);
+ const SubstitutionList& output_subst_list =
+ target_->action_values().outputs();
+ CHECK_EQ(1u, output_subst_list.list().size())
+ << "Should have one entry exactly.";
+ const SubstitutionPattern& output_subst = output_subst_list.list()[0];
std::vector<OutputFile> output_files;
@@ -49,16 +54,9 @@ void NinjaCopyTargetWriter::Run() {
for (size_t i = 0; i < target_->sources().size(); i++) {
const SourceFile& input_file = target_->sources()[i];
- // Make the output file from the template.
- std::vector<std::string> template_result;
- output_template.Apply(input_file, &template_result);
- CHECK(template_result.size() == 1);
-
- // All output files should be in the build directory, so we can rebase
- // them just by trimming the prefix.
- OutputFile output_file(
- RemovePrefix(template_result[0],
- settings_->build_settings()->build_dir().value()));
+ OutputFile output_file =
+ SubstitutionWriter::ApplyPatternToSourceAsOutputFile(
+ target_->settings(), output_subst, input_file);
output_files.push_back(output_file);
out_ << "build ";
« no previous file with comments | « tools/gn/ninja_action_target_writer_unittest.cc ('k') | tools/gn/ninja_copy_target_writer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698