Commit graph

87 commits

Author SHA1 Message Date
62f3230456
ipc: check for PID liveness via libc:kill
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I961c138cf8341bad6a27c450706de11d6a6a6964
2026-05-03 03:44:50 +03:00
614d76fd74
docs: clean up project README
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4033cccdf099208243e47ffd00b7e2416a6a6964
2026-05-03 03:44:49 +03:00
7ed425683d
cli: flush credential verification prompts
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Icbca98ba56bc30e85d0f3972af616ca96a6a6964
2026-05-03 03:44:48 +03:00
bfe97e9e66
cli: report missing CurseForge credentials during add
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0c8d1f20828e88a8fbc737db5a89f5d46a6a6964
2026-05-03 03:44:47 +03:00
e7c6da593d
cli: prompt for missing CurseForge credentials on add
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id0bbdc9ed62bc8b9582ccb89158e53786a6a6964
2026-05-03 03:44:46 +03:00
d2d6b7c421
cli: make credentials test interactive; add credentials test command
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia87db118ca58c66841265f34253b08ed6a6a6964
2026-05-03 03:44:45 +03:00
d824da52df
model/credentials: support legacy env vars; support .env-style credential files
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I231c5f28d7313ed44c252aaedab2becc6a6a6964
2026-05-03 03:44:44 +03:00
65ac620831
platform: improve multiplatform resolution and CurseForge search
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia32a968e1b048ed396ba0f61df30bb616a6a6964
2026-05-03 03:44:43 +03:00
a84a654841
cli: use credentials manager for pakker add
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4cc0075949f12672b4a68f355ca548a96a6a6964
2026-05-03 03:44:42 +03:00
5c5b37b70d
platform: handle platform API responses
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iedf8e6d6ecf80a42c24a000f6c787ff56a6a6964
2026-05-03 03:44:41 +03:00
5832b0cd01
chore: tag 1.0.1
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4992cfc0f5778c7fde25b055502665bb6a6a6964
2026-05-01 20:39:51 +03:00
e1720778ab
cli: use multiplatform client for project adds
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8059a38fab1a587e4564998f332ce7766a6a6964
2026-05-01 20:29:48 +03:00
019a1b7752
platform: ignore config errors in multiplatform lookup
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If1dbcb7967510e17f1d49228106067536a6a6964
2026-05-01 20:29:47 +03:00
754927c55a
cli: add a progress spinner to pakker fork init
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id40f83862483f20e569cbd27d38143f96a6a6964
2026-05-01 20:29:46 +03:00
4f7ff1c2ec
build: bump dependencies
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7547f591bf42561605f97fe3c1925c5e6a6a6964
2026-05-01 20:29:45 +03:00
0fcb0d3e76
chore: tag 1.0.0
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4cdbb718508af5f4b03ce2d1643bb98b6a6a6964
2026-04-24 02:19:30 +03:00
1079635cb9
various: resolve multi-platform lookup; improve error messages
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iec6ee73639d0b42c96127db657575ab86a6a6964
2026-04-22 16:43:42 +03:00
0f8719eb52
various: fix clippy format string lints
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9fbd637711f7e90de9170f4db46fee806a6a6964
2026-04-22 16:43:41 +03:00
dc4c00ac4a
export: make project file download failures non-fatal
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I33ac734179c7346151e6089d4fc715916a6a6964
2026-04-22 16:43:40 +03:00
86b598b431
ipc: support pakker.json; fall back to dir-path hash when parentLockHash absent
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I48d58165d306901dfaeb233310ae93846a6a6964
2026-04-22 16:43:39 +03:00
45d5f7e99b
fork: implement promote, sync diff, exclude/include, and merge with excludes
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2d10e3f970784e84192cbca10caffe296a6a6964
2026-04-22 16:43:38 +03:00
c9cfb4b19a
git: fix branch ref resolution on freshly cloned repos
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If86d77d645f3cb3f5af93b63030db7cb6a6a6964
2026-04-22 16:43:37 +03:00
3faf4d3ca8
lockfile: add pakku v0 compatibility and ProjectFile serde defaults
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I48a03feeb6bb2e640b41a85ba3e0e3296a6a6964
2026-04-22 16:43:32 +03:00
a642b976e9
chore: add missing manifest fields to Cargo manifest
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I31ce255cf7241f61600c0384bb703f966a6a6964
2026-04-21 19:27:37 +03:00
61ced09d25
treewide: fix clippy lints
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I411be69ff31f9cb39cd4cdebc8985b366a6a6964
2026-04-21 19:27:36 +03:00
b93b234fc2
build: enforce stricter Clippy lint rules; optimize release profile
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9077be96783370a26902f46f62afa2826a6a6964
2026-04-21 19:27:35 +03:00
ace9bcac8a
various: fix auto-fixable clippy lints
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I523cd8163d3995efa2f1e8475bbf87316a6a6964
2026-04-21 19:27:34 +03:00
8b2140c057
build: bump all dependencies and set MSRV to 1.94; fix build failures
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7d331410864358d30191781d1e6c23f46a6a6964
2026-04-21 19:27:33 +03:00
020514cd7a
nix: bump nixpkgs
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7909d4e7d665517c5cebcc4f7906d1f76a6a6964
2026-04-21 19:27:32 +03:00
20ea3c680b
platform: add rustdoc to various methods
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic4d2bd6f3baf97ce30dbf8709331f6f66a6a6964
2026-04-21 19:27:31 +03:00
e19df15ae5
flexver: fix ASCII value for '.' in comment
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib48589583e34742da5ca7d173ac0f0756a6a6964
2026-04-21 19:27:30 +03:00
838ba82790
sync: batch file identification via hash lookup
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I85d3f1265cad1996340ac98ac9ee1f7e6a6a6964
2026-04-21 19:27:29 +03:00
0048a1cd73
fetch: add retry support for downloads
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5920652b1f84cd8d03e3f8c9d17e5aa76a6a6964
2026-04-21 19:27:28 +03:00
c0c9d741c1
model/project: add Project::merged for pure combining
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Idf955432e57d87352dffa961e145fcb76a6a6964
2026-04-21 19:27:27 +03:00
5772200da9
platform/multiplatform: add multiplatform client with cross-ref
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie2cf48136e5a9017265a3b0ef26619356a6a6964
2026-04-21 19:27:26 +03:00
a8bf8f9f3f
utils/flexver: handle i64 overflow gracefully
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I66386d97f92744a5c07c04b072bc1a626a6a6964
2026-04-21 19:27:25 +03:00
530ba8b581
build: drop redundant symlink script
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If819a647c6c3ab15eb553967de9bd7fc6a6a6964
2026-04-21 19:27:24 +03:00
2c4058b54a
commands/update: use flexver for version sorting
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4e1cd3247e74247cbde65391510bd3586a6a6964
2026-04-21 19:27:23 +03:00
af3cdbf343
fetch: use flexver for file selection
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia01283a5665ac9497858821f13a7751d6a6a6964
2026-04-21 19:27:22 +03:00
66317d98de
model/enums: add flexver variant to UpdateStrategy
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8c82af278d54ed4730e808087fa19e846a6a6964
2026-04-21 19:27:21 +03:00
1c08e00ccf
utils/flexver: add flexver comparator
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I79b8d3745a8754619f810de1bac8b66f6a6a6964
2026-04-21 19:27:17 +03:00
83343bc3dd
utils: reorganize module structure
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5b51e349ea67e27170e3a3ebe6b1d3fe6a6a6964
2026-03-03 23:35:15 +03:00
f2af2fbbe4
cli/commands: update all commands to use global_yes parameter
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4d95a425f2bed75aed1b5233adf1a3646a6a6964
2026-03-03 23:35:14 +03:00
a89184a358
model: add file_count_preference for multi-file selection support
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia27c829dbcc21a7fcfc8e6f67f9e33276a6a6964
2026-03-03 23:35:13 +03:00
8478c914b5
model/lockfile: update tests to use get_project
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2163215bc069431e3d6d53c9c14dd15c6a6a6964
2026-03-03 23:35:13 +03:00
0b5882b1e1
cli/commands: use create_all_platforms to reduce duplication in update cmd
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I00d3029de7c13a57cefb1b6eaae9f1606a6a6964
2026-03-03 23:35:12 +03:00
f4287de795
treewide: remove dead code
Also deletes some dead_code annotations from functions that are
*actually used*.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic815cacc93c464078ead1674e7523d8b6a6a6964
2026-03-03 23:35:11 +03:00
b0a594e892
cli: fix global -y flag conflicts in add-prj` and sync commands
`AddPrjArgs` had a local `-y` flag that conflicted with the global flag,
causing runtime panics. Removed the local field and updated callers to
use `global_yes` consistently.

The sync command now respects the global `-y` flag by accepting, you
guessed it, the `global_yes` parameter.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7b7c42fabbca0e363bd18a1d8b6b3bb76a6a6964
2026-03-03 23:35:10 +03:00
d4938c4ae8
model/project: simplify file selection sorting logic
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0acf8e690157f1926a2658165592199d6a6a6964
2026-03-03 23:35:09 +03:00
0fecd1486b
model/lockfile. one less clone!
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8dbfc511fc07273a69953b03404efc656a6a6964
2026-03-03 23:35:08 +03:00