Select Git revision
Generate Parser (statemachine) Language Infrastructure.launch
Dockerfile 6.32 KiB
# glpk also from https://github.com/dmccloskey/glpk/blob/master/Dockerfile
# Set the base image to Ubuntu
FROM ubuntu:latest
# Switch to root for install
USER root
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y && apt-get install -y \
openjdk-8-jdk \
r-base \
r-base-dev \
libudunits2-dev \
--no-install-recommends \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /trainbenchmark/trainbenchmark-reporting
COPY trainbenchmark-reporting/install.R /trainbenchmark/trainbenchmark-reporting/install.R
RUN Rscript /trainbenchmark/trainbenchmark-reporting/install.R
ENV HOME /home/user
RUN useradd --create-home --home-dir $HOME user \
&& chmod -R u+rwx $HOME \
&& chown -R user:user $HOME
WORKDIR /trainbenchmark
# START prefetch some gradle-dependencies
COPY gradlew .
COPY gradle gradle
COPY settings.gradle .
COPY build.gradle build.gradle
RUN chown user:user -R /trainbenchmark
USER user
RUN ./gradlew --no-daemon build; true
# build.gradle
COPY trainbenchmark-reporting/build.gradle trainbenchmark-reporting/build.gradle
COPY trainbenchmark-scripts/build.gradle trainbenchmark-scripts/build.gradle
COPY trainbenchmark-server/build.gradle trainbenchmark-server/build.gradle
COPY trainbenchmark-tool-emf/build.gradle trainbenchmark-tool-emf/build.gradle
COPY trainbenchmark-tool-jastadd-namelookup-base/build.gradle trainbenchmark-tool-jastadd-namelookup-base/build.gradle
COPY trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle
COPY trainbenchmark-tool-jastadd-namelookup/build.gradle trainbenchmark-tool-jastadd-namelookup/build.gradle
COPY trainbenchmark-tool-jastadd-optimized-base/build.gradle trainbenchmark-tool-jastadd-optimized-base/build.gradle
COPY trainbenchmark-tool-jastadd-optimized-incremental/build.gradle trainbenchmark-tool-jastadd-optimized-incremental/build.gradle
COPY trainbenchmark-tool-jastadd-optimized/build.gradle trainbenchmark-tool-jastadd-optimized/build.gradle
COPY trainbenchmark-tool-jastadd-specialized-base/build.gradle trainbenchmark-tool-jastadd-specialized-base/build.gradle
COPY trainbenchmark-tool-jastadd-specialized-incremental/build.gradle trainbenchmark-tool-jastadd-specialized-incremental/build.gradle
COPY trainbenchmark-tool-jastadd-specialized/build.gradle trainbenchmark-tool-jastadd-specialized/build.gradle
COPY trainbenchmark-tool-tinkergraph/build.gradle trainbenchmark-tool-tinkergraph/build.gradle
COPY trainbenchmark-tool-viatra-patterns/build.gradle trainbenchmark-tool-viatra-patterns/build.gradle
COPY trainbenchmark-tool-viatra/build.gradle trainbenchmark-tool-viatra/build.gradle
# properties
COPY trainbenchmark-format-emf-model/build.properties trainbenchmark-format-emf-model/build.properties
COPY trainbenchmark-tool-viatra-patterns/build.properties trainbenchmark-tool-viatra-patterns/build.properties
COPY trainbenchmark-tool/build.properties trainbenchmark-tool/build.properties
# core packages
COPY trainbenchmark-config/ trainbenchmark-config/
COPY trainbenchmark-tool/ trainbenchmark-tool/
COPY trainbenchmark-tool-jastadd-base/ trainbenchmark-tool-jastadd-base/
COPY trainbenchmark-format-emf-model/ trainbenchmark-format-emf-model/
COPY trainbenchmark-format-emf/ trainbenchmark-format-emf/
COPY trainbenchmark-generator-dot/ trainbenchmark-generator-dot/
COPY trainbenchmark-generator-emf/ trainbenchmark-generator-emf/
COPY trainbenchmark-generator-graph-tinkerpop/ trainbenchmark-generator-graph-tinkerpop/
COPY trainbenchmark-generator-json4ag-special/ trainbenchmark-generator-json4ag-special/
COPY trainbenchmark-generator-json4ag/ trainbenchmark-generator-json4ag/
COPY trainbenchmark-generator/ trainbenchmark-generator/
RUN ./gradlew --no-daemon initScripts
RUN ./gradlew --no-daemon generate; true
RUN ./gradlew --no-daemon dependencies; true
RUN ./gradlew --no-daemon trainbenchmark-config:build; true
RUN ./gradlew --no-daemon trainbenchmark-tool-jastadd-base:build; true
# END prefetch some gradle-dependencies
COPY diagrams/ diagrams/
COPY logs/ logs/
COPY models/ models/
COPY results/ results/
COPY trainbenchmark-config/ trainbenchmark-config/
COPY trainbenchmark-format-emf/ trainbenchmark-format-emf/
COPY trainbenchmark-format-emf-model/ trainbenchmark-format-emf-model/
COPY trainbenchmark-generator/ trainbenchmark-generator/
COPY trainbenchmark-generator-dot/ trainbenchmark-generator-dot/
COPY trainbenchmark-generator-emf/ trainbenchmark-generator-emf/
COPY trainbenchmark-generator-graph-tinkerpop/ trainbenchmark-generator-graph-tinkerpop/
COPY trainbenchmark-generator-json4ag/ trainbenchmark-generator-json4ag/
COPY trainbenchmark-generator-json4ag-special/ trainbenchmark-generator-json4ag-special/
COPY trainbenchmark-reporting/ trainbenchmark-reporting/
COPY trainbenchmark-scripts/ trainbenchmark-scripts/
COPY trainbenchmark-server/ trainbenchmark-server/
COPY trainbenchmark-tool/ trainbenchmark-tool/
COPY trainbenchmark-tool-emf/ trainbenchmark-tool-emf/
COPY trainbenchmark-tool-jastadd-base/ trainbenchmark-tool-jastadd-base/
COPY trainbenchmark-tool-jastadd-namelookup/ trainbenchmark-tool-jastadd-namelookup/
COPY trainbenchmark-tool-jastadd-namelookup-base/ trainbenchmark-tool-jastadd-namelookup-base/
COPY trainbenchmark-tool-jastadd-namelookup-incremental/ trainbenchmark-tool-jastadd-namelookup-incremental/
COPY trainbenchmark-tool-jastadd-optimized/ trainbenchmark-tool-jastadd-optimized/
COPY trainbenchmark-tool-jastadd-optimized-base/ trainbenchmark-tool-jastadd-optimized-base/
COPY trainbenchmark-tool-jastadd-optimized-incremental/ trainbenchmark-tool-jastadd-optimized-incremental/
COPY trainbenchmark-tool-jastadd-specialized/ trainbenchmark-tool-jastadd-specialized/
COPY trainbenchmark-tool-jastadd-specialized-base/ trainbenchmark-tool-jastadd-specialized-base/
COPY trainbenchmark-tool-jastadd-specialized-incremental/ trainbenchmark-tool-jastadd-specialized-incremental/
COPY trainbenchmark-tool-tinkergraph/ trainbenchmark-tool-tinkergraph/
COPY trainbenchmark-tool-viatra/ trainbenchmark-tool-viatra/
COPY trainbenchmark-tool-viatra-patterns/ trainbenchmark-tool-viatra-patterns/
COPY visualization/ visualization/
USER root
RUN chown -R user:user /trainbenchmark
USER user
RUN ./gradlew --no-daemon initScripts
RUN ./gradlew --no-daemon build shadowJar -x test
RUN ./gradlew --no-daemon generate
# RUN ./gradlew --no-daemon individualInjectBenchmark
# RUN ./gradlew --no-daemon individualRepairBenchmark