diff --git a/2023.3/android-community/Dockerfile b/2023.3/android-community/Dockerfile new file mode 100644 index 00000000..81adefe5 --- /dev/null +++ b/2023.3/android-community/Dockerfile @@ -0,0 +1,104 @@ +ARG BASE_TAG="bullseye-slim" +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM debian:$BASE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV GRADLE_USER_HOME="/data/cache/gradle" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDANDC-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +ENV ANDROID_SDK_ROOT="/opt/android-sdk" ANDROID_USER_HOME="$QODANA_DATA/cache/android" +ENV ANDROID_HOME="$ANDROID_SDK_ROOT" +ENV ANDROID_SDK_TOOLS="$ANDROID_SDK_ROOT/cmdline-tools/tools/bin" QODANA_CORETTO_SDK="$QODANA_DATA/.jdks/corretto-11" +# IDE includes JDK17 by default since 2022, so we need additional JDK for the most projects +COPY --from=amazoncorretto:11 /usr/lib/jvm/java-11-amazon-corretto $QODANA_CORETTO_SDK + +ARG ANDROID_SDK_VERSION="9123335" +ARG ANDROID_SDK_SHA256="0bebf59339eaa534f4217f8aa0972d14dc49e7207be225511073c661ae01da0a" +ARG ANDROID_API_LEVEL="33" +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends unzip=6.0-26+deb11u1 && \ + mkdir -m 777 -p $QODANA_DATA/cache $ANDROID_USER_HOME $ANDROID_SDK_ROOT $ANDROID_SDK_ROOT/cmdline-tools $ANDROID_SDK_ROOT/platforms $ANDROID_SDK_ROOT/ndk && \ + echo "${ANDROID_SDK_SHA256} /tmp/android.zip" > /tmp/shasum && \ + curl -fsSL -o /tmp/android.zip \ + "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION}_latest.zip" && \ + sha256sum --check --status /tmp/shasum && \ + unzip -q /tmp/android.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools && \ + mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/tools && \ + echo y | ${ANDROID_SDK_TOOLS}/sdkmanager "platforms;android-${ANDROID_API_LEVEL}" && \ + chmod 777 -R $ANDROID_SDK_ROOT && \ + apt-get purge --auto-remove -y unzip && \ + rm -rf /tmp/* + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana Community for Android (https://jb.gg/qodana-android)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/android-community/included_plugins.txt b/2023.3/android-community/included_plugins.txt new file mode 100644 index 00000000..23ee7132 --- /dev/null +++ b/2023.3/android-community/included_plugins.txt @@ -0,0 +1,54 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +com.intellij.database +intellij.grid.core.impl +intellij.grid.impl +intellij.charts +intellij.indexing.shared.core +intellij.indexing.shared +AntSupport +Coverage +DevKit +JUnit +Lombook Plugin +TestNG-J +XPathView +com.intellij.gradle +com.intellij.java +com.intellij.java-i18n +com.intellij.java.ide +com.intellij.properties +com.intellij.uiDesigner +org.intellij.groovy +org.jetbrains.idea.eclipse +org.jetbrains.idea.maven +org.jetbrains.idea.maven.ext +org.jetbrains.idea.gradle.ext +org.jetbrains.idea.gradle.dsl +org.jetbrains.idea.maven.model +org.jetbrains.idea.maven.server.api +org.jetbrains.idea.reposearch +org.jetbrains.kotlin +org.jetbrains.plugins.gradle +org.jetbrains.plugins.gradle.maven +org.jetbrains.plugins.gradle.dependency.updater +com.intellij.plugins.dependencyAnalysis +intellij.webp +org.jetbrains.android +org.jetbrains.idea.gradle.dsl +com.android.tools.idea.smali +org.toml.lang +androidx.compose.plugins.idea +org.jetbrains.security.package-checker diff --git a/2023.3/dotnet/Dockerfile b/2023.3/dotnet/Dockerfile new file mode 100644 index 00000000..a2b38ff2 --- /dev/null +++ b/2023.3/dotnet/Dockerfile @@ -0,0 +1,106 @@ +ARG NODE_TAG="16-bullseye-slim" +ARG DOTNET_BASE_TAG="6.0-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM mcr.microsoft.com/dotnet/sdk:$DOTNET_BASE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +ENV RIDER_UNREAL_ROOT="/data/unrealEngine" DOTNET_ROOT="/usr/share/dotnet" + +# Not using the URL https://dot.net/v1/dotnet-install.sh because of https://github.com/dotnet/install-scripts/issues/276 +ARG DOTNET_INSTALL_SH_REVISION="40434288dc5bbda41eafcbcbbc5c0fbbe028fb30" +ARG DOTNET_CHANNEL_A="7.0" +ARG DOTNET_CHANNEL_B="6.0" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p $QODANA_DATA $QODANA_CONF $DOTNET_ROOT $RIDER_UNREAL_ROOT && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 \ + software-properties-common=0.96.20.2-2.1 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' && \ + curl -fsSL -o /tmp/dotnet-install.sh \ + "https://raw.githubusercontent.com/dotnet/install-scripts/$DOTNET_INSTALL_SH_REVISION/src/dotnet-install.sh" && \ + echo "d9ede6126a6da49cd3509e5fc8236f79addf175696f29d01f38840fd84663514 /tmp/dotnet-install.sh" > /tmp/shasum && \ + if [ "${DOTNET_INSTALL_SH_REVISION}" != "master" ]; then sha256sum --check --status /tmp/shasum; fi && \ + chmod +x /tmp/dotnet-install.sh && \ + bash /tmp/dotnet-install.sh -c $DOTNET_CHANNEL_A -i $DOTNET_ROOT && \ + bash /tmp/dotnet-install.sh -c $DOTNET_CHANNEL_B -i $DOTNET_ROOT && \ + chmod 777 -R $DOTNET_ROOT + +ENV PATH="/opt/yarn/bin:$PATH" +COPY --from=node_base /usr/local/bin/node /usr/local/bin/ +COPY --from=node_base /usr/local/include/node /usr/local/include/node +COPY --from=node_base /usr/local/lib/node_modules /usr/local/lib/node_modules +COPY --from=node_base /opt/yarn-* /opt/yarn/ +RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ + ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \ + ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack && \ + node --version && \ + npm --version && \ + yarn --version && \ + npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \ + chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDNET-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana for .NET (https://jb.gg/qodana-dotnet)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/dotnet/included_plugins.txt b/2023.3/dotnet/included_plugins.txt new file mode 100644 index 00000000..e6916327 --- /dev/null +++ b/2023.3/dotnet/included_plugins.txt @@ -0,0 +1,62 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +com.intellij.database +intellij.grid.core.impl +intellij.grid.impl +intellij.charts +intellij.indexing.shared.core +intellij.indexing.shared +com.jetbrains.rider.fsharp +org.jetbrains.fortea +com.intellij.cidr.debugger +intellij.rider.cpp.debugger +com.jetbrains.xaml.previewer +com.intellij.plugins.watcher +com.jetbrains.plugins.webDeployment +com.jetbrains.rider.publish.webDeploy +rider.intellij.plugin.appender +com.jetbrains.performancePlugin +com.jetbrains.rider-cpp-injection +com.jetbrains.rider.razor +org.jetbrains.plugins.vagrant +com.jetbrains.dotCommon +com.jetbrains.dpa +com.jetbrains.dotTrace.dotMemory +com.jetbrains.changeReminder +PerforceDirectPlugin +com.jetbrains.rider-cpp +com.intellij.resharper.unity +com.jetbrains.dotCover +com.intellij.microservices.ui +org.jetbrains.settingsRepository +Refactor-X +XPathView +tslint +intellij.webpack +NodeJS +JavaScriptDebugger +JavaScript +JSIntentionPowerPack +com.jetbrains.plugins.jade +com.intellij.plugins.webcomponents +com.dmarcotte.handlebars +Karma +XSLT-Debugger +W3Validators +com.intellij.plugins.html.instantEditing +com.intellij.css +org.jetbrains.plugins.less +org.jetbrains.plugins.sass +org.jetbrains.plugins.vue +org.intellij.plugins.postcss \ No newline at end of file diff --git a/2023.3/go/Dockerfile b/2023.3/go/Dockerfile new file mode 100644 index 00000000..95c3b844 --- /dev/null +++ b/2023.3/go/Dockerfile @@ -0,0 +1,90 @@ +ARG GO_TAG="1.19-bullseye" +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM golang:$GO_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV PATH="/opt/yarn/bin:$PATH" +COPY --from=node_base /usr/local/bin/node /usr/local/bin/ +COPY --from=node_base /usr/local/include/node /usr/local/include/node +COPY --from=node_base /usr/local/lib/node_modules /usr/local/lib/node_modules +COPY --from=node_base /opt/yarn-* /opt/yarn/ +RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ + ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \ + ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack && \ + node --version && \ + npm --version && \ + yarn --version && \ + npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \ + chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDGO-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana for Go (https://jb.gg/qodana-go)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/go/included_plugins.txt b/2023.3/go/included_plugins.txt new file mode 100644 index 00000000..f69fc37f --- /dev/null +++ b/2023.3/go/included_plugins.txt @@ -0,0 +1,36 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +org.jetbrains.plugins.go +org.jetbrains.plugins.go-template +org.jetbrains.plugins.go.ide +org.jetbrains.plugins.go.sharedIndexes.bundled +com.intellij.plugins.dependencyAnalysis +org.jetbrains.security.package-checker +NodeJS +JavaScriptDebugger +JavaScript +JSIntentionPowerPack +com.jetbrains.plugins.jade +com.intellij.plugins.webcomponents +com.dmarcotte.handlebars +Karma +XSLT-Debugger +W3Validators +com.intellij.plugins.html.instantEditing +com.intellij.css +org.jetbrains.plugins.less +org.jetbrains.plugins.sass +org.jetbrains.plugins.vue +org.intellij.plugins.postcss \ No newline at end of file diff --git a/2023.3/js/Dockerfile b/2023.3/js/Dockerfile new file mode 100644 index 00000000..40be78aa --- /dev/null +++ b/2023.3/js/Dockerfile @@ -0,0 +1,78 @@ +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' && \ + npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \ + chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" + +ENV PATH="/opt/yarn/bin:$PATH" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDJVM-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana for JS (https://jb.gg/qodana-js)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/js/included_plugins.txt b/2023.3/js/included_plugins.txt new file mode 100644 index 00000000..72794ba5 --- /dev/null +++ b/2023.3/js/included_plugins.txt @@ -0,0 +1,43 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +intellij.indexing.shared.core +intellij.indexing.shared +intellij.webp +gherkin +AngularJS +org.coffeescript +cucumber-javascript +com.jetbrains.lang.ejs +com.jetbrains.plugins.jade +JavaScript +JavaScriptDebugger +com.dmarcotte.handlebars +Karma +JSIntentionPowerPack +org.jetbrains.plugins.less +NodeJS +intellij.prettierJS +org.intellij.plugins.postcss +org.jetbrains.plugins.sass +com.deadlock.scsyntax +org.jetbrains.plugins.stylus +com.intellij.tailwindcss +tslint +org.jetbrains.plugins.vue +intellij.webpack +com.intellij.plugins.webcomponents +com.jetbrains.plugins.webDeployment +com.intellij.plugins.dependencyAnalysis +org.jetbrains.security.package-checker \ No newline at end of file diff --git a/2023.3/jvm-community/Dockerfile b/2023.3/jvm-community/Dockerfile new file mode 100644 index 00000000..88cf374a --- /dev/null +++ b/2023.3/jvm-community/Dockerfile @@ -0,0 +1,78 @@ +ARG BASE_TAG="bullseye-slim" +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM debian:$BASE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV GRADLE_USER_HOME="/data/cache/gradle" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDJVMC-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana Community for JVM (https://jb.gg/qodana-jvm-community)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/jvm-community/included_plugins.txt b/2023.3/jvm-community/included_plugins.txt new file mode 100644 index 00000000..6f989521 --- /dev/null +++ b/2023.3/jvm-community/included_plugins.txt @@ -0,0 +1,26 @@ +org.intellij.qodana +org.intellij.intelliLang +org.editorconfig.editorconfigjetbrains +Git4Idea +hg4idea +AntSupport +DevKit +JUnit +Lombook Plugin +TestNG-J +XPathView +com.intellij.configurationScript +com.intellij.gradle +com.intellij.java +com.intellij.java-i18n +com.intellij.java.ide +com.intellij.properties +com.intellij.uiDesigner +org.intellij.groovy +org.jetbrains.idea.eclipse +org.jetbrains.idea.maven +org.jetbrains.idea.maven.model +org.jetbrains.idea.maven.server.api +org.jetbrains.idea.reposearch +org.jetbrains.kotlin +org.jetbrains.plugins.gradle \ No newline at end of file diff --git a/2023.3/jvm/Dockerfile b/2023.3/jvm/Dockerfile new file mode 100644 index 00000000..17dba4f2 --- /dev/null +++ b/2023.3/jvm/Dockerfile @@ -0,0 +1,92 @@ +ARG BASE_TAG="bullseye-slim" +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM debian:$BASE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV PATH="/opt/yarn/bin:$PATH" +COPY --from=node_base /usr/local/bin/node /usr/local/bin/ +COPY --from=node_base /usr/local/include/node /usr/local/include/node +COPY --from=node_base /usr/local/lib/node_modules /usr/local/lib/node_modules +COPY --from=node_base /opt/yarn-* /opt/yarn/ +RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ + ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \ + ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack && \ + node --version && \ + npm --version && \ + yarn --version && \ + npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \ + chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" + +ENV GRADLE_USER_HOME="/data/cache/gradle" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDJVM-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana for JVM (https://jb.gg/qodana-jvm)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/jvm/included_plugins.txt b/2023.3/jvm/included_plugins.txt new file mode 100644 index 00000000..03835f5f --- /dev/null +++ b/2023.3/jvm/included_plugins.txt @@ -0,0 +1,93 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +com.intellij.database +intellij.grid.core.impl +intellij.grid.impl +intellij.charts +intellij.indexing.shared.core +intellij.indexing.shared +AntSupport +Coverage +DevKit +JUnit +Lombook Plugin +TestNG-J +XPathView +com.intellij.aop +com.intellij.beanValidation +com.intellij.cdi +com.intellij.configurationScript +com.intellij.css +com.intellij.freemarker +com.intellij.gradle +com.intellij.hibernate +com.intellij.java +com.intellij.java-i18n +com.intellij.java.ide +com.intellij.javaee +com.intellij.javaee.jpa +com.intellij.javaee.web +com.intellij.javaee.el +com.intellij.jsp +com.intellij.microservices.jvm +com.intellij.persistence +com.intellij.platform.images +com.intellij.properties +com.intellij.reactivestreams +com.intellij.spring +com.intellij.spring.boot +com.intellij.spring.boot.initializr +com.intellij.spring.data +com.intellij.spring.integration +com.intellij.spring.messaging +com.intellij.spring.mvc +com.intellij.spring.security +com.intellij.spring.cloud +com.intellij.uiDesigner +com.intellij.velocity +org.intellij.groovy +org.jetbrains.idea.eclipse +org.jetbrains.idea.maven +org.jetbrains.idea.maven.ext +org.jetbrains.idea.gradle.ext +org.jetbrains.idea.gradle.dsl +org.jetbrains.idea.maven.model +org.jetbrains.idea.maven.server.api +org.jetbrains.idea.reposearch +org.jetbrains.kotlin +org.jetbrains.plugins.gradle +org.jetbrains.plugins.gradle.maven +com.jetbrains.restWebServices +org.jetbrains.plugins.gradle.dependency.updater +com.intellij.plugins.dependencyAnalysis +org.jetbrains.security.package-checker +com.intellij.microservices.ui +NodeJS +JavaScriptDebugger +JavaScript +JSIntentionPowerPack +com.jetbrains.plugins.jade +com.intellij.plugins.webcomponents +com.dmarcotte.handlebars +Karma +XSLT-Debugger +W3Validators +com.intellij.plugins.html.instantEditing +com.intellij.css +org.jetbrains.plugins.less +org.jetbrains.plugins.sass +org.jetbrains.plugins.vue +org.intellij.plugins.postcss +intellij.webpack \ No newline at end of file diff --git a/2023.3/php/Dockerfile b/2023.3/php/Dockerfile new file mode 100644 index 00000000..7145df4f --- /dev/null +++ b/2023.3/php/Dockerfile @@ -0,0 +1,95 @@ +ARG NODE_TAG="16-bullseye-slim" +ARG PHP_TAG="8.1-cli-bullseye" +ARG COMPOSER_TAG="2.5.1" +FROM node:$NODE_TAG AS node_base +FROM composer:$COMPOSER_TAG AS composer_base +FROM php:$PHP_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 \ + software-properties-common=0.96.20.2-2.1 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV PATH="/opt/yarn/bin:$PATH" +COPY --from=node_base /usr/local/bin/node /usr/local/bin/ +COPY --from=node_base /usr/local/include/node /usr/local/include/node +COPY --from=node_base /usr/local/lib/node_modules /usr/local/lib/node_modules +COPY --from=node_base /opt/yarn-* /opt/yarn/ +RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ + ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \ + ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack && \ + node --version && \ + npm --version && \ + yarn --version && \ + npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \ + chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" + +COPY --from=composer_base /usr/bin/composer /usr/bin/composer + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDPHP-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana for PHP (https://jb.gg/qodana-php)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/php/included_plugins.txt b/2023.3/php/included_plugins.txt new file mode 100644 index 00000000..49446102 --- /dev/null +++ b/2023.3/php/included_plugins.txt @@ -0,0 +1,56 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +com.intellij.database +intellij.grid.core.impl +intellij.grid.impl +intellij.charts +intellij.indexing.shared.core +intellij.indexing.shared +gherkin +com.jetbrains.php +com.intellij.php.grazie +com.intellij.php.phpt +com.intellij.php.psalm +com.intellij.php.tools.quality.phpstan +com.jetbrains.php.architecture +com.jetbrains.php.behat +com.jetbrains.php.blade +com.jetbrains.php.codeception +com.jetbrains.php.dql +com.jetbrains.php.drupal +com.jetbrains.php.framework +com.jetbrains.php.joomla +com.jetbrains.php.phpspec +com.jetbrains.php.wordPress +com.jetbrains.twig +com.intellij.plugins.dependencyAnalysis +com.intellij.taintAnalysis +NodeJS +JavaScriptDebugger +JavaScript +JSIntentionPowerPack +com.jetbrains.plugins.jade +com.intellij.plugins.webcomponents +com.dmarcotte.handlebars +Karma +XSLT-Debugger +W3Validators +com.intellij.plugins.html.instantEditing +com.intellij.css +org.jetbrains.plugins.less +org.jetbrains.plugins.sass +org.jetbrains.plugins.vue +org.intellij.plugins.postcss +intellij.webpack \ No newline at end of file diff --git a/2023.3/python-community/Dockerfile b/2023.3/python-community/Dockerfile new file mode 100644 index 00000000..a0b65fbe --- /dev/null +++ b/2023.3/python-community/Dockerfile @@ -0,0 +1,116 @@ +ARG BASE_TAG="bullseye-slim" +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM debian:$BASE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV CONDA_DIR="/opt/miniconda3" \ + CONDA_ENVS_PATH="$QODANA_DATA/cache/conda/envs" \ + CONDA_PKGS_DIRS="$QODANA_DATA/cache/conda/pkgs" \ + PIP_CACHE_DIR="$QODANA_DATA/cache/.pip/" \ + FLIT_ROOT_INSTALL=1 +ENV PATH="$CONDA_DIR/bin:$HOME/.local/bin:$PATH" +ARG CONDA_VERSION="py310_22.11.1-1" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + bzip2=1.0.8-4 \ + libglib2.0-0=2.66.8-1 \ + libsm6=2:1.2.3-1 \ + libxext6=2:1.3.3-1.1 \ + libxrender1=1:0.9.10-1 && \ + mkdir -m 777 -p $QODANA_DATA/cache && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + 'amd64') \ + MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh" \ + SHA256SUM="00938c3534750a0e4069499baf8f4e6dc1c2e471c86a59caa0dd03f4a9269db6";; \ + 'arm64') \ + MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-aarch64.sh" \ + SHA256SUM="48a96df9ff56f7421b6dd7f9f71d548023847ba918c3826059918c08326c2017";; \ + *) echo "Unsupported architecture $TARGETPLATFORM" >&2; exit 1;; \ + esac && \ + curl -fsSL -o /tmp/miniconda.sh "${MINICONDA_URL}" && \ + echo "${SHA256SUM} /tmp/miniconda.sh" > /tmp/shasum && \ + if [ "${CONDA_VERSION}" != "latest" ]; then sha256sum --check --status /tmp/shasum; fi && \ + bash /tmp/miniconda.sh -b -p $CONDA_DIR && \ + ln -s ${CONDA_DIR}/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ + echo ". ${CONDA_DIR}/etc/profile.d/conda.sh" >> ~/.bashrc && \ + echo "conda activate base" >> ~/.bashrc && ln -s ${CONDA_DIR}/bin/python3 /usr/bin/python3 && \ + find ${CONDA_DIR}/ -follow -type f -name '*.a' -delete && find ${CONDA_DIR}/ -follow -type f -name '*.js.map' -delete && \ + ${CONDA_DIR}/bin/conda install -c conda-forge poetry pipenv && ${CONDA_DIR}/bin/conda clean -afy && \ + rm -rf /tmp/* + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDPYC-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana Community for Python (https://jb.gg/qodana-python-community)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/python-community/included_plugins.txt b/2023.3/python-community/included_plugins.txt new file mode 100644 index 00000000..8989435a --- /dev/null +++ b/2023.3/python-community/included_plugins.txt @@ -0,0 +1,19 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +Git4Idea +hg4idea +tanvd.grazi +intellij.indexing.shared.core +intellij.indexing.shared +PythonCore +com.jetbrains.python.sharedIndexes.downloadable +com.jetbrains.pycharm.community.customization +com.jetbrains.pycharm.community.sharedIndexes.bundled +org.toml.lang \ No newline at end of file diff --git a/2023.3/python/Dockerfile b/2023.3/python/Dockerfile new file mode 100644 index 00000000..c7807dbf --- /dev/null +++ b/2023.3/python/Dockerfile @@ -0,0 +1,130 @@ +ARG BASE_TAG="bullseye-slim" +ARG NODE_TAG="16-bullseye-slim" +FROM node:$NODE_TAG AS node_base +FROM debian:$BASE_TAG + +ENV HOME="/root" \ + LC_ALL="en_US.UTF-8" \ + QODANA_DIST="/opt/idea" \ + QODANA_DATA="/data" \ + QODANA_DOCKER="true" +ENV JAVA_HOME="$QODANA_DIST/jbr" \ + QODANA_CONF="$HOME/.config/idea" \ + PATH="$QODANA_DIST/bin:$PATH" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ + mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates=20210119 \ + curl=7.74.0-1.3+deb11u7 \ + fontconfig=2.13.1-4.2 \ + git=1:2.30.2-1+deb11u2 \ + git-lfs=2.13.2-1+b5 \ + gnupg2=2.2.27-2+deb11u2 \ + locales=2.31-13+deb11u6 \ + procps=2:3.3.17-5 && \ + echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \ + apt-get autoremove -y && apt-get clean && \ + chmod 777 -R $HOME && \ + echo 'root:x:0:0:root:/root:/bin/bash' > /etc/passwd && chmod 666 /etc/passwd && \ + git config --global --add safe.directory '*' + +ENV CONDA_DIR="/opt/miniconda3" \ + CONDA_ENVS_PATH="$QODANA_DATA/cache/conda/envs" \ + CONDA_PKGS_DIRS="$QODANA_DATA/cache/conda/pkgs" \ + PIP_CACHE_DIR="$QODANA_DATA/cache/.pip/" \ + FLIT_ROOT_INSTALL=1 +ENV PATH="$CONDA_DIR/bin:$HOME/.local/bin:$PATH" +ARG CONDA_VERSION="py310_22.11.1-1" + +# hadolint ignore=SC2174,DL3009 +RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \ + --mount=target=/var/cache/apt,type=cache,sharing=locked \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + bzip2=1.0.8-4 \ + libglib2.0-0=2.66.8-1 \ + libsm6=2:1.2.3-1 \ + libxext6=2:1.3.3-1.1 \ + libxrender1=1:0.9.10-1 && \ + mkdir -m 777 -p $QODANA_DATA/cache && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + 'amd64') \ + MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh" \ + SHA256SUM="00938c3534750a0e4069499baf8f4e6dc1c2e471c86a59caa0dd03f4a9269db6";; \ + 'arm64') \ + MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-aarch64.sh" \ + SHA256SUM="48a96df9ff56f7421b6dd7f9f71d548023847ba918c3826059918c08326c2017";; \ + *) echo "Unsupported architecture $TARGETPLATFORM" >&2; exit 1;; \ + esac && \ + curl -fsSL -o /tmp/miniconda.sh "${MINICONDA_URL}" && \ + echo "${SHA256SUM} /tmp/miniconda.sh" > /tmp/shasum && \ + if [ "${CONDA_VERSION}" != "latest" ]; then sha256sum --check --status /tmp/shasum; fi && \ + bash /tmp/miniconda.sh -b -p $CONDA_DIR && \ + ln -s ${CONDA_DIR}/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ + echo ". ${CONDA_DIR}/etc/profile.d/conda.sh" >> ~/.bashrc && \ + echo "conda activate base" >> ~/.bashrc && ln -s ${CONDA_DIR}/bin/python3 /usr/bin/python3 && \ + find ${CONDA_DIR}/ -follow -type f -name '*.a' -delete && find ${CONDA_DIR}/ -follow -type f -name '*.js.map' -delete && \ + ${CONDA_DIR}/bin/conda install -c conda-forge poetry pipenv && ${CONDA_DIR}/bin/conda clean -afy && \ + rm -rf /tmp/* + +ENV PATH="/opt/yarn/bin:$PATH" +COPY --from=node_base /usr/local/bin/node /usr/local/bin/ +COPY --from=node_base /usr/local/include/node /usr/local/include/node +COPY --from=node_base /usr/local/lib/node_modules /usr/local/lib/node_modules +COPY --from=node_base /opt/yarn-* /opt/yarn/ +RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ + ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \ + ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack && \ + node --version && \ + npm --version && \ + yarn --version && \ + npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \ + chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" + +ARG QD_RELEASE="2023.2" +ARG QD_BUILD="QDPY-$QD_RELEASE" +# hadolint ignore=DL3003,SC2043 +RUN set -ex && \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "$dpkgArch" in \ + "amd64") \ + OS_ARCH_SUFFIX=""; \ + ;; \ + "arm64") \ + OS_ARCH_SUFFIX="-aarch64"; \ + ;; \ + *) echo "Unsupported architecture $dpkgArch" >&2; exit 1 ;; \ + esac && \ + QD_NAME="qodana-$QD_BUILD$OS_ARCH_SUFFIX" \ + QD_URL="https://download.jetbrains.com/qodana/$QD_RELEASE/$QD_NAME.tar.gz" && \ + curl -fsSL "$QD_URL" -o "/tmp/$QD_NAME.tar.gz" \ + "$QD_URL.sha256" -o "/tmp/$QD_NAME.tar.gz.sha256" \ + "$QD_URL.sha256.asc" -o "/tmp/$QD_NAME.tar.gz.sha256.asc" && \ + GNUPGHOME="$(mktemp -d)" && \ + export GNUPGHOME && \ + for key in \ + "B46DC71E03FEEB7F89D1F2491F7A8F87B9D8F501" \ + ; do \ + gpg --batch --keyserver "hkps://keys.openpgp.org" --recv-keys "$key" || \ + gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys "$key" ; \ + done && \ + gpg --verify "/tmp/$QD_NAME.tar.gz.sha256.asc" "/tmp/$QD_NAME.tar.gz.sha256" && \ + (cd /tmp && sha256sum --check --status "$QD_NAME.tar.gz.sha256") && \ + mkdir -p /tmp/qd && tar -xzf "/tmp/$QD_NAME.tar.gz" --directory /tmp/qd --strip-components=1 && \ + mv /tmp/qd/qodana-QD* "$QODANA_DIST" && \ + chmod +x "$QODANA_DIST"/bin/*.sh "$QODANA_DIST"/bin/qodana && \ + update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 0 && \ + update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 0 && \ + update-alternatives --set java "$JAVA_HOME/bin/java" && \ + update-alternatives --set javac "$JAVA_HOME/bin/javac" && \ + apt-get purge --auto-remove -y gnupg2 && \ + rm -rf /var/cache/apt /var/lib/apt/ /tmp/* "$GNUPGHOME" + +LABEL maintainer="qodana-support@jetbrains.com" description="Qodana for Python (https://jb.gg/qodana-python)" +WORKDIR /data/project +ENTRYPOINT ["/opt/idea/bin/qodana"] \ No newline at end of file diff --git a/2023.3/python/included_plugins.txt b/2023.3/python/included_plugins.txt new file mode 100644 index 00000000..0d2c9968 --- /dev/null +++ b/2023.3/python/included_plugins.txt @@ -0,0 +1,44 @@ +org.intellij.qodana +org.intellij.intelliLang +com.intellij.configurationScript +com.intellij.properties +com.intellij.platform.images +org.editorconfig.editorconfigjetbrains +org.jetbrains.plugins.yaml +org.jetbrains.plugins.textmate +com.jetbrains.sh +com.intellij.css +Git4Idea +hg4idea +HtmlTools +tanvd.grazi +com.intellij.database +intellij.grid.core.impl +intellij.grid.impl +intellij.charts +intellij.indexing.shared.core +intellij.indexing.shared +Pythonid +com.jetbrains.pycharm.pro.customization +com.jetbrains.pycharm.pro.sharedIndexes.bundled +com.jetbrains.python.sharedIndexes +com.jetbrains.python.sharedIndexes.downloadable +com.intellij.plugins.dependencyAnalysis +org.jetbrains.security.package-checker +NodeJS +JavaScriptDebugger +JavaScript +JSIntentionPowerPack +com.jetbrains.plugins.jade +com.intellij.plugins.webcomponents +com.dmarcotte.handlebars +Karma +XSLT-Debugger +W3Validators +com.intellij.plugins.html.instantEditing +com.intellij.css +org.jetbrains.plugins.less +org.jetbrains.plugins.sass +org.jetbrains.plugins.vue +org.intellij.plugins.postcss +intellij.webpack \ No newline at end of file