Initial release: HSCompare v1.0.2 - WoW-style equipment comparison tooltips
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+135
@@ -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 Dalamud’s 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.
|
||||
Reference in New Issue
Block a user