Skip to content

Releases: juraj-hrivnak/Pakku

v0.18.2

25 Sep 10:42
Compare
Choose a tag to compare
  • Fixed error when GitHub license URL is null.

v0.18.1

25 Sep 09:54
Compare
Choose a tag to compare
  • Fixed tag parsing in GitHub project arguments.

v0.18.0

24 Sep 17:17
Compare
Choose a tag to compare

Highlights

Pakku now fully supports GitHub.

Adding GitHub projects

GitHub repositories with releases can be added as projects.
To add a GitHub project, run pakku add {owner}/{repo} or pakku add https://github.com/{owner}/{repo}.

You can also use the prj subcommand: pakku add prj --gh {owner}/{repo} or pakku add prj --gh https://github.com/{owner}/{repo}

Combining projects is also possible: pakku add prj --mr greenery --gh juraj-hrivnak/Greenery

To add a specific version (tag) of a GitHub project, run pakku add {owner}/{repo}@{tag}, pakku add https://github.com/{owner}/{repo}/releases/tag/{tag} or pakku add https://github.com/{owner}/{repo}/tree/{tag}.

Updating

GitHub projects can be updated using the pakku update command.
They are also recognized in other commands as expected.

Exporting

For CurseForge, GitHub projects are added to the overrides.
For Modrinth, GitHub projects are added to the modrinth.index.json also with generated sha512 and sha1 hashes.

The project side of GitHub projects defaults to BOTH. If you need to change this, do so in pakku.json.
Pakku determines whether the GitHub project is redistributable based on its licence's spdx code. No licence means ARR.

UI

GitHub projects are displayed in the format: gh={owner}/{repo}

gh_support

Other Changes

  • Project types can now be overridden in the config file (pakku.json).
  • Deprecated set command's -s, --side and -r, --redistributable options. Use the config file (pakku.json) instead.

Technical Notes

  • Many functions now support IProjectProviders instead of Platforms only.
  • The lock file is now sorted by project names instead of slugs.
  • Implemented the ProjectArg monad to better handle project additions.
    • Its fold() function can be used to map the possible arg types:
      arg.fold(
          commonArg = { },
          gitHubArg = { }
      )
  • Integrity checking will now allow projects without hashes (GitHub) and will warn the user instead.

v0.17.1

10 Sep 15:56
Compare
Choose a tag to compare
  • Fixed add command not being invoked without a subcommand. (#22)
  • Updated to the latest snapshot of the Clikt library.
  • Added red color to platform names in slugs when files are missing.

v0.17.0

04 Sep 19:12
Compare
Choose a tag to compare
  • Added the prj subcommand for the add command.
    • With this subcommand you can specify the project you want to add precisely, using the --cf and/or --mr options.
    • This subcommand can be used multiple times.
    • Example usage: pakku add prj --mr iris --cf irisshaders
    • Note that the add command functionality remains the same.
  • Added descriptions to command arguments.

v0.16.0

30 Aug 10:00
Compare
Choose a tag to compare
  • When adding projects, slugs are now more robustly resolved.
    • Project additions are now stricter. Pakku now doesn't allow you to add projects without any files.
    • Fixed #15.
  • Added backup handling when writing to files. When an error occurs during writing to a file a backup is restored.
  • Pakku now shows you the project type alongside the slugs in all messages.

v0.15.1

26 Aug 15:25
Compare
Choose a tag to compare
  • Fixed modpack @var@ replacements not working.
  • URLs in FileDirector's config are now encoded. This is a workaround for FileDirector#19.

v0.15.0

26 Aug 13:38
Compare
Choose a tag to compare
  • Refactored deleting old files in fetch command. (Improved performance.)
  • The status command now also shows you the Minecraft version, loaders and author.
  • Removed cache4k dependency.

v0.14.3

11 Aug 11:57
Compare
Choose a tag to compare
  • Fixed that resource and shader packs were exported to the server pack when their project side was missing.

v0.14.2

08 Aug 10:35
Compare
Choose a tag to compare
  • Fixed typo in the export command output path.