diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 7de6ef3..f6d07c4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -25,11 +25,12 @@ If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: [e.g. iOS] - JDK Version [e.g. 22] + - Python version [e.g. 3.11.8] - Netbeans Version: [e.g. 22] - Python Plugin Version: [e.g. 22] **Mandatory Logs** Add any other context about the problem here. [e.g. Netbeans stacktrace/logs: (View-> IDE Log)] -[e.g. LSP Server logs ${netbeans_userdir}/.pythonlsp/lsp_log_file] +[e.g. LSP Server logs ${netbeans_userdir}/.pythonlsp/lsp_log_file] /!\: (this log is cleaned at Netbeans exit) diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 745eb09..a317ab3 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -24,53 +24,53 @@ jobs: distribution: 'temurin' cache: maven - - name: Build with RELEASE130 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE130 -Dnext.version=RELEASE130 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE140 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE140 -Dnext.version=RELEASE140 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE150 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE150 -Dnext.version=RELEASE150 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE160 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE160 -Dnext.version=RELEASE160 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE170 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE170 -Dnext.version=RELEASE170 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE180 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE180 -Dnext.version=RELEASE180 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE190 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE190 -Dnext.version=RELEASE190 - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE200 - run: | - mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE200 -Dnext.version=RELEASE200 - env: - GITHUB_TOKEN: ${{ github.token }} +# - name: Build with RELEASE130 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE130 -Dnext.version=RELEASE130 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE140 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE140 -Dnext.version=RELEASE140 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE150 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE150 -Dnext.version=RELEASE150 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE160 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE160 -Dnext.version=RELEASE160 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE170 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE170 -Dnext.version=RELEASE170 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE180 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE180 -Dnext.version=RELEASE180 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE190 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE190 -Dnext.version=RELEASE190 +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE200 +# run: | +# mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE200 -Dnext.version=RELEASE200 +# env: +# GITHUB_TOKEN: ${{ github.token }} - name: Build with RELEASE210 run: | @@ -81,5 +81,11 @@ jobs: - name: Build with RELEASE220 run: | mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE220 -Dnext.version=RELEASE220 + env: + GITHUB_TOKEN: ${{ github.token }} + + - name: Build with RELEASE230 + run: | + mvn -B clean install -P dev -Dnetbeans.release.version=RELEASE230 -Dnext.version=RELEASE230 env: GITHUB_TOKEN: ${{ github.token }} \ No newline at end of file diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 4406db7..856d968 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -61,16 +61,6 @@ jobs: run: | sed -i "s/OpenIDE-Module-Specification-Version:.*/OpenIDE-Module-Specification-Version: ${{ env.RELEASE_VERSION }}/" src/main/nbm/manifest.mf - - name: Build with RELEASE130 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE130 -Dnext.version=RELEASE130-${{ env.RELEASE_VERSION }} - echo "SIZE_13=$(wc -c target/nbm/python-RELEASE130-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - GITHUB_TOKEN: ${{ github.token }} - - name: Create Release uses: actions/create-release@v1 id: create_release @@ -82,183 +72,212 @@ jobs: env: GITHUB_TOKEN: ${{ github.token }} - - name: Attach RELEASE130 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE130-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE130-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE140 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE140 -Dnext.version=RELEASE140-${{ env.RELEASE_VERSION }} - echo "SIZE_14=$(wc -c target/nbm/python-RELEASE140-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - - name: Attach RELEASE140 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE140-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE140-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE150 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE150 -Dnext.version=RELEASE150-${{ env.RELEASE_VERSION }} - echo "SIZE_15=$(wc -c target/nbm/python-RELEASE150-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - - name: Attach RELEASE150 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE150-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE150-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE160 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE160 -Dnext.version=RELEASE160-${{ env.RELEASE_VERSION }} - echo "SIZE_16=$(wc -c target/nbm/python-RELEASE160-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - - name: Attach RELEASE160 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE160-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE160-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE170 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE170 -Dnext.version=RELEASE170-${{ env.RELEASE_VERSION }} - echo "SIZE_17=$(wc -c target/nbm/python-RELEASE170-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - - name: Attach RELEASE170 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE170-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE170-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE180 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE180 -Dnext.version=RELEASE180-${{ env.RELEASE_VERSION }} - echo "SIZE_18=$(wc -c target/nbm/python-RELEASE180-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - - name: Attach RELEASE180 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE180-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE180-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} - - - name: Build with RELEASE190 - run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE190 -Dnext.version=RELEASE190-${{ env.RELEASE_VERSION }} - echo "SIZE_19=$(wc -c target/nbm/python-RELEASE190-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - - name: Attach RELEASE190 NBM - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE190-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE190-${{ env.RELEASE_VERSION }}.nbm - asset_content_type: application/gzip - env: - GITHUB_TOKEN: ${{ github.token }} +# - name: Build with RELEASE130 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE130 -Dnext.version=RELEASE130-${{ env.RELEASE_VERSION }} +# echo "SIZE_13=$(wc -c target/nbm/python-RELEASE130-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Attach RELEASE130 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE130-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE130-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE140 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE140 -Dnext.version=RELEASE140-${{ env.RELEASE_VERSION }} +# echo "SIZE_14=$(wc -c target/nbm/python-RELEASE140-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE140 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE140-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE140-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE150 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE150 -Dnext.version=RELEASE150-${{ env.RELEASE_VERSION }} +# echo "SIZE_15=$(wc -c target/nbm/python-RELEASE150-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE150 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE150-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE150-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE160 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE160 -Dnext.version=RELEASE160-${{ env.RELEASE_VERSION }} +# echo "SIZE_16=$(wc -c target/nbm/python-RELEASE160-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE160 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE160-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE160-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE170 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE170 -Dnext.version=RELEASE170-${{ env.RELEASE_VERSION }} +# echo "SIZE_17=$(wc -c target/nbm/python-RELEASE170-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE170 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE170-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE170-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE180 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE180 -Dnext.version=RELEASE180-${{ env.RELEASE_VERSION }} +# echo "SIZE_18=$(wc -c target/nbm/python-RELEASE180-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE180 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE180-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE180-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE190 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE190 -Dnext.version=RELEASE190-${{ env.RELEASE_VERSION }} +# echo "SIZE_19=$(wc -c target/nbm/python-RELEASE190-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE190 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE190-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE190-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} +# +# - name: Build with RELEASE200 +# run: | +# mvn -B clean deploy -Dnetbeans.release.version=RELEASE200 -Dnext.version=RELEASE200-${{ env.RELEASE_VERSION }} +# echo "SIZE_20=$(wc -c target/nbm/python-RELEASE200-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV +# env: +# MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} +# MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} +# MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} +# +# - name: Attach RELEASE200 NBM +# uses: actions/upload-release-asset@v1 +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: target/nbm/python-RELEASE200-${{ env.RELEASE_VERSION }}.nbm +# asset_name: python-RELEASE200-${{ env.RELEASE_VERSION }}.nbm +# asset_content_type: application/gzip +# env: +# GITHUB_TOKEN: ${{ github.token }} - - name: Build with RELEASE200 + - name: Build with RELEASE210 run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE200 -Dnext.version=RELEASE200-${{ env.RELEASE_VERSION }} - echo "SIZE_20=$(wc -c target/nbm/python-RELEASE200-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV + mvn -B clean deploy -Dnetbeans.release.version=RELEASE210 -Dnext.version=RELEASE210-${{ env.RELEASE_VERSION }} + echo "SIZE_20=$(wc -c target/nbm/python-RELEASE210-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - name: Attach RELEASE200 NBM + - name: Attach RELEASE210 NBM uses: actions/upload-release-asset@v1 with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE200-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE200-${{ env.RELEASE_VERSION }}.nbm + asset_path: target/nbm/python-RELEASE210-${{ env.RELEASE_VERSION }}.nbm + asset_name: python-RELEASE210-${{ env.RELEASE_VERSION }}.nbm asset_content_type: application/gzip env: GITHUB_TOKEN: ${{ github.token }} - - name: Build with RELEASE210 + - name: Build with RELEASE220 run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE210 -Dnext.version=RELEASE210-${{ env.RELEASE_VERSION }} - echo "SIZE_20=$(wc -c target/nbm/python-RELEASE210-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV + mvn -B clean deploy -Dnetbeans.release.version=RELEASE220 -Dnext.version=RELEASE220-${{ env.RELEASE_VERSION }} + echo "SIZE_20=$(wc -c target/nbm/python-RELEASE220-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - name: Attach RELEASE210 NBM + - name: Attach RELEASE220 NBM uses: actions/upload-release-asset@v1 with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE210-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE210-${{ env.RELEASE_VERSION }}.nbm + asset_path: target/nbm/python-RELEASE220-${{ env.RELEASE_VERSION }}.nbm + asset_name: python-RELEASE220-${{ env.RELEASE_VERSION }}.nbm asset_content_type: application/gzip env: GITHUB_TOKEN: ${{ github.token }} - - name: Build with RELEASE220 + - name: Build with RELEASE230 run: | - mvn -B clean deploy -Dnetbeans.release.version=RELEASE220 -Dnext.version=RELEASE220-${{ env.RELEASE_VERSION }} - echo "SIZE_20=$(wc -c target/nbm/python-RELEASE220-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV + mvn -B clean deploy -Dnetbeans.release.version=RELEASE230 -Dnext.version=RELEASE230-${{ env.RELEASE_VERSION }} + echo "SIZE_20=$(wc -c target/nbm/python-RELEASE230-${{ env.RELEASE_VERSION }}.nbm | awk '{print $1}')" >> $GITHUB_ENV env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - - name: Attach RELEASE220 NBM + - name: Attach RELEASE230 NBM uses: actions/upload-release-asset@v1 with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: target/nbm/python-RELEASE220-${{ env.RELEASE_VERSION }}.nbm - asset_name: python-RELEASE220-${{ env.RELEASE_VERSION }}.nbm + asset_path: target/nbm/python-RELEASE230-${{ env.RELEASE_VERSION }}.nbm + asset_name: python-RELEASE230-${{ env.RELEASE_VERSION }}.nbm asset_content_type: application/gzip env: GITHUB_TOKEN: ${{ github.token }} diff --git a/README.md b/README.md index b32ff3f..2154989 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Follow the [Wiki Session](https://github.com/albilu/netbeansPython/wiki) (WIP) f ### Requirements -[![](https://img.shields.io/badge/Python-3.7+-green)]() [![](https://img.shields.io/badge/JDK-11+-green)]() [![](https://img.shields.io/badge/Netbeans-13+-green)]() +[![](https://img.shields.io/badge/Python-3.8+-green)]() [![](https://img.shields.io/badge/JDK-11+-green)]() [![](https://img.shields.io/badge/Netbeans-13+-green)]() ### Installation @@ -17,7 +17,7 @@ Follow the [Wiki Session](https://github.com/albilu/netbeansPython/wiki) (WIP) f - If Plugin not available, register the repository `Tools -> Plugins -> Settings -> Add` - https://raw.githubusercontent.com/albilu/netbeansPython/master/ppuc/{Netbeans version}/updates.xml + https://raw.githubusercontent.com/albilu/netbeansPython/master/ppuc/{Netbeans%20version}/updates.xml - Or Download the latest [release](https://github.com/albilu/netbeansPython/releases) and install in Netbeans: \ `Tools -> Plugins -> Downloaded -> Add Plugins -> Install` @@ -33,13 +33,13 @@ It leverage the `Spyder IDE` community supported [Language Server Protocol](http The project is driven by the need to bring to Netbeans similar support for Python as what other main IDEs/Editors (namely [Pycharm](https://www.jetbrains.com/fr-fr/pycharm/)/[Spyder IDE](https://www.spyder-ide.org/)/[VScode](https://code.visualstudio.com/docs/languages/python)) offers. -### Support/Contribute/Sponsor +### Sponsor/Contribute/Support Support this project growth and maintenance by: -- Starring it [![](https://img.shields.io/github/stars/albilu/netbeansPython)]() -- Submiting [PR](https://github.com/albilu/netbeansPython/pulls) for issues in the backlog - [Sponsoring it](https://github.com/sponsors/albilu) +- Submiting [PR](https://github.com/albilu/netbeansPython/pulls) for issues in the backlog +- Starring it [![](https://img.shields.io/github/stars/albilu/netbeansPython)]() ### Related Projects diff --git a/pom.xml b/pom.xml index 37f0354..746e5b8 100644 --- a/pom.xml +++ b/pom.xml @@ -801,8 +801,8 @@ target/keystore - RELEASE220 - 1.9.1 + RELEASE230 + 1.9.2 https://github.com/albilu/netbeansPython https://github.com/albilu/netbeansPython.git UTF-8 diff --git a/ppuc/21/updates.xml b/ppuc/21/updates.xml index dadbd60..9ac07b5 100644 --- a/ppuc/21/updates.xml +++ b/ppuc/21/updates.xml @@ -1,6 +1,6 @@ - - - + + + \ No newline at end of file diff --git a/ppuc/22/updates.xml b/ppuc/22/updates.xml index 73d3c88..b33b5fa 100644 --- a/ppuc/22/updates.xml +++ b/ppuc/22/updates.xml @@ -1,6 +1,6 @@ - - - + + + \ No newline at end of file diff --git a/ppuc/23/updates.xml b/ppuc/23/updates.xml new file mode 100644 index 0000000..f3f574c --- /dev/null +++ b/ppuc/23/updates.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/org/netbeans/modules/python/PythonPathRecognizer.java b/src/main/java/org/netbeans/modules/python/PythonPathRecognizer.java index 7fd8ca5..2b90375 100644 --- a/src/main/java/org/netbeans/modules/python/PythonPathRecognizer.java +++ b/src/main/java/org/netbeans/modules/python/PythonPathRecognizer.java @@ -6,13 +6,13 @@ import java.util.Set; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.modules.parsing.spi.indexing.PathRecognizer; -import org.openide.util.lookup.ServiceProvider; +//import org.openide.util.lookup.ServiceProvider; /** * * @author albilu */ -@ServiceProvider(service = PathRecognizer.class) +//@ServiceProvider(service = PathRecognizer.class) public class PythonPathRecognizer extends PathRecognizer { @Override diff --git a/src/main/java/org/netbeans/modules/python/PythonUtility.java b/src/main/java/org/netbeans/modules/python/PythonUtility.java index 0b1a63c..08edf93 100644 --- a/src/main/java/org/netbeans/modules/python/PythonUtility.java +++ b/src/main/java/org/netbeans/modules/python/PythonUtility.java @@ -110,7 +110,7 @@ public class PythonUtility { public static String[] LSP_DEPS = new String[]{ "python-lsp-server[all]", - "pyls-isort", + "python-lsp-isort", "pylsp-mypy", "pylsp-rope", "black", diff --git a/src/main/java/org/netbeans/modules/python/editor/PythonReformatTask.java b/src/main/java/org/netbeans/modules/python/editor/PythonReformatTask.java index c9e31f1..cef8750 100644 --- a/src/main/java/org/netbeans/modules/python/editor/PythonReformatTask.java +++ b/src/main/java/org/netbeans/modules/python/editor/PythonReformatTask.java @@ -13,6 +13,7 @@ import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.StyledDocument; +import org.apache.commons.lang3.StringUtils; import org.eclipse.lsp4j.DocumentFormattingParams; import org.eclipse.lsp4j.DocumentRangeFormattingParams; import org.eclipse.lsp4j.FormattingOptions; @@ -25,6 +26,7 @@ import org.netbeans.modules.editor.indent.spi.ExtraLock; import org.netbeans.modules.lsp.client.LSPBindings; import org.netbeans.modules.lsp.client.Utils; +import org.netbeans.modules.python.PythonUtility; import org.openide.filesystems.FileObject; import org.openide.text.NbDocument; import org.openide.util.Exceptions; @@ -43,7 +45,8 @@ public void reformat() throws BadLocationException { Document document = context.document(); boolean rangeOrDoc = context.startOffset() != 0; FileObject fileObject = NbEditorUtilities.getFileObject(document); - if (fileObject != null) { + if (fileObject != null && !StringUtils.containsAny(fileObject.getPath(), + PythonUtility.EXCLUDED_DIRS)) { LSPBindings bindings = LSPBindings.getBindings(fileObject); if (bindings != null) { boolean documentFormatting = Utils.isEnabled(bindings diff --git a/src/main/java/org/netbeans/modules/python/options/PythonLspServerConfigsPanel.java b/src/main/java/org/netbeans/modules/python/options/PythonLspServerConfigsPanel.java index 898006b..9a77cf9 100644 --- a/src/main/java/org/netbeans/modules/python/options/PythonLspServerConfigsPanel.java +++ b/src/main/java/org/netbeans/modules/python/options/PythonLspServerConfigsPanel.java @@ -32,14 +32,17 @@ import org.openide.util.Exceptions; import org.openide.util.NbPreferences; import org.openide.util.Pair; +import org.openide.util.RequestProcessor; final class PythonLspServerConfigsPanel extends javax.swing.JPanel { private static final long serialVersionUID = 1L; + RequestProcessor RP = new RequestProcessor(this.getClass().getName(), 1); + public static String[] PACKAGES = { "pylsp", - "pyls-isort", + "python-lsp-isort", "pylsp-mypy", "pylsp-rope", "black", @@ -231,33 +234,36 @@ private void lspListMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:eve }//GEN-LAST:event_lspListMouseClicked void load() { - if (errors != null && !errors.isEmpty()) { - return; - } - try { - lspServerCheckBox.setSelected(NbPreferences.root().getBoolean("autoUpdate", false)); - lspServerLabel.setText(String.format("%s%s", "Current Version: ", PythonUtility.getServerVersion())); - lspPythonVersionLabel.setText(String.format("%s%s", "Python Version: ", PythonUtility.getVersion(PythonUtility.getLspPythonExe()))); - String pipListOutput = PythonUtility.getPipList(PythonUtility.getLspPythonExe()); + RP.post(() -> { + if (errors != null && !errors.isEmpty()) { + return; + } + try { + lspServerCheckBox.setSelected(NbPreferences.root().getBoolean("autoUpdate", false)); + lspServerLabel.setText(String.format("%s%s", "Current Version: ", PythonUtility.getServerVersion())); + lspPythonVersionLabel.setText(String.format("%s%s", "Python Version: ", PythonUtility.getVersion(PythonUtility.getLspPythonExe()))); + String pipListOutput = PythonUtility.getPipList(PythonUtility.getLspPythonExe()); + + DefaultListModel> model = new DefaultListModel<>(); - DefaultListModel> model = new DefaultListModel<>(); + for (String pipPackage : PACKAGES) { + if (pipListOutput.contains(pipPackage)) { + model.addElement(Pair.of(pipPackage, true)); - for (String pipPackage : PACKAGES) { - if (pipListOutput.contains(pipPackage)) { - model.addElement(Pair.of(pipPackage, true)); + } else { + model.addElement(Pair.of(pipPackage, false)); - } else { - model.addElement(Pair.of(pipPackage, false)); + } } + lspList.setModel(model); + lspEditorPane.setText(Files.readString(PythonUtility.SETTINGS.toPath())); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); } - lspList.setModel(model); - lspEditorPane.setText(Files.readString(PythonUtility.SETTINGS.toPath())); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } + }); } diff --git a/src/main/java/org/netbeans/modules/python/project/PythonProjectOpenedHook.java b/src/main/java/org/netbeans/modules/python/project/PythonProjectOpenedHook.java index b3a2ebc..25309b4 100644 --- a/src/main/java/org/netbeans/modules/python/project/PythonProjectOpenedHook.java +++ b/src/main/java/org/netbeans/modules/python/project/PythonProjectOpenedHook.java @@ -10,14 +10,11 @@ import java.util.HashMap; import java.util.Map; import org.eclipse.lsp4j.DidChangeConfigurationParams; -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.classpath.GlobalPathRegistry; import org.netbeans.api.project.Project; import org.netbeans.api.project.ui.ProjectProblems; import org.netbeans.modules.lsp.client.LSPBindings; import org.netbeans.modules.parsing.api.indexing.IndexingManager; import org.netbeans.modules.python.PythonUtility; -import org.netbeans.spi.java.classpath.support.ClassPathSupport; import org.netbeans.spi.project.ui.ProjectOpenedHook; import org.openide.filesystems.FileObject; import org.openide.util.Exceptions; @@ -32,12 +29,11 @@ public class PythonProjectOpenedHook extends ProjectOpenedHook { private final Project project; private final FileObject projectDir; - private final ClassPath source; - +// private final ClassPath source; public PythonProjectOpenedHook(Project project) { this.project = project; this.projectDir = project.getProjectDirectory(); - this.source = ClassPathSupport.createClassPath(project.getProjectDirectory()); +// this.source = ClassPathSupport.createClassPath(project.getProjectDirectory()); } @Override @@ -76,7 +72,7 @@ protected void projectOpened() { } catch (IOException ex) { Exceptions.printStackTrace(ex); } - GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, new ClassPath[]{source}); +// GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, new ClassPath[]{source}); if (ProjectProblems.isBroken(project)) { ProjectProblems.showAlert(project); } @@ -85,6 +81,6 @@ protected void projectOpened() { @Override protected void projectClosed() { - GlobalPathRegistry.getDefault().unregister(ClassPath.SOURCE, new ClassPath[]{source}); +// GlobalPathRegistry.getDefault().unregister(ClassPath.SOURCE, new ClassPath[]{source}); } } diff --git a/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.form b/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.form index 68e98d7..1b9e1f9 100644 --- a/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.form +++ b/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.form @@ -57,11 +57,11 @@ - + - + - + diff --git a/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.java b/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.java index 1c853b7..0ab517d 100644 --- a/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.java +++ b/src/main/java/org/netbeans/modules/python/projectproperties/PythonTestPanel.java @@ -109,11 +109,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(testGeneratorLabel) .addComponent(testGeneratorParamsLabel) .addComponent(testGeneratorDirLabel)) - .addGap(25, 25, 25) + .addGap(24, 24, 24) .addGroup(testGeneratorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(testGeneratorParamsTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) + .addComponent(testGeneratorParamsTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 401, Short.MAX_VALUE) .addGroup(testGeneratorPanelLayout.createSequentialGroup() - .addComponent(testGeneratorDirTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE) + .addComponent(testGeneratorDirTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(testGeneratorDirButton)) .addComponent(testGeneratorComboBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) diff --git a/src/main/java/org/netbeans/modules/python/repl/PythonTerminalConnector.java b/src/main/java/org/netbeans/modules/python/repl/PythonTerminalConnector.java index 7efedc1..162f89b 100644 --- a/src/main/java/org/netbeans/modules/python/repl/PythonTerminalConnector.java +++ b/src/main/java/org/netbeans/modules/python/repl/PythonTerminalConnector.java @@ -8,8 +8,8 @@ import java.nio.charset.Charset; import java.nio.file.Paths; import java.util.Map; -import org.netbeans.modules.python.project.PythonProject; import org.netbeans.modules.python.PythonUtility; +import org.netbeans.modules.python.project.PythonProject; /** * diff --git a/src/main/nbm/manifest.mf b/src/main/nbm/manifest.mf index d4224a4..6a89b68 100644 --- a/src/main/nbm/manifest.mf +++ b/src/main/nbm/manifest.mf @@ -29,15 +29,15 @@ OpenIDE-Module-Long-Description:

netbeansPython/VScode) offers.

-

Support/Contribute/Sponsor

+

Sponsor/Contribute/Support

Support this project growth and maintenance by:

diff --git a/src/main/resources/org/netbeans/modules/python/settings.json b/src/main/resources/org/netbeans/modules/python/settings.json index dd7e9d1..eb1f5d1 100644 --- a/src/main/resources/org/netbeans/modules/python/settings.json +++ b/src/main/resources/org/netbeans/modules/python/settings.json @@ -4,6 +4,9 @@ "pycodestyle" ], "plugins": { + "isort": { + "enabled": true + }, "autopep8": { "enabled": false },