diff --git a/scripts/package.sh b/scripts/package.sh index 5b1a89f..e3ef6a1 100755 --- a/scripts/package.sh +++ b/scripts/package.sh @@ -1,41 +1,45 @@ -#!/usr/bin/env bash +#!/bin/sh # -# Copyright (C) 2021 CismonX +# Copyright (C) 2021,2024 CismonX # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty, provided the copyright notice and # this notice are preserved. This file is offered as-is, without any warranty. # -VSIX_FILE_NAME=texinfo-$(json -f package.json version).vsix -PACKAGE_JSON_CLEANUP_JS=$(cat ./scripts/package-json-cleanup.js) +set -e -vsce package --baseContentUrl=$(json -f package.json repository.url)/tree +version=$(json -f package.json version) +vsix_file_name=texinfo-$version.vsix +vsce package --baseContentUrl="$(json -f package.json repository.url)/tree" +unzip -d "$vsix_file_name.d" "$vsix_file_name" + +cd "$vsix_file_name.d" +minify_xml() { + minify-xml --no-shorten-namespaces --no-remove-unused-namespaces \ + --no-remove-unused-default-namespace -i "$1" +} +minify_xml '[Content_Types].xml' +minify_xml extension.vsixmanifest -unzip -d $VSIX_FILE_NAME{.d,} -cd $VSIX_FILE_NAME.d -MINIFY_XML_OPTIONS='--no-shorten-namespaces - --no-remove-unused-namespaces - --no-remove-unused-default-namespace' -minify-xml $MINIFY_XML_OPTIONS --output \[Content_Types\].xml{,} -minify-xml $MINIFY_XML_OPTIONS --output extension.vsixmanifest{,} cd extension # Minify JSON files. -json -j0 -I -e "$PACKAGE_JSON_CLEANUP_JS" -f package.json +json -j0 -I -e "$(cat ../../scripts/package-json-cleanup.js)" -f package.json perl -pi -e 'chomp if eof' package.json -json5 -o language-configuration.json{,} +json5 language-configuration.json > _ && mv _ language-configuration.json # Remove comments from Markdown files. tail -n +9 README.md > _ && mv _ README.md tail -n +9 CHANGELOG.md > _ && mv _ CHANGELOG.md + cd ext # Minify Perl scripts. # You can install perltidy with `cpan Perl::Tidy` -if [[ -x "$(command -v perltidy)" ]]; then +if command -v perltidy; then perltidy --mangle -dac -b html-preview.pm rm html-preview.pm.bak fi -cd ../../.. +cd ../../.. # Re-package .vsix file. -node ./scripts/make-vsix.js $VSIX_FILE_NAME -rm -r $VSIX_FILE_NAME.d +node ./scripts/make-vsix.js "$vsix_file_name" +rm -r "$vsix_file_name.d" diff --git a/scripts/prepare.sh b/scripts/prepare.sh index 14a0429..4ddb7c6 100755 --- a/scripts/prepare.sh +++ b/scripts/prepare.sh @@ -1,17 +1,21 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright (C) 2020,2021 CismonX +# Copyright (C) 2020,2021,2024 CismonX # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty, provided the copyright notice and # this notice are preserved. This file is offered as-is, without any warranty. # -SRC_PATH=./node_modules/language-texinfo -DEST_PATH=./out/grammars -mkdir -p $DEST_PATH -# Convert TextMate grammar to JSON, as VSCode cannot recognize CSON ones. -cson2json $SRC_PATH/grammars/texinfo.cson | json5 > $DEST_PATH/texinfo.json +set -e -VERSION=$(json -f package.json version) -echo "@set VERSION $VERSION" > ./doc/version.texi +src_path=./node_modules/language-texinfo +dest_path=./out/grammars + +mkdir -p $dest_path + +# Convert TextMate grammar to JSON, since VSCode cannot recognize CSON ones. +cson2json $src_path/grammars/texinfo.cson | json5 > $dest_path/texinfo.json + +version=$(json -f package.json version) +echo "@set VERSION $version" > ./doc/version.texi