1ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "tools/gn/action_values.h" 6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "tools/gn/substitution_writer.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "tools/gn/target.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)ActionValues::ActionValues() { 113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)ActionValues::~ActionValues() { 143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ActionValues::GetOutputsAsSourceFiles( 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const Target* target, 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci std::vector<SourceFile>* result) const { 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (target->output_type() == Target::COPY_FILES || 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci target->output_type() == Target::ACTION_FOREACH) { 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // Copy and foreach applies the outputs to the sources. 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SubstitutionWriter::ApplyListToSources( 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci target->settings(), outputs_, target->sources(), result); 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } else { 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // Actions (and anything else that happens to specify an output) just use 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // the output list with no substitution. 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SubstitutionWriter::GetListAsSourceFiles(outputs_, result); 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 30