FROM ubuntu:oracular AS build RUN apt-get update RUN apt-get install -y git RUN apt-get install -y cmake clang-19 RUN apt-get install -y openjdk-21-jdk-headless maven RUN mkdir /builds WORKDIR /builds RUN git clone https://github.com/antlr/antlr4.git WORKDIR /builds/antlr4 RUN git checkout 4.13.2 ENV MAVEN_OPTS="-Xmx1G" RUN mvn clean RUN mvn -DskipTests install RUN echo "if [ ! -f /root/.m2/repository/org/antlr/antlr4/4.13.2/antlr4-4.13.2-complete.jar ]; then exit 1; fi" > verify.sh RUN chmod +x verify.sh RUN ./verify.sh RUN mkdir -p /custom/antlr4 RUN cp /root/.m2/repository/org/antlr/antlr4/4.13.2/antlr4-4.13.2-complete.jar /custom/antlr4/antlr4-4.13.2-complete.jar RUN mkdir -p /custom/antlr4-cpp-runtime WORKDIR /builds/antlr4/runtime/Cpp RUN mkdir build WORKDIR /builds/antlr4/runtime/Cpp/build ENV CXX=/usr/bin/clang++-19 RUN cmake .. -DANTLR4_INSTALL=ON RUN make RUN DESTDIR=/custom/antlr4-cpp-runtime make install FROM ubuntu:oracular AS runtime RUN apt-get update RUN apt-get install -y git RUN apt-get install -y cmake clang-19 RUN apt-get install -y openjdk-21-jdk-headless maven RUN apt-get install -y llvm llvm-dev RUN apt-get install -y libedit-dev libzstd-dev libcurlpp-dev RUN apt-get install -y libgtest-dev COPY --from=build /custom/antlr4-cpp-runtime/usr/ /usr/ COPY --from=build /custom/antlr4/antlr4-4.13.2-complete.jar /usr/local/lib/antlr4-4.13.2-complete.jar ENV CXX=/usr/bin/clang++-19