mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2025-12-05 06:11:52 +00:00
4.5 KiB
4.5 KiB
Here is a tailored example of the IntelliJ Platform Plugin Template project setup, including a separate nanoswarm configuration fragment that respects your nanoswarm-separation requirement:
1. IntelliJ Plugin Project Setup (Template Base)
- Create your plugin repo from JetBrains' official IntelliJ Platform Plugin Template on GitHub.
- Set the JVM SDK to Java 17 or later.
- Basic project files and structure auto-generated, including
plugin.xml.
2. Separate .aananoswarm Configuration (Nanoswarm Separation)
Create a separated nanoswarm configuration file named nanoswarm-config.aananoswarm at the root (or resources):
[general]
name = My IntelliJ Plugin
version = 1.0.0
description = "An IntelliJ plugin with separated nanoswarm assistance"
[security]
quantum_safeguard = true
encryption = AES-256-GCM
auth_method = OAuth2
[compliance]
gdpr = enabled
soc2 = enabled
[nanoswarm]
enabled = false
description = "Nanoswarm assistance is disabled for plugin. Only swarmnet integrates nanoswarm components."
[logging]
log_path = logs/plugin.log
audit = true
- This config explicitly disables direct nanoswarm integration except via swarmnet.
- Nanoswarm is utilized only for build speed assistance (e.g., CI/CD helpers) without runtime inclusion in plugin code.
3. GitHub Actions Workflow with Nanoswarm Build Assistance
Create .github/workflows/build.yml:
name: Build and Publish Plugin
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
- name: Setup Nanoswarm Assistance
run: |
echo "Nanoswarm assistance for build:"
# Commands to invoke nanoswarm build acceleration helpers
# No integration with plugin runtime
- name: Build Plugin
run: ./gradlew buildPlugin
- name: Publish Plugin
if: github.ref == 'refs/heads/main'
run: ./gradlew publishPlugin
env:
IDEA_PLUGIN_SIGNING_CERTIFICATE_CHAIN: ${{ secrets.IDEA_PLUGIN_SIGNING_CERTIFICATE_CHAIN }}
IDEA_PLUGIN_SIGNING_PRIVATE_KEY: ${{ secrets.IDEA_PLUGIN_SIGNING_PRIVATE_KEY }}
IDEA_PLUGIN_SIGNING_PASSWORD: ${{ secrets.IDEA_PLUGIN_SIGNING_PASSWORD }}
Setup Nanoswarm Assistancestep runs nanoswarm helpers for speeding CI builds only.- Plugin code remains free of nanoswarm runtime stuff; separation is enforced.
Summary
This setup keeps nanoswarm logic strictly isolated to build and CI environments, aligning with the nanoswarm-separation directive. Only the swarmnet component (not this plugin) incorporates nanoswarm at runtime. You get advanced security, compliance, and build acceleration without mixing nanoswarm into the plugin itself.