// Copyright 2014 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. #include "tools/gn/commands.h" #include "tools/gn/setup.h" #include "tools/gn/standard_out.h" namespace commands { const char kCheck[] = "check"; const char kCheck_HelpShort[] = "check: Check header dependencies."; const char kCheck_Help[] = "gn check: Check header dependencies.\n" "\n" " \"gn check\" is the same thing as \"gn gen\" with the \"--check\" flag\n" " except that this command does not write out any build files. It's\n" " intended to be an easy way to manually trigger include file checking.\n" "\n" " See \"gn help\" for the common command-line switches.\n"; int RunCheck(const std::vector& args) { // Deliberately leaked to avoid expensive process teardown. Setup* setup = new Setup(); // TODO(brettw) bug 343726: Use a temporary directory instead of this // default one to avoid messing up any build that's in there. if (!setup->DoSetup("//out/Default")) return 1; setup->set_check_public_headers(true); if (!setup->Run()) return 1; OutputString("Header dependency check OK\n", DECORATION_GREEN); return 0; } } // namespace commands