1 // Copyright 2018 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_NINJA_GENERATED_FILE_TARGET_WRITER_H_ 6 #define TOOLS_GN_NINJA_GENERATED_FILE_TARGET_WRITER_H_ 7 8 #include "base/macros.h" 9 #include "gn/ninja_target_writer.h" 10 11 // Writes a .ninja file for a group target type. 12 class NinjaGeneratedFileTargetWriter : public NinjaTargetWriter { 13 public: 14 NinjaGeneratedFileTargetWriter(const Target* target, std::ostream& out); 15 ~NinjaGeneratedFileTargetWriter() override; 16 17 void Run() override; 18 19 private: 20 void GenerateFile(); 21 22 DISALLOW_COPY_AND_ASSIGN(NinjaGeneratedFileTargetWriter); 23 }; 24 25 #endif // TOOLS_GN_NINJA_GENERATED_FILE_TARGET_WRITER_H_ 26