sdbus++-gendir: remove deprecated script
The sdbus++-gendir script has been deprecated for a while and removed
from all external users in the openbmc org. The internal usage
was also removed recently, so fully delete this script.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I6ceb7cceb59b36b6763d19682d09110cb8de386f
diff --git a/tools/meson.build b/tools/meson.build
index 6f0e444..f260f61 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -27,8 +27,5 @@
meson.override_find_program('sdbus++', files('sdbus++'))
sdbusplusplus_prog = find_program('sdbus++', native: true)
-meson.override_find_program('sdbus++-gendir', files('sdbus++-gendir'))
-sdbusgen_prog = find_program('sdbus++-gendir', native: true)
-
meson.override_find_program('sdbus++-gen-meson', files('sdbus++-gen-meson'))
sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true)
diff --git a/tools/sdbus++-gendir b/tools/sdbus++-gendir
deleted file mode 100755
index c4f92ee..0000000
--- a/tools/sdbus++-gendir
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-function show_usage {
- proc=$(nproc)
- echo "Usage: $0 [options] <dirs>+"
- echo
- echo "Generate the sdbus++ sources from a directory path."
- echo
- echo "Options:"
- echo " --tool <path> - path to processing tool (default 'sdbus++')."
- echo " --output <path> - directory to place output files (default '.')."
- echo " --list-all - include all generated files in stdout list."
- echo " --jobs <N> - number to run in parallel (default: ${proc})."
- echo " <dirs>+ - any number of subdirectories to generate."
- echo
- echo "The output on stdout is a list of generated files, which is intended"
- echo "to be consumed by build systems, such as Meson."
- echo
- echo "This tool, by default, generates all files that are able to be"
- echo "created by sdbus++. The output is a list of compilable sources that"
- echo "were generated by the tool. The tool may generate outputs which are"
- echo "not able to be compiled, such as documentation, but it does not put"
- echo "them into stdout unless --list-all is given."
-}
-
-sdbuspp="sdbus++"
-outputdir="."
-listall="no"
-parallel=$(nproc || grep -c ^processor < /proc/cpuinfo)
-
-options="$(getopt -o ho:t:j: --long help,list-all,output:,tool:,jobs: -- "$@")"
-eval set -- "${options}"
-
-while true; do
- case "$1" in
- -h | --help)
- show_usage
- exit
- ;;
-
- -j | --jobs)
- shift
- parallel="$1"
- shift
- ;;
-
- --list-all)
- listall="yes"
- shift
- ;;
-
- -o | --output)
- shift
- outputdir="$1"
- shift
- ;;
-
- -t | --tool)
- shift
- sdbuspp="$1"
- shift
- ;;
-
- --)
- shift
- break
- ;;
-
- *)
- echo "Invalid argument: $1"
- exit 1
- ;;
- esac
-done
-
-if [[ $# -eq 0 ]]; then
- show_usage
- exit 1
-fi
-
-all_jobs=""
-
-declare -A emitted_file_names
-# generate_single -- make a single call to sdbus++.
-# $1: sdbus++ TYPE
-# $2: sdbus++ PROCESS
-# $3: sdbus++ ITEM
-# $4: relative output file
-# $5: 'append-mode' if present.
-function generate_single {
-
- if [[ "empty" == "$1" ]]; then
- echo -n > "${outputdir}/$4"
- elif [[ "" == "$5" ]]; then
- ${sdbuspp} "$1" "$2" "$3" > "${outputdir}/$4" &
- all_jobs="${all_jobs} $!"
- else
- ${sdbuspp} "$1" "$2" "$3" >> "${outputdir}/$4" &
- all_jobs="${all_jobs} $!"
- fi
-
- # Emit filename as needed.
- filename=${outputdir}/$4
- if [[ "x1" != "x${emitted_file_names[${filename}]}" ]]; then
- emitted_file_names[${filename}]="1"
-
- # Always emit generated file name for foo-cpp and foo-header.
- # Conditionally emit for everything else depending on $listall.
- case "$2" in
- *-cpp | *-header)
- echo "${filename}"
- ;;
-
- *)
- if [[ "yes" == "${listall}" ]]; then
- echo "${filename}"
- fi
- ;;
- esac
- fi
-
- # Ensure that no more than ${parallel} jobs are running at a time and if so
- # wait for them to finish.
- # shellcheck disable=SC2312
- if [[ $(echo "${all_jobs}" | wc -w) -ge ${parallel} ]]; then
- waitall
- fi
-}
-
-function waitall {
- for job in ${all_jobs}; do
- wait "${job}"
- done
- all_jobs=""
-}
-
-for d in "$@"; do
- interfaces="$(find "${d}" -name '*.interface.yaml')"
- errors="$(find "${d}" -name '*.errors.yaml')"
-
- # Some files are created from multiple YAML sources, but we don't know
- # which YAML sources are present. For these files, we need to first
- # create an empty file to ensure the file does not carry old data from
- # a previous run.
- for y in ${interfaces} ${errors}; do
- path="${y%.interface.yaml}"
- path="${path%.errors.yaml}"
- iface="${path//\//.}"
-
- mkdir -p "${outputdir}/${path}"
- generate_single empty markdown "${iface}" "${path}.md"
- done
-
- for i in ${interfaces}; do
- path="${i%.interface.yaml}"
- iface="${path//\//.}"
-
- generate_single interface server-header "${iface}" "${path}/server.hpp"
- generate_single interface server-cpp "${iface}" "${path}/server.cpp"
- generate_single interface client-header "${iface}" "${path}/client.hpp"
- generate_single interface markdown "${iface}" "${path}.md" append
-
- done
- waitall # finish all before continuing
-
- for e in ${errors}; do
- path="${e%.errors.yaml}"
- iface="${path//\//.}"
-
- generate_single error exception-header "${iface}" "${path}/error.hpp"
- generate_single error exception-cpp "${iface}" "${path}/error.cpp"
- generate_single error markdown "${iface}" "${path}.md" append
-
- done
- waitall # finish all before continuing
-done