blob: bf2ad2f735be9c07fb036f0df0cb379bb071cf18 [file] [log] [blame]
sdefresne1232aae2016-03-10 20:16:361// 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 "tools/gn/target_generator.h"
10
rsesek54f052e2016-04-22 15:21:4311class SourceDir;
12
sdefresne1232aae2016-03-10 20:16:3613// Populates a Target with the values from a create_bundle rule.
14class 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:
sdefresne14ddbb62016-06-14 18:33:3326 bool FillBundleDir(const SourceDir& bundle_root_dir,
27 const base::StringPiece& name,
28 SourceDir* bundle_dir);
29
Yuke Liaoc94fbe292017-07-13 18:42:4730 bool FillXcodeExtraAttributes();
31
sdefresne14ddbb62016-06-14 18:33:3332 bool FillProductType();
Yuke Liao148fef62017-07-13 21:35:2433 bool FillXcodeTestApplicationName();
sdefresne14ddbb62016-06-14 18:33:3334
35 bool FillCodeSigningScript();
36 bool FillCodeSigningSources();
37 bool FillCodeSigningOutputs();
38 bool FillCodeSigningArgs();
sdefresne7ac49762016-08-07 08:17:4539 bool FillBundleDepsFilter();
sdefresne1232aae2016-03-10 20:16:3640
41 DISALLOW_COPY_AND_ASSIGN(CreateBundleTargetGenerator);
42};
43
44#endif // TOOLS_GN_CREATE_BUNDLE_TARGET_GENERATOR_H_