cloudstack/ui/prebuild.sh
Abhishek Kumar 4ecef4bfb4
ui: prevent same string docHelp override (#5014)
Prevent same string docHelp suffix override.
List all existing docHelp suffixes in the config file during the build process.
Updated apache/cloudstack-documentation#199

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-05-12 16:20:17 +05:30

48 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
DIR=$(dirname $0)
configFile="$DIR/public/config.json"
tmpFile="$DIR/public/config.json.tmp"
echo "Pre-build: list all docHelp suffixes in ${configFile}"
for m in $(grep "docHelp: '" -R ./src | sed "s/^.*: '//g" | sed "s/',//g" | sort | uniq); do
docHelpMappings+="${m},"
done;
node > ${tmpFile} <<EOF
// Read config
var data = require('${configFile}');
// Add docHelpMappings
var suffixes = '${docHelpMappings}';
suffixes = suffixes.split(',');
var mappings = {}
for (const suffix of suffixes) {
if (suffix) {
mappings[suffix] = suffix;
}
}
data.docHelpMappings = mappings;
// Output config
console.log(JSON.stringify(data, null, 2));
EOF
mv ${tmpFile} ${configFile}