1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p curl gnused nix coreutils nix-prefetch
3# shellcheck shell=bash
4
5set -euo pipefail
6
7SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
8PKG=$(basename "$SCRIPT_DIR")
9
10LATEST="18" # increment manually
11VERSION="${PKG/#odoo}"
12VERSION="${VERSION:-$LATEST}.0"
13
14RELEASE="$(
15 curl "https://nightly.odoo.com/$VERSION/nightly/src/" |
16 sed -nE 's/.*odoo_'"$VERSION"'.(20[0-9]{6}).tar.gz.*/\1/p' |
17 tail -n 1
18)"
19
20latestVersion="$VERSION.$RELEASE"
21currentVersion=$(nix-instantiate --eval -E "with import ./. {}; $PKG.version or (lib.getVersion $PKG)" | tr -d '"')
22
23if [[ "$currentVersion" == "$latestVersion" ]]; then
24 echo "$PKG is up-to-date: $currentVersion"
25 exit 0
26fi
27
28cd "$SCRIPT_DIR"
29
30sed -ri "s| hash.+ # odoo| hash = \"$(nix-prefetch -q fetchzip --option extra-experimental-features flakes --url "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.zip")\"; # odoo|g" package.nix
31sed -ri "s|odoo_version = .+|odoo_version = \"$VERSION\";|" package.nix
32sed -ri "s|odoo_release = .+|odoo_release = \"$RELEASE\";|" package.nix