1 // Copyright 2016 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef TOOLS_GN_BUNDLE_DATA_TARGET_GENERATOR_H_ 6 #define TOOLS_GN_BUNDLE_DATA_TARGET_GENERATOR_H_ 7 8 #include "gn/target_generator.h" 9 10 // Populates a Target with the values from a bundle_data rule. 11 class BundleDataTargetGenerator : public TargetGenerator { 12 public: 13 BundleDataTargetGenerator(Target* target, 14 Scope* scope, 15 const FunctionCallNode* function_call, 16 Err* err); 17 ~BundleDataTargetGenerator() override; 18 19 protected: 20 void DoRun() override; 21 22 private: 23 bool FillOutputs(); 24 25 bool EnsureSubstitutionIsInBundleDir(const SubstitutionPattern& pattern, 26 const Value& original_value); 27 28 BundleDataTargetGenerator(const BundleDataTargetGenerator&) = delete; 29 BundleDataTargetGenerator& operator=(const BundleDataTargetGenerator&) = 30 delete; 31 }; 32 33 #endif // TOOLS_GN_BUNDLE_DATA_TARGET_GENERATOR_H_ 34