diff options
Diffstat (limited to 'gn/src/gn/bundle_data_target_generator.h')
-rw-r--r-- | gn/src/gn/bundle_data_target_generator.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gn/src/gn/bundle_data_target_generator.h b/gn/src/gn/bundle_data_target_generator.h new file mode 100644 index 00000000000..05ea820ce8b --- /dev/null +++ b/gn/src/gn/bundle_data_target_generator.h @@ -0,0 +1,32 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef TOOLS_GN_BUNDLE_DATA_TARGET_GENERATOR_H_ +#define TOOLS_GN_BUNDLE_DATA_TARGET_GENERATOR_H_ + +#include "base/macros.h" +#include "gn/target_generator.h" + +// Populates a Target with the values from a bundle_data rule. +class BundleDataTargetGenerator : public TargetGenerator { + public: + BundleDataTargetGenerator(Target* target, + Scope* scope, + const FunctionCallNode* function_call, + Err* err); + ~BundleDataTargetGenerator() override; + + protected: + void DoRun() override; + + private: + bool FillOutputs(); + + bool EnsureSubstitutionIsInBundleDir(const SubstitutionPattern& pattern, + const Value& original_value); + + DISALLOW_COPY_AND_ASSIGN(BundleDataTargetGenerator); +}; + +#endif // TOOLS_GN_BUNDLE_DATA_TARGET_GENERATOR_H_ |