diff --git a/.github/workflows/kotlin-ci.yml b/.github/workflows/kotlin-ci.yml index 4ee9180..54ba426 100644 --- a/.github/workflows/kotlin-ci.yml +++ b/.github/workflows/kotlin-ci.yml @@ -58,40 +58,38 @@ jobs: run: ./gradlew --no-daemon --version working-directory: ide-plugins - - name: Full build with stacktrace (capture to file) + - name: Build plugin env: GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx3g" run: | set -o pipefail - ./gradlew build --no-daemon --stacktrace 2>&1 | tee ../gradle-build.log || true + ./gradlew buildPlugin --no-daemon --stacktrace 2>&1 | tee ../gradle-build.log working-directory: ide-plugins + - name: Upload build log uses: actions/upload-artifact@v4 with: name: gradle-build-log-java-17 path: gradle-build.log + if: always() - - name: Build Kotlin plugin subproject if present + - name: Prepare plugin artifact for upload run: | - set -o pipefail - if ./gradlew :kotlin:tasks --dry-run &>/dev/null; then - echo "Detected :kotlin subproject -> building it" - ./gradlew :kotlin:build --no-daemon --stacktrace 2>&1 | tee ../kotlin-subproject-build.log || true - echo "Uploading kotlin-subproject-build.log" - ls -la ../kotlin-subproject-build.log || true - elif ./gradlew :plugin:kotlin:tasks --dry-run &>/dev/null; then - echo "Detected :plugin:kotlin subproject -> building it" - ./gradlew :plugin:kotlin:build --no-daemon --stacktrace 2>&1 | tee ../kotlin-subproject-build.log || true - else - echo "No explicit kotlin plugin subproject found; running assemble on all projects" - ./gradlew assemble --no-daemon --stacktrace 2>&1 | tee ../assemble.log || true + cd ide-plugins/build/distributions + PLUGIN_FILE=$(ls *.zip | head -n 1) + if [ -n "$PLUGIN_FILE" ]; then + # Create a temporary directory for extraction + mkdir -p plugin-extracted + # Extract the plugin zip + unzip -q "$PLUGIN_FILE" -d plugin-extracted/ + # Remove the original zip + rm "$PLUGIN_FILE" fi - working-directory: ide-plugins - - name: Upload kotlin-subproject/build logs if present + if: success() + + - name: Upload plugin artifact uses: actions/upload-artifact@v4 with: - name: kotlin-subproject-logs-java-17 - path: | - kotlin-subproject-build.log - assemble.log - if: always() + name: intellij-plugin-pr-${{ github.event.pull_request.number || github.run_number }} + path: ide-plugins/build/distributions/plugin-extracted/ + if: success() diff --git a/ide-plugins/build.gradle.kts b/ide-plugins/build.gradle.kts index 1fe6d16..4b89c5d 100644 --- a/ide-plugins/build.gradle.kts +++ b/ide-plugins/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("org.jetbrains.intellij.platform") version "2.10.4" } +// Build configuration for PicoCode IntelliJ Plugin group = "com.picocode" version = project.findProperty("version") as String? ?: "0.0.1" @@ -21,6 +22,7 @@ dependencies { intellijPlatform { intellijIdeaCommunity("2023.1") bundledPlugin("com.intellij.java") + instrumentationTools() } } @@ -35,9 +37,4 @@ tasks { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) } } - - patchPluginXml { - sinceBuild.set("231") - untilBuild.set("241.*") - } } diff --git a/ide-plugins/src/main/resources/META-INF/plugin.xml b/ide-plugins/src/main/resources/META-INF/plugin.xml index 50ff761..47824a1 100644 --- a/ide-plugins/src/main/resources/META-INF/plugin.xml +++ b/ide-plugins/src/main/resources/META-INF/plugin.xml @@ -1,6 +1,7 @@ com.picocode.rag-assistant PicoCode RAG Assistant + 0.0.1 PicoCode