diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml deleted file mode 100644 index 787621c5..00000000 --- a/.github/workflows/build_and_test.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Build and Test - -on: - push: - branches: - - main - paths-ignore: - - '**.md' - pull_request: - paths-ignore: - - '**.md' - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - # test against relevant LTS versions of Java - java: [ 17, 21 ] - name: Build ktfmt on Java ${{ matrix.java }} - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: zulu - # set-java-home is intentionally 'false': the main build runs on the Zulu JDK from the matrix - # (Java 17/21), so we must not repoint JAVA_HOME at GraalVM 25. setup-graalvm still exports - # GRAALVM_HOME, which the GraalVM Gradle plugin uses to locate the native-image toolchain for the - # :ktfmt:nativeCompile step. This keeps the JVM build on the matrix JDK and the native build on - # GraalVM. - - name: Set up GraalVM - uses: graalvm/setup-graalvm@v1 - with: - java-version: '25.0.1' - distribution: 'graalvm' - github-token: ${{ secrets.GITHUB_TOKEN }} - set-java-home: 'false' - native-image-job-reports: 'true' - - name: Build ktfmt - run: ./gradlew build --no-daemon - - name: Build Native Image - run: ./gradlew :ktfmt:nativeCompile --stacktrace --no-daemon - - name: Smoke test Native Image - run: ./native_smoke_test.sh diff --git a/.github/workflows/publish_artifacts_on_release.yaml b/.github/workflows/publish_artifacts_on_release.yaml deleted file mode 100644 index c6b6aa6d..00000000 --- a/.github/workflows/publish_artifacts_on_release.yaml +++ /dev/null @@ -1,84 +0,0 @@ -# When a new release is created, publish artifacts to Maven Central / JetBrains Marketplace / etc.. -# -# About secrets used here: -# 1. OSSRH_USERNAME, OSSRH_TOKEN: token obtained from https://oss.sonatype.org/ -# 2. OSSRH_GPG_SECRET_KEY - private key for signing Maven artifacts -# 3. OSSRH_GPG_SECRET_KEY_PASSWORD - password for unlocking OSSRH_GPG_SECRET_KEY -# 4. JETBRAINS_MARKETPLACE_TOKEN - token obtained from https://plugins.jetbrains.com/author/me/tokens - -name: Publish package to Maven Central and JetBrains Marketplace -on: - release: - types: [created] - workflow_dispatch: - inputs: - release_tag: - description: 'Release tag' - required: true - type: string -jobs: - publish_ide_plugin: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.release.tag_name || inputs.release_tag || github.ref }} - - - name: Publish IntelliJ plugin to JetBrains Marketplace - run: ./gradlew :idea_plugin:publishPlugin --stacktrace --no-daemon - env: - JETBRAINS_MARKETPLACE_TOKEN: ${{ secrets.JETBRAINS_MARKETPLACE_TOKEN }} - - publish_maven_artifacts: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.release.tag_name || inputs.release_tag || github.ref }} - - - id: install-secret-key - name: Install gpg secret key - run: | - cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import - gpg --list-secret-keys --keyid-format LONG - - - id: publish-to-central - name: Publish to Maven Central Repository - env: - SIGN_BUILD: true - OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} - OSSRH_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - run: | - ./gradlew :ktfmt:publish closeAndReleaseStagingRepositories \ - --stacktrace \ - --no-daemon \ - -Psigning.gnupg.passphrase="$GPG_PASSPHRASE" - - upload_github_artifacts: - runs-on: ubuntu-latest - permissions: - contents: write # Required to upload release assets - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.release.tag_name || inputs.release_tag || github.ref }} - - - name: Debug release tag - run: | - echo "Release tag: ${{ github.event.release.tag_name || inputs.release_tag }}" - - - name: Build JAR artifacts - run: ./gradlew :ktfmt:jar :ktfmt:shadowJar --stacktrace --no-daemon - - - name: Verify JAR artifacts exist - run: ls -la core/build/libs/ktfmt-*.jar - - - name: Upload JAR artifacts to GitHub Release - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ github.event.release.tag_name || inputs.release_tag }} - files: | - core/build/libs/ktfmt-*.jar - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/settings.gradle.kts b/settings.gradle.kts index 3a67c08e..63470aa4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -44,3 +44,7 @@ dependencyResolutionManagement { mavenCentral() } } + +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" +}