Initial release: HSCompare v1.0.2 - WoW-style equipment comparison tooltips

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Dawnsorrow
2026-02-15 23:37:05 -06:00
commit c87c3ba8f8
14 changed files with 926 additions and 0 deletions
+135
View File
@@ -0,0 +1,135 @@
# Publishing HSCompare to Your Gitea & Dalamud Installer
This guide covers pushing the plugin to your self-hosted Gitea and making it installable via Dalamuds plugin installer (custom repository).
---
## 1. Set Your Repo URL (optional but recommended)
Edit `HSCompare/HSCompare.json` and set `RepoUrl` to your Gitea repo (e.g. `https://gitea.example.com/yourname/HSCompare`).
This is used in the installer and in the plugin master.
---
## 2. Push the Project to Gitea
1. **Create a new repository** on your Gitea instance (e.g. `HSCompare`).
2. **Initialize git** in the plugin folder (if not already):
```bash
cd "/path/to/HSCompare"
git init
git add .
git commit -m "Initial commit"
```
3. **Add the Gitea remote and push**:
```bash
git remote add origin https://gitea.example.com/yourname/HSCompare.git
git branch -M main
git push -u origin main
```
---
## 3. Build the Release Zip
From the plugin solution directory:
```bash
cd "/path/to/HSCompare"
dotnet build -c Release
```
The installer-ready zip is produced at:
- **Path:** `HSCompare/bin/Release/HSCompare/latest.zip`
- **Contents:** `HSCompare.dll`, `HSCompare.json`, and any deps the SDK includes.
Use this file for every release (e.g. rename to `HSCompare-1.0.2.zip` or keep as `latest.zip`).
---
## 4. Publish a Release on Gitea
1. In your Gitea repo, open **Releases** → **Create new release**.
2. **Tag:** e.g. `v1.0.2` (match your plugin version).
3. **Title:** e.g. `v1.0.2` or “HSCompare 1.0.2”.
4. **Attach the zip:** upload `HSCompare/bin/Release/HSCompare/latest.zip`.
5. Save the release.
**Download URL** will look like:
```text
https://gitea.example.com/yourname/HSCompare/releases/download/v1.0.2/latest.zip
```
(Replace `gitea.example.com`, `yourname`, tag and filename if you use another tag or filename.)
---
## 5. Host the Plugin Master (so Dalamud can see it)
The installer needs a **single JSON file** (plugin master) that lists your plugin and points to the zip.
1. In the repo root there is a **`pluginmaster.json`** file (see below).
2. **Edit it** once per release:
- Set `DownloadLinkInstall` and `DownloadLinkUpdate` to the **release zip URL** from step 4.
- Set `LastUpdate` to the current **Unix timestamp** (e.g. `date +%s` on Linux/Mac).
- Optionally set `AssemblyVersion` (and `TestingAssemblyVersion` if you have a testing build).
3. Commit and push `pluginmaster.json`:
```bash
git add pluginmaster.json
git commit -m "Update pluginmaster for v1.0.2"
git push
```
**Raw URL** to the file (for Dalamud) will be something like:
```text
https://gitea.example.com/yourname/HSCompare/raw/branch/main/pluginmaster.json
```
Use `main` or the branch where you store `pluginmaster.json`.
---
## 6. Add the Custom Repo in Dalamud
1. In-game, run **`/xlsettings`** (or open Dalamud settings).
2. Open the **Experimental** tab.
3. Under **Custom Plugin Repositories**, click **Add**.
4. Paste the **raw plugin master URL** from step 5, e.g.:
```text
https://gitea.example.com/yourname/HSCompare/raw/main/pluginmaster.json
```
5. Save. Your repo will be in the list.
After that, **HSCompare** should appear in the plugin installer (search or list). Users can install and update from this repo as long as you keep `pluginmaster.json` and the release zip URL correct.
---
## 7. When You Release a New Version
1. Bump **version** in `HSCompare/HSCompare.csproj` (e.g. `<Version>1.0.3</Version>`).
2. Update **CHANGELOG.md**.
3. **Build:** `dotnet build -c Release`
4. Create a **new Gitea release** (e.g. tag `v1.0.3`) and attach the new `latest.zip` from `HSCompare/bin/Release/HSCompare/`.
5. In **`pluginmaster.json`** update:
- `DownloadLinkInstall` and `DownloadLinkUpdate` → new zip URL.
- `AssemblyVersion` → e.g. `1.0.3.0`.
- `LastUpdate` → current Unix timestamp.
6. Commit and push the updated `pluginmaster.json`.
Users who have your repo added will see the update in the installer.
---
## Summary
| What | Where |
|------|--------|
| Source code | Your Gitea repo (e.g. `HSCompare`) |
| Release zip | Gitea Release attachment (e.g. `latest.zip`) |
| Plugin list for installer | `pluginmaster.json` in repo, served via raw URL |
| Custom repo URL (in Dalamud) | Raw URL to `pluginmaster.json` |
If your Gitea uses a different URL shape for releases or raw files, adjust the URLs in `pluginmaster.json` and in this guide to match.