Преглед на файлове

LibUnicode: Make the generated .h and .cpp paths for emoji data optional

This is to allow people making emoji to run the generator to create the
expected commit message format.
Timothy Flynn преди 2 години
родител
ревизия
b820b9b2ff
променени са 1 файла, в които са добавени 14 реда и са изтрити 7 реда
  1. 14 7
      Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateEmojiData.cpp

+ 14 - 7
Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateEmojiData.cpp

@@ -333,18 +333,25 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
     args_parser.add_option(emoji_resource_path, "Path to the /res/emoji directory", "emoji-resource-path", 'r', "emoji-resource-path");
     args_parser.add_option(emoji_resource_path, "Path to the /res/emoji directory", "emoji-resource-path", 'r', "emoji-resource-path");
     args_parser.parse(arguments);
     args_parser.parse(arguments);
 
 
-    auto generated_header_file = TRY(open_file(generated_header_path, Core::Stream::OpenMode::Write));
-    auto generated_implementation_file = TRY(open_file(generated_implementation_path, Core::Stream::OpenMode::Write));
     auto emoji_test_file = TRY(open_file(emoji_test_path, Core::Stream::OpenMode::Read));
     auto emoji_test_file = TRY(open_file(emoji_test_path, Core::Stream::OpenMode::Read));
-    auto emoji_serenity_file = TRY(open_file(emoji_serenity_path, Core::Stream::OpenMode::Read));
-    VERIFY(Core::Stream::File::exists(emoji_resource_path));
+    VERIFY(!emoji_resource_path.is_empty() && Core::Stream::File::exists(emoji_resource_path));
 
 
     EmojiData emoji_data {};
     EmojiData emoji_data {};
     TRY(parse_emoji_test_data(*emoji_test_file, emoji_data));
     TRY(parse_emoji_test_data(*emoji_test_file, emoji_data));
-    TRY(parse_emoji_serenity_data(*emoji_serenity_file, emoji_data));
 
 
-    TRY(generate_emoji_data_header(*generated_header_file, emoji_data));
-    TRY(generate_emoji_data_implementation(*generated_implementation_file, emoji_data));
+    if (!emoji_serenity_path.is_empty()) {
+        auto emoji_serenity_file = TRY(open_file(emoji_serenity_path, Core::Stream::OpenMode::Read));
+        TRY(parse_emoji_serenity_data(*emoji_serenity_file, emoji_data));
+    }
+
+    if (!generated_header_path.is_empty()) {
+        auto generated_header_file = TRY(open_file(generated_header_path, Core::Stream::OpenMode::Write));
+        TRY(generate_emoji_data_header(*generated_header_file, emoji_data));
+    }
+    if (!generated_implementation_path.is_empty()) {
+        auto generated_implementation_file = TRY(open_file(generated_implementation_path, Core::Stream::OpenMode::Write));
+        TRY(generate_emoji_data_implementation(*generated_implementation_file, emoji_data));
+    }
 
 
     if (!generated_installation_path.is_empty()) {
     if (!generated_installation_path.is_empty()) {
         TRY(Core::Directory::create(LexicalPath { generated_installation_path }.parent(), Core::Directory::CreateDirectories::Yes));
         TRY(Core::Directory::create(LexicalPath { generated_installation_path }.parent(), Core::Directory::CreateDirectories::Yes));