45 lines
1.3 KiB
Docker
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"]
|