Diffinery

codician/diffinerypublic

Open-source, agent-first GitHub and GitHub Actions alternative that runs on your own Cloudflare account: git hosting, pull requests, code review and drop-in GitHub Actions YAML on Workers, Durable Objects, R2 and Containers.

34 lines · 2.0 KBRaw History
1# Publishing to the JetBrains Marketplace
2
3Not done yet: for now the plugin is served only from diffinery.com (`/-/jetbrains/updatePlugins.xml`, see
4[README.md](README.md)). These are the steps for when Diffinery goes public.
5
6## Before the first upload
7
81. Add a `LICENSE` file; the Marketplace asks for a license and shows it.
92. Create a vendor profile for Diffinery at https://plugins.jetbrains.com (an organization, so more than one person
10 can upload), and a permanent token under **My Tokens** for uploads from the command line.
113. Upload the first version by hand (**Upload plugin** on the Marketplace), choosing the license and the
12 categories (Version Controls). The plugin id `com.diffinery` is what the server's plugin repository and the
13 docs use, so keep it. JetBrains reviews the first upload, which takes a few working days.
144. People who installed from diffinery.com's plugin repository get Marketplace updates too (the IDE takes the highest
15 version from any repository), so keep the two on the same version.
16
17## Listing
18
19| Field | Value |
20| --- | --- |
21| Name | Diffinery (`<name>` in `plugin.xml`) |
22| Description | `<description>` in `src/main/resources/META-INF/plugin.xml` |
23| Icon | `src/main/resources/META-INF/pluginIcon.svg` and `pluginIcon_dark.svg` |
24| Change notes | `CHANGELOG.md` (add `changeNotes` to `pluginConfiguration` in `build.gradle.kts` to show it) |
25| Compatibility | `since-build` 243 (2024.3), no upper bound; the Marketplace runs the Plugin Verifier on each upload |
26| Screenshots | `apps/diffinery/docs/images/jetbrains-*.webp` (taken by `jetbrains-smoke.mjs` with `DOCS=1`) |
27
28## Each release
29
301. Release as in [README.md](README.md#release).
312. `./gradlew publishPlugin` with the token in `ORG_GRADLE_PROJECT_intellijPlatformPublishingToken` (set
32 `intellijPlatform { publishing { token = providers.gradleProperty("intellijPlatformPublishingToken") } }` first),
33 or upload `dist/diffinery-jetbrains-<version>.zip` on the plugin's Marketplace page.
343. Deploying Diffinery keeps diffinery.com's plugin repository on the same version.