Skip to content
Snippets Groups Projects
Select Git revision
  • 3d73de63c31ddc3822b448457cd0f10a8c4d0765
  • master default protected
  • restructure-2021
  • ae-submission
  • journal-diagrams
  • artifact-evaluation
  • artifact-evaluation-poster
  • ci
8 results

Dockerfile

Blame
  • 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