#ifndef CTOOL_PACKAGE #define CTOOL_PACKAGE #include #include #include "ToolBase.hpp" #include class ToolPackage final : public ToolBase { public: ToolPackage(const ToolPassInfo& info) : ToolBase(info) { if (!info.project) LogModule.report(LogVisor::FatalError, "hecl package must be ran within a project directory"); } ~ToolPackage() { } static void Help(HelpOutput& help) { help.secHead(_S("NAME")); help.beginWrap(); help.wrap(_S("hecl-pack\n" "hecl-package - Package objects within the project database\n")); help.endWrap(); help.secHead(_S("SYNOPSIS")); help.beginWrap(); help.wrap(_S("hecl package [-a] [-o ] []\n")); help.endWrap(); help.secHead(_S("DESCRIPTION")); help.beginWrap(); help.wrap(_S("This command initiates a packaging pass on the project database. Packaging " "is analogous to linking in software development. All objects necessary to " "generate a complete package are gathered, grouped, and indexed within an .hlpk file.\n")); help.endWrap(); help.secHead(_S("OPTIONS")); help.optionHead(_S(""), _S("input directory")); help.beginWrap(); help.wrap(_S("Specifies a project subdirectory to root the resulting package from. " "If any dependent-files fall outside this subdirectory, they will implicitly " "be gathered and packaged.\n")); help.endWrap(); help.optionHead(_S("-o "), _S("output package file")); help.beginWrap(); help.wrap(_S("Specifies a target path to write the package. If not specified, the package " "is written into /out//.hlpk\n")); help.endWrap(); help.optionHead(_S("-a"), _S("auto cook")); help.beginWrap(); help.wrap(_S("Any referenced objects that haven't already been cooked are automatically cooked as " "part of the packaging process. If this flag is omitted, the packaging process will abort.\n")); help.endWrap(); } HECL::SystemString toolName() const {return _S("package");} int run() { return 0; } }; #endif // CTOOL_PACKAGE