| name: Build VS CODE Extension |
| |
| on: |
| push: |
| branches: [ main ] |
| workflow_dispatch: |
| pull_request: |
| branches: [ main ] |
| |
| jobs: |
| build: |
| |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v2 |
| |
| # Generate Karavan UI model and API, Kamelets and Components |
| - name: Set up JDK 11 |
| uses: actions/setup-java@v1 |
| with: |
| java-version: 11 |
| |
| - name: Cache local Maven repository |
| uses: actions/cache@v2 |
| with: |
| path: | |
| ~/.m2/repository |
| !~/.m2/repository/org/apache/camel/karavan |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} |
| restore-keys: ${{ runner.os }}-maven- |
| |
| - name: Generate Karavan UI model and API, Kamelets and Components |
| run: | |
| mvn clean compile exec:java -f karavan-generator \ |
| -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" |
| |
| # Building Karavan Core |
| - name: Set up Node |
| uses: actions/setup-node@v2 |
| with: |
| node-version: '16' |
| |
| - name: Karavan Core install |
| working-directory: ./karavan-core |
| run: npm install && npm pack |
| |
| # Building Karavan VSCode extensions |
| - name: Karavan VS Code extension (install dependencies) |
| working-directory: ./karavan-vscode |
| run: npm update && npm install |
| |
| # - name: Karavan VS Code extension (build) |
| # working-directory: ./karavan-vscode |
| # run: npm run package |
| |
| - name: Karavan VS Code extension (install vsce) |
| working-directory: ./karavan-vscode |
| run: npm install -g vsce |
| |
| - name: Karavan VS Code extension (package) |
| working-directory: ./karavan-vscode |
| run: vsce package |
| |
| - name: Karavan VS Code extension (upload) |
| uses: actions/upload-artifact@v2 |
| with: |
| name: camel-karavan-vscode.vsix |
| path: ./karavan-vscode/*.vsix |
| if: ${{ github.ref == 'refs/heads/main' }} |