Files
artloglaby/fetch_dependencies.sh
2025-11-01 23:35:33 +01:00

100 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# SPDX-FileCopyrightText: 2025 artlog@l0g.eu
# SPDX-License-Identifier: AGPL-3.0-or-later
# header generated by lib/metascript.sh header
# metascript_version=v1.0.0
toolsdir=lib
pushd $toolsdir >/dev/null
toolsdir=$(pwd)
source metascript.sh
popd >/dev/null
fetch_jackson_databind()
{
lib_jackson_databind=jackson-databind-${libversion_jackson_databind}.jar
if [[ ! -e libs/$lib_jackson_databind ]]
then
jacksonmaven=https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/${libversion_jackson_databind}/$lib_jackson_databind
$defer pushd libs
$metarun wget $jacksonmaven
$defer popd
fi
}
fetch_zstd-jni()
{
# echo "compiled from https://github.com/luben/zstd-jni commit 54d3d50c16d96bd8a30e2d4c0a9648001a52d6f9"
# had to hack through jar generation ...
# cp ~/artisanlogiciel/ext_projects/java/zstd-jni/target/zstd-jni-1.5.2-2.jar .
$defer pushd libs
$metarun wget https://repo1.maven.org/maven2/com/github/luben/zstd-jni/${libversion_zstdjni}/zstd-jni-${libversion_zstdjni}.jar
$defer popd
}
# HARDCODED START
libversion_zstdjni=1.5.2-2
libversion_jackson_databind=2.12.0
sharedrawweb_git_url="https://framagit.org/artlog/sharedrawweb.git"
libversion_artgaphic=0.2.0
# HARDCODED END
lib_artgaphic=artgaphics-${libversion_artgaphic}.jar
metarun=metarun
# change default to sudo if needed
# metasudo=sudo
while [[ $# > 0 ]]
do
case "$1" in
use_jackson)
use_jackson=$1
;;
use_zstd)
use_zstd=1
;;
*)
parsemetaarg "$1"
;;
esac
shift
done
if [[ ! -d sharedrawweb ]]
then
log_error "expected a sharedrawweb project parent ( for exports ). Please clone related project."
log_info "git clone $sharedrawweb_git_url sharedrawweb"
fi
if [[ ! -d libs ]]
then
$metarun mkdir libs
fi
libversion_artgaphic=0.2.0
lib_artgaphic=artgaphics-${libversion_artgaphic}.jar
if [[ ! -e libs/$lib_artgaphic ]]
then
lib_artgaphic_source_file=sharedrawweb/dist/lib/$lib_artgaphic
if [[ -f $lib_artgaphic_source_file ]]
then
# ../ since libs is one level below current project
$metarun ln -s ../$lib_artgaphic_source_file libs/
else
log_error "Missing $lib_artgaphic_source_file"
log_info "It is required to build sharedrawweb project first"
fi
fi
if [[ -n $use_jackson ]]
then
fetch_jackson_databind
fi
if [[ -n $use_zstd ]]
then
fetch_zstd-jni
fi