Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Side by Side Diff: tools/gn/bundle_file_rule.h

Issue 2105613003: Fix dependencies rules for create_bundle and bundle_data ninja steps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove stamps (to allow using hardlinks) Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/gn/bundle_data.cc ('k') | tools/gn/bundle_file_rule.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef TOOLS_GN_BUNDLE_FILE_RULE_H_ 5 #ifndef TOOLS_GN_BUNDLE_FILE_RULE_H_
6 #define TOOLS_GN_BUNDLE_FILE_RULE_H_ 6 #define TOOLS_GN_BUNDLE_FILE_RULE_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "tools/gn/source_file.h" 10 #include "tools/gn/source_file.h"
11 #include "tools/gn/substitution_pattern.h" 11 #include "tools/gn/substitution_pattern.h"
12 12
13 class BundleData; 13 class BundleData;
14 class Settings; 14 class Settings;
15 class SourceFile; 15 class SourceFile;
16 class Target;
16 class OutputFile; 17 class OutputFile;
17 18
18 // BundleFileRule contains the information found in a "bundle_data" target. 19 // BundleFileRule contains the information found in a "bundle_data" target.
19 class BundleFileRule { 20 class BundleFileRule {
20 public: 21 public:
21 BundleFileRule(const std::vector<SourceFile> sources, 22 BundleFileRule(const Target* bundle_data_target,
23 const std::vector<SourceFile> sources,
22 const SubstitutionPattern& pattern); 24 const SubstitutionPattern& pattern);
23 BundleFileRule(const BundleFileRule& other); 25 BundleFileRule(const BundleFileRule& other);
24 ~BundleFileRule(); 26 ~BundleFileRule();
25 27
26 // Applies the substitution pattern to a source file, returning the result 28 // Applies the substitution pattern to a source file, returning the result
27 // as either a SourceFile or an OutputFile. 29 // as either a SourceFile or an OutputFile.
28 SourceFile ApplyPatternToSource(const Settings* settings, 30 SourceFile ApplyPatternToSource(const Settings* settings,
29 const BundleData& bundle_data, 31 const BundleData& bundle_data,
30 const SourceFile& source_file) const; 32 const SourceFile& source_file) const;
31 OutputFile ApplyPatternToSourceAsOutputFile( 33 OutputFile ApplyPatternToSourceAsOutputFile(
32 const Settings* settings, 34 const Settings* settings,
33 const BundleData& bundle_data, 35 const BundleData& bundle_data,
34 const SourceFile& source_file) const; 36 const SourceFile& source_file) const;
35 37
38 // Returns the associated target (of type Target::BUNDLE_DATA). May be
39 // null during testing.
40 const Target* target() const { return target_; }
41
36 // Returns the list of SourceFiles. 42 // Returns the list of SourceFiles.
37 const std::vector<SourceFile>& sources() const { return sources_; } 43 const std::vector<SourceFile>& sources() const { return sources_; }
38 44
39 private: 45 private:
46 const Target* target_;
40 std::vector<SourceFile> sources_; 47 std::vector<SourceFile> sources_;
41 SubstitutionPattern pattern_; 48 SubstitutionPattern pattern_;
42 }; 49 };
43 50
44 #endif // TOOLS_GN_BUNDLE_FILE_RULE_H_ 51 #endif // TOOLS_GN_BUNDLE_FILE_RULE_H_
OLDNEW
« no previous file with comments | « tools/gn/bundle_data.cc ('k') | tools/gn/bundle_file_rule.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698