Index: sky/tools/packager/main.cc |
diff --git a/sky/tools/packager/main.cc b/sky/tools/packager/main.cc |
index 7b5e1f3f2b2f2d43eecd0f5a60fd717905b3760e..fcfd111cae5e2ec68f13897aa222d6bf1af4deb8 100644 |
--- a/sky/tools/packager/main.cc |
+++ b/sky/tools/packager/main.cc |
@@ -18,6 +18,12 @@ |
#include "sky/tools/packager/switches.h" |
#include "sky/tools/packager/vm.h" |
+void Usage() { |
+ std::cerr << "Usage: sky_packager" |
+ << " --" << switches::kPackageRoot << " --" << switches::kSnapshot |
+ << " <sky-app>" << std::endl; |
+} |
+ |
void WriteSnapshot(base::FilePath path) { |
uint8_t* buffer; |
intptr_t size; |
@@ -35,13 +41,19 @@ int main(int argc, const char* argv[]) { |
base::EnableTerminationOnHeapCorruption(); |
base::CommandLine::Init(argc, argv); |
+ const base::CommandLine& command_line = |
+ *base::CommandLine::ForCurrentProcess(); |
+ |
+ if (command_line.HasSwitch(switches::kHelp) || |
+ command_line.GetArgs().empty()) { |
+ Usage(); |
+ return 0; |
+ } |
+ |
InitDartVM(); |
Dart_Isolate isolate = CreateDartIsolate(); |
CHECK(isolate); |
- const base::CommandLine& command_line = |
- *base::CommandLine::ForCurrentProcess(); |
- |
DartIsolateScope scope(isolate); |
DartApiScope api_scope; |
@@ -51,8 +63,8 @@ int main(int argc, const char* argv[]) { |
CHECK(!LogIfError(Dart_FinalizeLoading(true))); |
- CHECK(command_line.HasSwitch(kSnapshot)) << "Need --snapshot"; |
- WriteSnapshot(command_line.GetSwitchValuePath(kSnapshot)); |
+ CHECK(command_line.HasSwitch(switches::kSnapshot)) << "Need --snapshot"; |
+ WriteSnapshot(command_line.GetSwitchValuePath(switches::kSnapshot)); |
return 0; |
} |