rename: cloud-installer → cloud-sync
'installer' implied one-way install (matching packwiz-installer); this tool is bidirectional sync (pull on launch, push on exit). Aligns with the existing automc <scope>-<role> pattern: cloud-svc ↔ cloud-sync, matching mc-router, mc-wrapper, gate-waker. Gitea repo renamed via API (id 2974 preserved); jar filename now cloud-sync-<version>.jar. Build verified post-rename.
This commit is contained in:
@@ -26,8 +26,8 @@ jobs:
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cloud-installer-jar
|
||||
path: build/libs/cloud-installer-*.jar
|
||||
name: cloud-sync-jar
|
||||
path: build/libs/cloud-sync-*.jar
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: cloud-installer-jar
|
||||
name: cloud-sync-jar
|
||||
path: build/libs/
|
||||
|
||||
- name: Publish release
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
-d "{\"tag_name\":\"${tag}\",\"name\":\"${tag}\",\"draft\":false,\"prerelease\":false}" \
|
||||
"${GITEA_SERVER_URL}/api/v1/repos/${{ gitea.event.repository.full_name }}/releases" > /tmp/release.json
|
||||
release_id=$(jq -r .id /tmp/release.json)
|
||||
for jar in build/libs/cloud-installer-*.jar; do
|
||||
for jar in build/libs/cloud-sync-*.jar; do
|
||||
curl -sS -X POST \
|
||||
-H "Authorization: token ${gh_token}" \
|
||||
-F "attachment=@${jar}" \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# cloud-installer
|
||||
# cloud-sync
|
||||
|
||||
Single-jar Kotlin client for [`cloud-svc`](https://git.timemachine.center/Timemachine/cloud-svc). Drops into Prism / MMC / ATLauncher / frazclient pre-launch + post-exit hooks alongside [`packwiz-installer-bootstrap`](https://github.com/packwiz/packwiz-installer-bootstrap). One tool, all launchers, no Python dependency on the client side.
|
||||
|
||||
@@ -12,12 +12,12 @@ In Prism's instance settings → Custom commands:
|
||||
|
||||
```
|
||||
Pre-launch command:
|
||||
"$INST_JAVA" -jar /path/to/cloud-installer.jar pull \
|
||||
"$INST_JAVA" -jar /path/to/cloud-sync.jar pull \
|
||||
--url=https://cloud.timemachine.center \
|
||||
--pack-folder=$INST_MC_DIR
|
||||
|
||||
Post-exit command:
|
||||
"$INST_JAVA" -jar /path/to/cloud-installer.jar push \
|
||||
"$INST_JAVA" -jar /path/to/cloud-sync.jar push \
|
||||
--url=https://cloud.timemachine.center \
|
||||
--pack-folder=$INST_MC_DIR
|
||||
```
|
||||
@@ -27,7 +27,7 @@ Token comes from `$INST_MC_DIR/.cloud-token` (paste once from your Discord-bot D
|
||||
## CLI
|
||||
|
||||
```
|
||||
java -jar cloud-installer.jar <subcommand> [flags]
|
||||
java -jar cloud-sync.jar <subcommand> [flags]
|
||||
|
||||
Subcommands:
|
||||
pull Fetch user's cloud state, apply conflict resolution, write to instance.
|
||||
@@ -52,7 +52,7 @@ podman run --rm -v "$PWD":/work:Z -w /work docker.io/gradle:8.10.2-jdk21 \
|
||||
gradle --no-daemon shadowJar
|
||||
```
|
||||
|
||||
Output: `build/libs/cloud-installer-<version>.jar`. Single fat jar; ship as-is.
|
||||
Output: `build/libs/cloud-sync-<version>.jar`. Single fat jar; ship as-is.
|
||||
|
||||
For local development with a matching JDK installed:
|
||||
|
||||
@@ -71,10 +71,10 @@ Conflict resolution dialog: per-file [keep local | use remote | skip] radio butt
|
||||
| Tool | What it owns |
|
||||
|---|---|
|
||||
| **packwiz-installer-bootstrap** | Mod sync — jars, configs shipped by the modpack, options.txt baseline |
|
||||
| **cloud-installer** (this) | Per-user sync — player-modified configs, JourneyMap waypoints, screenshots |
|
||||
| **cloud-sync** (this) | Per-user sync — player-modified configs, JourneyMap waypoints, screenshots |
|
||||
| **frazclient** | Cracked-launcher orchestration — JDK, vanilla MC, Fabric, then invokes both jars |
|
||||
|
||||
cloud-installer and packwiz-installer-bootstrap are deliberately **separate jars** so players can disable cloud sync without affecting modpack sync (or vice versa) by just commenting out the line in Prism's hook config.
|
||||
cloud-sync and packwiz-installer-bootstrap are deliberately **separate jars** so players can disable cloud sync without affecting modpack sync (or vice versa) by just commenting out the line in Prism's hook config.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ tasks.test {
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
archiveBaseName.set("cloud-installer")
|
||||
archiveBaseName.set("cloud-sync")
|
||||
archiveClassifier.set("")
|
||||
archiveVersion.set(project.version.toString())
|
||||
mergeServiceFiles()
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
rootProject.name = "cloud-installer"
|
||||
rootProject.name = "cloud-sync"
|
||||
|
||||
@@ -7,13 +7,13 @@ package center.timemachine.cloud
|
||||
*/
|
||||
object Cli {
|
||||
fun runPull(args: Array<String>): Int {
|
||||
println("cloud-installer pull: ${args.joinToString(" ")}")
|
||||
println("cloud-sync pull: ${args.joinToString(" ")}")
|
||||
println("(not yet implemented; skeleton commit only)")
|
||||
return 0
|
||||
}
|
||||
|
||||
fun runPush(args: Array<String>): Int {
|
||||
println("cloud-installer push: ${args.joinToString(" ")}")
|
||||
println("cloud-sync push: ${args.joinToString(" ")}")
|
||||
println("(not yet implemented; skeleton commit only)")
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@ import com.formdev.flatlaf.themes.FlatMacDarkLaf
|
||||
import javax.swing.UIManager
|
||||
|
||||
/**
|
||||
* cloud-installer entrypoint.
|
||||
* cloud-sync entrypoint.
|
||||
*
|
||||
* Invoked twice in the launcher hooks:
|
||||
* PreLaunch: java -jar cloud-installer.jar pull --url=... --pack-folder=...
|
||||
* PostExit: java -jar cloud-installer.jar push --url=... --pack-folder=...
|
||||
* PreLaunch: java -jar cloud-sync.jar pull --url=... --pack-folder=...
|
||||
* PostExit: java -jar cloud-sync.jar push --url=... --pack-folder=...
|
||||
*
|
||||
* Exit codes:
|
||||
* 0 ok
|
||||
@@ -21,7 +21,7 @@ fun main(args: Array<String>) {
|
||||
return
|
||||
}
|
||||
if (args[0] in listOf("--version", "-V")) {
|
||||
println("cloud-installer 0.1.0")
|
||||
println("cloud-sync 0.1.0")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -50,10 +50,10 @@ fun main(args: Array<String>) {
|
||||
|
||||
private fun printHelp() {
|
||||
println("""
|
||||
cloud-installer — per-user state sync for Minecraft clients
|
||||
cloud-sync — per-user state sync for Minecraft clients
|
||||
|
||||
Usage:
|
||||
java -jar cloud-installer.jar <subcommand> [flags]
|
||||
java -jar cloud-sync.jar <subcommand> [flags]
|
||||
|
||||
Subcommands:
|
||||
pull Fetch user's cloud state, apply conflict resolution, write to instance.
|
||||
|
||||
Reference in New Issue
Block a user