Files
VV-ISTIC-TP2/pmd-designer-docker/Dockerfile
Romain Lefeuvre 7b185c9c0c 2025 init
2025-11-18 14:41:54 +01:00

45 lines
1.3 KiB
Docker

# Use an official OpenJDK base image
FROM openjdk:23-jdk-slim
# Install necessary dependencies (e.g., X11 libraries for GUI)
RUN apt-get update && apt-get install -y \
libx11-dev \
libxext-dev \
libxrender-dev \
libxtst-dev \
libxi6 \
xauth \
libx11-xcb1 \
libxrandr2 \
libxrender1 \
libxxf86vm1 \
libgtk-3-0 \
libgl1-mesa-glx \
wget \
unzip \
&& apt-get clean
# Download and install OpenJFX 23.0.1 SDK for Linux
RUN wget https://download2.gluonhq.com/openjfx/23.0.1/openjfx-23.0.1_linux-x64_bin-sdk.zip -O /tmp/openjfx.zip \
&& mkdir -p /opt/openjfx \
&& unzip /tmp/openjfx.zip -d /opt/openjfx \
&& rm /tmp/openjfx.zip
# Download and install PMD 7.7.0
RUN wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F7.7.0/pmd-dist-7.7.0-bin.zip -O /tmp/pmd.zip \
&& mkdir -p /opt/pmd \
&& unzip /tmp/pmd.zip -d /opt/pmd \
&& rm /tmp/pmd.zip
# Set environment variables for Java, OpenJFX, and PMD
ENV JAVA_HOME=/usr/lib/jvm/java-23-openjdk
ENV PATH=$JAVA_HOME/bin:$PATH
ENV JAVAFX_HOME=/opt/openjfx/javafx-sdk-23.0.1
ENV PMD_HOME=/opt/pmd/pmd-bin-7.7.0
# Expose necessary ports for the X server (if running on a host machine)
EXPOSE 6000
# Command to run PMD Designer with OpenJFX 23.0.1
CMD ["/opt/pmd/pmd-bin-7.7.0/bin/pmd", "designer"]