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_CREATE_BUNDLE_TARGET_GENERATOR_H_ 6 #define TOOLS_GN_CREATE_BUNDLE_TARGET_GENERATOR_H_ 7 8 #include "base/macros.h" 9 #include "gn/target_generator.h" 10 11 class SourceDir; 12 13 // Populates a Target with the values from a create_bundle rule. 14 class CreateBundleTargetGenerator : public TargetGenerator { 15 public: 16 CreateBundleTargetGenerator(Target* target, 17 Scope* scope, 18 const FunctionCallNode* function_call, 19 Err* err); 20 ~CreateBundleTargetGenerator() override; 21 22 protected: 23 void DoRun() override; 24 25 private: 26 bool FillBundleDir(const SourceDir& bundle_root_dir, 27 const std::string_view& name, 28 SourceDir* bundle_dir); 29 30 bool FillXcodeExtraAttributes(); 31 32 bool FillProductType(); 33 bool FillPartialInfoPlist(); 34 bool FillXcodeTestApplicationName(); 35 36 bool FillCodeSigningScript(); 37 bool FillCodeSigningSources(); 38 bool FillCodeSigningOutputs(); 39 bool FillCodeSigningArgs(); 40 bool FillBundleDepsFilter(); 41 42 DISALLOW_COPY_AND_ASSIGN(CreateBundleTargetGenerator); 43 }; 44 45 #endif // TOOLS_GN_CREATE_BUNDLE_TARGET_GENERATOR_H_ 46