Skip to content

Instantly share code, notes, and snippets.

@afs
Last active August 8, 2024 12:40
Show Gist options
  • Save afs/e3d51fa685cd0c0a0ec5a383dc0b4b37 to your computer and use it in GitHub Desktop.
Save afs/e3d51fa685cd0c0a0ec5a383dc0b4b37 to your computer and use it in GitHub Desktop.
Jena build using docker 2024-08
#!/usr/bin/bash -x
## Licensed under the terms of https://xgjvouic68.proxynodejs.usequeue.com/licenses/LICENSE-2.0
IMAGE=jena-maven-ubuntu
## Container
docker buildx build -f Dockerfile.build-env -t "$IMAGE" .
BASE="$(pwd)/jena"
NETWORK=""
NETWORK="--network host"
echo
echo "NETWORK=$NETWORK"
echo
## TERM is "dumb"
CONTAINER="jena-build-$$"
#DOCKER_ARGS="--name $CONTAINER --volume $BASE:/jena --workdir /jena"
DOCKER_ARGS="--volume $BASE:/jena --workdir /jena"
##NTP=
NTP=--no-transfer-progress
function docker-run() {
docker run -it --rm $NETWORK \
--name "$CONTAINER" \
--volume "$BASE":/jena \
--workdir /jena \
"$IMAGE" \
"$@"
}
docker-run \
mvn $NTP --batch-mode clean install -DskipTests
docker-run \
mvn $NTP --batch-mode test -pl :jena-fuseki-ui
## Build for Apache Jena
## maven with added dependencies for running Cypress and the UI part of the build.
## Run this container with the Jena mounted on /jena
FROM 'maven:3.9.8-eclipse-temurin-21-jammy' AS base
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update
## https://nu4jwya3fy.proxynodejs.usequeue.com/guides/getting-started/installing-cypress#Linux-Prerequisites
##t64 versions - they are for Ubuntu noble (24.04/Noble)
## RUN apt install --yes \
## libgtk2.0-0t64 libgtk-3-0t64 libgbm-dev \
## libnotify-dev libnss3 libxss1 libasound2t64 \
## libxtst6 xauth xvfb
RUN apt install --yes \
libgtk2.0-0 libgtk-3-0 libgbm-dev \
libnotify-dev libnss3 libxss1 libasound2 \
libxtst6 xauth xvfb
WORKDIR /jena
ENV M2_REPO=/jena/.m2/repo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment