summarylogtreecommitdiffstats
path: root/geninfo.sh
blob: 98606339f011039b5db6b51bb8e052c56547141c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env bash

pkgbase=opentelemetry-python-contrib
pkgver=$(awk -F= '/pkgver=/{print $2}' PKGBUILD)
urlbase="https://github.com/open-telemetry/${pkgbase}"

_get_dirname() {
    case $1 in
        opentelemetry-exporter-*)        echo "exporter/";;
        opentelemetry-instrumentation-*) echo "instrumentation/";;
        opentelemetry-processor-*)       echo "processor/";;
        opentelemetry-propagator-*)      echo "propagator/";;
        opentelemetry-resource-*)        echo "resource/";;
        opentelemetry-sdk-extension-*)   echo "sdk-extension/";;
        opentelemetry-util-*)            echo "util/";;
        *) ;;
    esac
}

cd "src/${pkgbase}-${pkgver}"
pkgs=$(find . -mindepth 1 -maxdepth 2 -type d -name "opentelemetry-*" | awk -F '/' '{print $NF}' | grep -v "docker-test" | sort -u)

## pkgname
echo "pkgname=("
echo "$pkgs" | sed 's|^|    \"python-|' | sed 's|$|\"|'
echo ")"

## _pkgdescs
echo "_pkgdescs=("
for pkg in $pkgs; do
    dirname=$(_get_dirname "$pkg")
    pkgdesc=$(awk -F '"' '/description = /{print $2}' "${dirname}${pkg}/pyproject.toml")
    echo "    \"$pkgdesc\""
done
echo ")"

## _urls
echo "_urls=("
for pkg in $pkgs; do
    dirname=$(_get_dirname "$pkg")
    echo "    \"\${_url}/tree/main/${dirname}${pkg}\""
done
echo ")"

## _depends
echo "_depends=("
for pkg in $pkgs; do
    dirname=$(_get_dirname "$pkg")
    depends=($(awk '/dependencies *= *\[/,/\]/' "${dirname}${pkg}/pyproject.toml" | awk -F '"' '{print $2}' | sed '/^$/d' | awk -F ' |=|~|>' '{print $1}' | sed 's|^|python-|' | sed 's|python-python-|python-|' | sort))
    echo "    \""${depends[@]}"\""
done
echo ")"