From 0c71951cce0a507f61146d56ae48d0d1f65e3739 Mon Sep 17 00:00:00 2001 From: sebthom Date: Wed, 26 Jun 2024 20:39:06 +0200 Subject: [PATCH 1/2] chore(deps): update langpack updater deps --- org.eclipse.tm4e.language_pack/updater/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm4e.language_pack/updater/pom.xml b/org.eclipse.tm4e.language_pack/updater/pom.xml index 21de56847..2d5831e35 100644 --- a/org.eclipse.tm4e.language_pack/updater/pom.xml +++ b/org.eclipse.tm4e.language_pack/updater/pom.xml @@ -33,19 +33,19 @@ com.fasterxml.jackson.dataformat jackson-dataformat-yaml - 2.16.0 + 2.16.1 com.twelvemonkeys.imageio imageio-bmp - 3.10.1 + 3.11.0 com.twelvemonkeys.imageio imageio-batik - 3.10.1 + 3.11.0 From d26947b9103fdbe0bbb635334c5dafbc759a4f6e Mon Sep 17 00:00:00 2001 From: sebthom Date: Wed, 26 Jun 2024 20:39:51 +0200 Subject: [PATCH 2/2] feat: improve language configuration validation in langpack updater --- .../VSCodeSingleExtensionSourceHandler.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java b/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java index f6bd91cd1..87b6e2456 100644 --- a/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java +++ b/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java @@ -53,12 +53,12 @@ void handle() throws IOException { assertArgNotEmpty("package.json/contributes/languages", pkgJson.contributes().languages()); final var pkgJsonLangs = new TreeMap(); - for (final var lang : pkgJson.contributes().languages()) { + for (final Contributions.Language lang : pkgJson.contributes().languages()) { pkgJsonLangs.put(lang.id(), lang); } final var pkgJsonLangGrammars = new TreeMap(); final var pkgJsonInlineGrammars = new TreeMap(); - for (final var grammar : pkgJson.contributes().grammars()) { + for (final Contributions.Grammar grammar : pkgJson.contributes().grammars()) { if (grammar.language() != null) { if (pkgJsonLangs.containsKey(grammar.language())) { pkgJsonLangGrammars.put(grammar.language(), grammar); @@ -75,9 +75,18 @@ void handle() throws IOException { for (final Entry langOverrides : source.languages.entrySet()) { final var langId = langOverrides.getKey(); if (!pkgJsonLangs.containsKey(langId)) { - logInfo("FAILED", true, false); - throw new IllegalArgumentException( - "No language with id [" + langId + "] found at [package.json/contributes/languages]"); + final Config.LanguageIgnoreable langOverride = langOverrides.getValue(); + if (isBlank(langOverride.grammar)) { + logInfo("FAILED", true, false); + throw new IllegalArgumentException( + "No language with id [" + langId + "] found at [package.json/contributes/languages]"); + } + if (isBlank(langOverride.scopeName)) { + logInfo("FAILED", true, false); + throw new IllegalArgumentException("Language with id [" + langId + + "] found at [package.json/contributes/languages] is missing scopeName"); + } + pkgJsonLangs.put(langId, new Contributions.Language(langId, null, null, null, null, null, langOverride.langcfg)); } } logInfo("OK", true, false);