31 lines
1.9 KiB
Bash
31 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# genereaza.sh: cum s-au facut fixturile Gradle (2026-09-29): un proiect Java mic, rezolvat de Gradle INSUSI, `--offline` (numai din
|
|
# memoria locala a lui Gradle, nicio descarcare), cu `--write-verification-metadata sha256,sha512` (gradle/verification-metadata.xml,
|
|
# hash-urile fiecarui artefact verificat) si `--write-locks` (gradle.lockfile: coordonatele fiecarei configuratii). Deci ambele fisiere
|
|
# sunt scrise de Gradle, nu de noi. Dependinte: bcpkix-jdk18on 1.79 (aduce bcutil si bcprov) si gson 2.10.1.
|
|
# bash genereaza.sh [gradle] rescrie build.gradle, settings.gradle, gradle.lockfile, gradle/verification-metadata.xml
|
|
set -eu
|
|
AICI="$(cd "$(dirname "$0")" && pwd)"
|
|
GR="${1:-$(ls -d "$HOME"/.gradle/wrapper/dists/gradle-8.14.3-bin/*/gradle-8.14.3 2>/dev/null | head -1)/bin/gradle}"
|
|
[ -f "$GR" ] || { echo "NEMASURAT: nu gasesc distributia Gradle 8.14.3 in ~/.gradle/wrapper/dists (sau dati calea)"; exit 2; }
|
|
T="$(mktemp -d)"; trap 'rm -rf "$T"' EXIT
|
|
cat > "$T/settings.gradle" <<'EOF'
|
|
rootProject.name = 'pos-fixture'
|
|
EOF
|
|
cat > "$T/build.gradle" <<'EOF'
|
|
plugins { id 'java-library' }
|
|
group = 'network.aere.fixture'
|
|
version = '1.0.0'
|
|
repositories { mavenCentral() }
|
|
dependencies {
|
|
implementation 'org.bouncycastle:bcpkix-jdk18on:1.79'
|
|
implementation 'com.google.code.gson:gson:2.10.1'
|
|
}
|
|
dependencyLocking { lockAllConfigurations() }
|
|
EOF
|
|
( cd "$T" && bash "$GR" --offline --no-daemon -q --write-verification-metadata sha256,sha512 dependencies --write-locks < /dev/null > "$T/out.txt" 2>&1 ) || { tail -20 "$T/out.txt"; exit 1; }
|
|
mkdir -p "$AICI/gradle"
|
|
cp "$T/settings.gradle" "$T/build.gradle" "$T/gradle.lockfile" "$AICI/"
|
|
cp "$T/gradle/verification-metadata.xml" "$AICI/gradle/"
|
|
echo "scris: gradle.lockfile ($(grep -c '=' "$AICI/gradle.lockfile") randuri), gradle/verification-metadata.xml ($(grep -c '<component ' "$AICI/gradle/verification-metadata.xml") componente)"
|