chore: update dependencies and align with plugin template
This commit is contained in:
parent
e991535c23
commit
b4afc0e1da
85
.github/workflows/build.yml
vendored
85
.github/workflows/build.yml
vendored
@ -26,21 +26,24 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
|
||||
# Prepare environment and build the plugin
|
||||
# Prepare the environment and build the plugin
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version: ${{ steps.properties.outputs.version }}
|
||||
changelog: ${{ steps.properties.outputs.changelog }}
|
||||
pluginVerifierHomeDir: ${{ steps.properties.outputs.pluginVerifierHomeDir }}
|
||||
steps:
|
||||
|
||||
# Free GitHub Actions Environment Disk Space
|
||||
- name: Maximize Build Space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
large-packages: false
|
||||
|
||||
# Check out the current repository
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Set up Java environment for the next steps
|
||||
# Set up the Java environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@ -50,24 +53,6 @@ jobs:
|
||||
# Setup Gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-disabled: true
|
||||
|
||||
# Set environment variables
|
||||
- name: Export Properties
|
||||
id: properties
|
||||
shell: bash
|
||||
run: |
|
||||
PROPERTIES="$(./gradlew properties --console=plain -q)"
|
||||
VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')"
|
||||
CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)"
|
||||
|
||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||
echo "pluginVerifierHomeDir=~/.pluginVerifier" >> $GITHUB_OUTPUT
|
||||
|
||||
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
||||
echo "$CHANGELOG" >> $GITHUB_OUTPUT
|
||||
echo "EOF" >> $GITHUB_OUTPUT
|
||||
|
||||
# Build plugin
|
||||
- name: Build plugin
|
||||
@ -84,7 +69,7 @@ jobs:
|
||||
|
||||
echo "filename=${FILENAME:0:-4}" >> $GITHUB_OUTPUT
|
||||
|
||||
# Store already-built plugin as an artifact for downloading
|
||||
# Store an already-built plugin as an artifact for downloading
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
@ -98,11 +83,18 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
# Free GitHub Actions Environment Disk Space
|
||||
- name: Maximize Build Space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
large-packages: false
|
||||
|
||||
# Check out the current repository
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Set up Java environment for the next steps
|
||||
# Set up the Java environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@ -113,7 +105,7 @@ jobs:
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-disabled: true
|
||||
cache-read-only: true
|
||||
|
||||
# Run tests
|
||||
- name: Run Tests
|
||||
@ -132,8 +124,9 @@ jobs:
|
||||
uses: codecov/codecov-action@v5
|
||||
with:
|
||||
files: ${{ github.workspace }}/build/reports/kover/report.xml
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
# Run Qodana inspections and provide report
|
||||
# Run Qodana inspections and provide a report
|
||||
inspectCode:
|
||||
name: Inspect code
|
||||
needs: [ build ]
|
||||
@ -146,7 +139,7 @@ jobs:
|
||||
|
||||
# Free GitHub Actions Environment Disk Space
|
||||
- name: Maximize Build Space
|
||||
uses: jlumbroso/free-disk-space@main
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
large-packages: false
|
||||
@ -158,7 +151,7 @@ jobs:
|
||||
ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit
|
||||
fetch-depth: 0 # a full history is required for pull request analysis
|
||||
|
||||
# Set up Java environment for the next steps
|
||||
# Set up the Java environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@ -167,7 +160,7 @@ jobs:
|
||||
|
||||
# Run Qodana inspections
|
||||
- name: Qodana - Code Inspection
|
||||
uses: JetBrains/qodana-action@v2024.2
|
||||
uses: JetBrains/qodana-action@v2025.1.1
|
||||
with:
|
||||
cache-default-branch-only: true
|
||||
|
||||
@ -180,7 +173,7 @@ jobs:
|
||||
|
||||
# Free GitHub Actions Environment Disk Space
|
||||
- name: Maximize Build Space
|
||||
uses: jlumbroso/free-disk-space@main
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
large-packages: false
|
||||
@ -189,7 +182,7 @@ jobs:
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Set up Java environment for the next steps
|
||||
# Set up the Java environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@ -200,18 +193,11 @@ jobs:
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-disabled: true
|
||||
|
||||
# Cache Plugin Verifier IDEs
|
||||
- name: Setup Plugin Verifier IDEs Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ needs.build.outputs.pluginVerifierHomeDir }}/ides
|
||||
key: plugin-verifier-${{ hashFiles('build/listProductsReleases.txt') }}
|
||||
cache-read-only: true
|
||||
|
||||
# Run Verify Plugin task and IntelliJ Plugin Verifier tool
|
||||
- name: Run Plugin Verification tasks
|
||||
run: ./gradlew verifyPlugin -Dplugin.verifier.home.dir=${{ needs.build.outputs.pluginVerifierHomeDir }}
|
||||
run: ./gradlew verifyPlugin
|
||||
|
||||
# Collect Plugin Verifier Result
|
||||
- name: Collect Plugin Verifier Result
|
||||
@ -222,7 +208,7 @@ jobs:
|
||||
path: ${{ github.workspace }}/build/reports/pluginVerifier
|
||||
|
||||
# Prepare a draft release for GitHub Releases page for the manual verification
|
||||
# If accepted and published, release workflow would be triggered
|
||||
# If accepted and published, the release workflow would be triggered
|
||||
releaseDraft:
|
||||
name: Release draft
|
||||
if: github.event_name != 'pull_request'
|
||||
@ -250,10 +236,11 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh release create "v${{ needs.build.outputs.version }}" \
|
||||
VERSION=$(./gradlew properties --property version --quiet --console=plain | tail -n 1 | cut -f2- -d ' ')
|
||||
RELEASE_NOTE="./build/tmp/release_note.txt"
|
||||
./gradlew getChangelog --unreleased --no-header --quiet --console=plain --output-file=$RELEASE_NOTE
|
||||
|
||||
gh release create $VERSION \
|
||||
--draft \
|
||||
--title "v${{ needs.build.outputs.version }}" \
|
||||
--notes "$(cat << 'EOM'
|
||||
${{ needs.build.outputs.changelog }}
|
||||
EOM
|
||||
)"
|
||||
--title $VERSION \
|
||||
--notes-file $RELEASE_NOTE
|
||||
39
.github/workflows/release.yml
vendored
39
.github/workflows/release.yml
vendored
@ -1,5 +1,5 @@
|
||||
# GitHub Actions Workflow created for handling the release process based on the draft release prepared with the Build workflow.
|
||||
# Running the publishPlugin task requires all following secrets to be provided: PUBLISH_TOKEN, PRIVATE_KEY, PRIVATE_KEY_PASSWORD, CERTIFICATE_CHAIN.
|
||||
# Running the publishPlugin task requires all the following secrets to be provided: PUBLISH_TOKEN, PRIVATE_KEY, PRIVATE_KEY_PASSWORD, CERTIFICATE_CHAIN.
|
||||
# See https://plugins.jetbrains.com/docs/intellij/plugin-signing.html for more information.
|
||||
|
||||
name: Release
|
||||
@ -18,13 +18,20 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
|
||||
# Free GitHub Actions Environment Disk Space
|
||||
- name: Maximize Build Space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
large-packages: false
|
||||
|
||||
# Check out the current repository
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.release.tag_name }}
|
||||
|
||||
# Set up Java environment for the next steps
|
||||
# Set up the Java environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@ -35,29 +42,19 @@ jobs:
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-disabled: true
|
||||
|
||||
# Set environment variables
|
||||
- name: Export Properties
|
||||
id: properties
|
||||
shell: bash
|
||||
run: |
|
||||
CHANGELOG="$(cat << 'EOM' | sed -e 's/^[[:space:]]*$//g' -e '/./,$!d'
|
||||
${{ github.event.release.body }}
|
||||
EOM
|
||||
)"
|
||||
|
||||
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
||||
echo "$CHANGELOG" >> $GITHUB_OUTPUT
|
||||
echo "EOF" >> $GITHUB_OUTPUT
|
||||
cache-read-only: true
|
||||
|
||||
# Update the Unreleased section with the current release note
|
||||
- name: Patch Changelog
|
||||
if: ${{ steps.properties.outputs.changelog != '' }}
|
||||
if: ${{ github.event.release.body != '' }}
|
||||
env:
|
||||
CHANGELOG: ${{ steps.properties.outputs.changelog }}
|
||||
CHANGELOG: ${{ github.event.release.body }}
|
||||
run: |
|
||||
./gradlew patchChangelog --release-note="$CHANGELOG"
|
||||
RELEASE_NOTE="./build/tmp/release_note.txt"
|
||||
mkdir -p "$(dirname "$RELEASE_NOTE")"
|
||||
echo "$CHANGELOG" > $RELEASE_NOTE
|
||||
|
||||
./gradlew patchChangelog --release-note-file=$RELEASE_NOTE
|
||||
|
||||
# Publish the plugin to JetBrains Marketplace
|
||||
- name: Publish Plugin
|
||||
@ -68,7 +65,7 @@ jobs:
|
||||
PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }}
|
||||
run: ./gradlew publishPlugin
|
||||
|
||||
# Upload artifact as a release asset
|
||||
# Upload an artifact as a release asset
|
||||
- name: Upload Release Asset
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
4
.github/workflows/run-ui-tests.yml
vendored
4
.github/workflows/run-ui-tests.yml
vendored
@ -35,7 +35,7 @@ jobs:
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Set up Java environment for the next steps
|
||||
# Set up the Java environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@ -46,7 +46,7 @@ jobs:
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
cache-disabled: true
|
||||
cache-read-only: true
|
||||
|
||||
# Run IDEA prepared for UI testing
|
||||
- name: Run IDE
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,7 @@
|
||||
.DS_Store
|
||||
.gradle
|
||||
.idea
|
||||
.intellijPlatform
|
||||
.kotlin
|
||||
.qodana
|
||||
build
|
||||
@ -4,6 +4,10 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
|
||||
- Update dependencies
|
||||
|
||||
## [4.8.0] - 2025-04-25
|
||||
|
||||
### Added
|
||||
|
||||
@ -47,8 +47,8 @@ dependencies {
|
||||
// Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace.
|
||||
plugins(providers.gradleProperty("platformPlugins").map { it.split(',') })
|
||||
|
||||
// Workaround to fix OOM exception during CI run
|
||||
pluginVerifier(version="1.383")
|
||||
// Module Dependencies. Uses `platformBundledModules` property from the gradle.properties file for bundled IntelliJ Platform modules.
|
||||
bundledModules(providers.gradleProperty("platformBundledModules").map { it.split(',') })
|
||||
|
||||
testFramework(TestFrameworkType.Platform)
|
||||
}
|
||||
@ -88,7 +88,6 @@ intellijPlatform {
|
||||
|
||||
ideaVersion {
|
||||
sinceBuild = providers.gradleProperty("pluginSinceBuild")
|
||||
untilBuild = providers.gradleProperty("pluginUntilBuild")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
10
codecov.yml
Normal file
10
codecov.yml
Normal file
@ -0,0 +1,10 @@
|
||||
coverage:
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
informational: true
|
||||
threshold: 0%
|
||||
base: auto
|
||||
patch:
|
||||
default:
|
||||
informational: true
|
||||
@ -8,20 +8,21 @@ pluginVersion = 4.8.0
|
||||
|
||||
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
|
||||
pluginSinceBuild = 242
|
||||
pluginUntilBuild = 252.*
|
||||
|
||||
# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension
|
||||
platformType = IU
|
||||
platformVersion = 2024.2.5
|
||||
platformVersion = 2025.1.5
|
||||
|
||||
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
|
||||
# Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP
|
||||
platformPlugins = com.jetbrains.php:242.23726.16
|
||||
# Example: platformBundledPlugins = com.intellij.java
|
||||
platformBundledPlugins = org.jetbrains.kotlin, JavaScript
|
||||
# Example: platformBundledModules = intellij.spellchecker
|
||||
platformBundledModules =
|
||||
|
||||
# Gradle Releases -> https://github.com/gradle/gradle/releases
|
||||
gradleVersion = 8.13
|
||||
gradleVersion = 9.0.0
|
||||
|
||||
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib
|
||||
kotlin.stdlib.default.dependency = false
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
[versions]
|
||||
# libraries
|
||||
json5-java = "2.0.0"
|
||||
commons-lang3 = "3.14.0"
|
||||
commons-text = "1.11.0"
|
||||
commons-lang3 = "3.18.0"
|
||||
commons-text = "1.14.0"
|
||||
junit = "4.13.2"
|
||||
opentest4j = "1.3.0"
|
||||
|
||||
# plugins
|
||||
changelog = "2.2.1"
|
||||
intelliJPlatform = "2.5.0"
|
||||
kotlin = "2.1.20"
|
||||
changelog = "2.4.0"
|
||||
intelliJPlatform = "2.7.2"
|
||||
kotlin = "2.2.0"
|
||||
kover = "0.9.1"
|
||||
qodana = "2024.3.4"
|
||||
qodana = "2025.1.1"
|
||||
|
||||
[libraries]
|
||||
json5-java = { group = "de.marhali", name = "json5-java", version.ref = "json5-java" }
|
||||
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
10
gradlew
vendored
10
gradlew
vendored
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
# Copyright © 2015 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -114,7 +114,7 @@ case "$( uname )" in #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
CLASSPATH="\\\"\\\""
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
@ -205,7 +205,7 @@ fi
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
@ -213,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
@ -248,4 +248,4 @@ eval "set -- $(
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
exec "$JAVACMD" "$@"
|
||||
6
gradlew.bat
vendored
6
gradlew.bat
vendored
@ -70,11 +70,11 @@ goto fail
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
set CLASSPATH=
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
@ -91,4 +91,4 @@ exit /b %EXIT_CODE%
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
:omega
|
||||
@ -1,5 +1,5 @@
|
||||
rootProject.name = "easy-i18n"
|
||||
|
||||
plugins {
|
||||
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
|
||||
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user