Git Product home page Git Product logo

intellij-kcl's People

Contributors

amyxia1994 avatar blarc avatar fossabot avatar he1pa avatar ldxdl avatar peefy avatar prahaladramji avatar stevenleizhang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

intellij-kcl's Issues

kcl command location is hardcoded and not discovered from the PATH environment

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

  • Install kcl commands using your os specific installation guide.
  • Install this kcl plugin.
  • Open a kcl file and right click within the contents.

2. What did you expect to see? (Required)

The kcl format menu item to be enabled and functional

3. What did you see instead (Required)

The kcl format menu item is disabled.
image

4. What is your KCL components version? (Required)

Version: 0.6.0-20ab3eb4b9179219d6837a57f5d35286
Platform: aarch64-apple-darwin
GitCommit: 9286e955d4f40121568d7a725fec63f3ccc478be

plugin version: 0.1.15

The project needs a CD workflow to auto build & destribute releases.

Feature Request

Is your feature request related to a problem? Please describe:

The release of the plugin is now done manually and that takes lots of effort and storage.

Describe the feature you'd like:

use a github workflow to automatically build and distribute plugins on each IntelliJ version after the main branch is tagged by a version tag.

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

aciTags: DOCKER

stages: # 定义了一条pipeline
  - 测试
  - 构建发布包

PMD:
  stage: 测试
  plugin: PMD
  pluginConfig:
    encoding: UTF-8 # 编码设置
    excludes: # 排除哪些项不统计PMD
      - "src/main/gen/**"
  checkRule: # 校验结果
    - pmd1 = 0 && pmd2 = 0

单元测试:
  stage: 测试
  aciTags: DOCKER # 指定使用哪些runner
  steps:
    - plugin: clone
    - plugin: shell
      inputs:
        image: reg.docker.alibaba-inc.com/kusion/idea-plugin-builder:gradle6.9.0-jdk8-idea2020.2 # 指定使用哪个image
        command:
          - |
            export PLUGIN_VERSION=0.0.1 && export JDK_VERSION=8 && export IDEA_PLATFORM_VERSION="2020.2" && ./gradlew test
            chmod +x ./Scripts/coverage.sh
            echo ${WORKSPACE}
            PROJECT_ROOT=${WORKSPACE} ./Scripts/coverage.sh
    - plugin: coverage-client-upload-compass
      inputs:
        filePath: build/reports/cobertura.xml
  publisher:
    archiveArtifacts: 'build/jacocoHtml/,build/test-results/test/TEST-*.xml'
    allowEmptyResults: true
    junit: 'build/test-results/test/TEST-*.xml'
    html:
      index: build/jacocoHtml/index.html  #(html的入口)
      displayName: 覆盖率报告  #(html链接的展示名称 默认是 链接名称)
  only:
    triggerType:
      - pullRequest
      - push
2020.2 build:
  stage: 构建发布包 # 本阶段执行两个步骤,一是执行项目源代码编译,二是进行镜像的构建
  plugin: ANT-BUILD # 选用ANT-BUILD插件来驱动镜像构建
  only:
    triggerType:
      - tagPush
  pluginConfig:
    image: reg.docker.alibaba-inc.com/kusion/idea-plugin-builder:gradle6.9.0-jdk8-idea2020.2
    script:
      - cd ${LINKB_WORKSPACE}
      - export PLUGIN_VERSION=${ACI_COMMIT_REF_NAME}
      - export JDK_VERSION=8
      - export IDEA_PLATFORM_VERSION="2020.2"
      - ./gradlew buildPlugin
      - ./Scripts/ossutil64 cp ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip oss://antsys-kusion-dev/KCL_IDE/IntelliJ-IDEA/2020-2/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip --endpoint=http://cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com --access-key-id=${ACI_VAR_kusion_oss_ak} --access-key-secret=${ACI_VAR_kusion_oss_sk}
    outputs: # 纳入构建物列表
      - name: "kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2020.2.zip"
        desc: "KCL IDEA Plugin for IDEA 2020.2"
        paths: [ "./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip" ]

2020.3 & 2021.1 & 2021.2 & 2021.3 & 2022.1:
  stage: 构建发布包
  plugin: ANT-BUILD
  only:
    triggerType:
      - tagPush
  pluginConfig:
    image: reg.docker.alibaba-inc.com/kusion/idea-plugin-builder:gradle6.9.0-jdk11-idea
    script:
      - cd ${LINKB_WORKSPACE}
      - export PLUGIN_VERSION=${ACI_COMMIT_REF_NAME}
      - export JDK_VERSION=11 && export IDEA_PLATFORM_VERSION="2020.3" && ./gradlew buildPlugin && mv ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2020.3.zip
      - export JDK_VERSION=11 && export IDEA_PLATFORM_VERSION="2021.1" && ./gradlew buildPlugin && mv ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.1.zip
      - export JDK_VERSION=11 && export IDEA_PLATFORM_VERSION="2021.2" && ./gradlew buildPlugin && mv ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.2.zip
      - export JDK_VERSION=11 && export IDEA_PLATFORM_VERSION="2021.3" && ./gradlew buildPlugin && mv ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.3.zip
      - export JDK_VERSION=11 && export IDEA_PLATFORM_VERSION="2022.1" && ./gradlew buildPlugin && mv ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2022.1.zip
      - ./Scripts/ossutil64 cp ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2020.3.zip oss://antsys-kusion-dev/KCL_IDE/IntelliJ-IDEA/2020-3/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip --endpoint=http://cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com --access-key-id=${ACI_VAR_kusion_oss_ak} --access-key-secret=${ACI_VAR_kusion_oss_sk}
      - ./Scripts/ossutil64 cp ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.1.zip oss://antsys-kusion-dev/KCL_IDE/IntelliJ-IDEA/2021-1/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip --endpoint=http://cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com --access-key-id=${ACI_VAR_kusion_oss_ak} --access-key-secret=${ACI_VAR_kusion_oss_sk}
      - ./Scripts/ossutil64 cp ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.2.zip oss://antsys-kusion-dev/KCL_IDE/IntelliJ-IDEA/2021-2/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip --endpoint=http://cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com --access-key-id=${ACI_VAR_kusion_oss_ak} --access-key-secret=${ACI_VAR_kusion_oss_sk}
      - ./Scripts/ossutil64 cp ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.3.zip oss://antsys-kusion-dev/KCL_IDE/IntelliJ-IDEA/2021-3/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip --endpoint=http://cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com --access-key-id=${ACI_VAR_kusion_oss_ak} --access-key-secret=${ACI_VAR_kusion_oss_sk}
      - ./Scripts/ossutil64 cp ./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2022.1.zip oss://antsys-kusion-dev/KCL_IDE/IntelliJ-IDEA/2022-1/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}.zip --endpoint=http://cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com --access-key-id=${ACI_VAR_kusion_oss_ak} --access-key-secret=${ACI_VAR_kusion_oss_sk}
    outputs: # 纳入构建物列表
      - name: "kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2020.3.zip"
        desc: "KCL IDEA Plugin for IDEA 2020.3"
        paths: [ "./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2020.3.zip" ]
      - name: "kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.1.zip"
        desc: "KCL IDEA Plugin for IDEA 2021.1"
        paths: [ "./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.1.zip" ]
      - name: "kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.2.zip"
        desc: "KCL IDEA Plugin for IDEA 2021.2"
        paths: [ "./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.2.zip" ]
      - name: "kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.3.zip"
        desc: "KCL IDEA Plugin for IDEA 2021.3"
        paths: [ "./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2021.3.zip" ]
      - name: "kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2022.1.zip"
        desc: "KCL IDEA Plugin for IDEA 2022.1"
        paths: [ "./build/distributions/kcl-idea-plugin-${ACI_COMMIT_REF_NAME}-2022.1.zip" ]

notifications:
  dingding监听消息:
    type: DINGTALK
    level: PIPELINE
    when: ALWAYS
    channels:
      - https://oapi.dingtalk.com/robot/send?access_token=5d2b5c42f363ff9f6bc008fc25d6b54c0a3e1fd828c535d0a2553bc9f6362034

[Feature] Deploy to IntelliJ marketplace

Feature Request

Describe the feature you'd like:

I would like to be able to install this plugin through the intellij marketplace

Describe alternatives you've considered:

Right now you have to manually download the plugin and install the plugin from disk.

Teachability, Documentation, Adoption, Migration Strategy:

This greatly reduces the barrier for entry to use KCL in intellij. You wouldn't need to look for this github project. All you'd have to do is go to the plugin marketplace and look for KCL.

Also, the whole part about manual installation on the README page could be relegated to a separate markdown file, reducing the clutter in the main README, so that it could be focused on building and contributing to the project.

[Feature] Kcl Plugin is not compatible with latest GoLand

I upgrade my GoLand to latest version, and it raises this error

Plugin 'KCL' (version '0.1.15') is not compatible with the current version of the IDE, because it requires build 231 or older but the current build is GO-233.14015.113

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)

3. What did you see instead (Required)

4. What is your KCL components version? (Required)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.