github.com/fraugster/parquet-go@v0.12.0/compatibility/Dockerfile (about)

     1  FROM maven:3-jdk-8-alpine AS buildjava
     2  
     3  ENV VERSION=1.11.0
     4  
     5  RUN apk add --no-cache ca-certificates git libc6-compat tini
     6  RUN git clone --single-branch --depth=1 --branch=apache-parquet-$VERSION https://github.com/apache/parquet-mr.git
     7  
     8  WORKDIR /parquet-mr/parquet-tools
     9  ADD compatibility/shaded-fasterxml-jackson.patch /
    10  
    11  ## I found this patch from https://aur.archlinux.org/packages/parquet-tools/
    12  RUN patch -Np1 -i "/shaded-fasterxml-jackson.patch"
    13  RUN mvn --batch-mode clean package -Plocal
    14  
    15  FROM golang:1.13-alpine AS buildgo
    16  
    17  ADD . /go/src/github.com/fraugster/parquet-go
    18  RUN go build -o /buildfile /go/src/github.com/fraugster/parquet-go/compatibility/build.go \
    19                             /go/src/github.com/fraugster/parquet-go/compatibility/data_model.go
    20  RUN go build -o /compare /go/src/github.com/fraugster/parquet-go/compatibility/compare.go \
    21                           /go/src/github.com/fraugster/parquet-go/compatibility/data_model.go
    22  
    23  
    24  FROM openjdk:8-jdk-alpine
    25  
    26  ENV VERSION=1.11.0
    27  
    28  RUN apk update && apk add --no-cache libc6-compat tini bash
    29  # For an unknown reason, Java ignores the file in the lib64 folder
    30  RUN ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2
    31  
    32  COPY --from=buildjava /parquet-mr/parquet-tools/target/parquet-tools-$VERSION.jar /parquet-tools.jar
    33  COPY --from=buildgo /buildfile /buildfile
    34  COPY --from=buildgo /compare /compare
    35  ADD compatibility/data.json /data.json
    36  ADD compatibility/run_tests.bash /run_tests.bash
    37  RUN chmod a+x /run_tests.bash
    38  RUN /run_tests.bash