{"id":18556385,"url":"https://github.com/splitties/libpublishinghelpers","last_synced_at":"2026-01-11T16:55:55.241Z","repository":{"id":57726308,"uuid":"266441876","full_name":"Splitties/LibPublishingHelpers","owner":"Splitties","description":"Tools for semi-auto library publishing (and other chores). Designed for Kotlin scripts.","archived":false,"fork":false,"pushed_at":"2023-11-21T21:38:37.000Z","size":226,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T13:51:20.190Z","etag":null,"topics":["kotlin","kotlin-library","kotlin-script"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Splitties.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-24T00:19:56.000Z","updated_at":"2023-11-10T22:05:15.000Z","dependencies_parsed_at":"2023-11-21T22:42:48.766Z","dependency_job_id":null,"html_url":"https://github.com/Splitties/LibPublishingHelpers","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/Splitties/LibPublishingHelpers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splitties%2FLibPublishingHelpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splitties%2FLibPublishingHelpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splitties%2FLibPublishingHelpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splitties%2FLibPublishingHelpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Splitties","download_url":"https://codeload.github.com/Splitties/LibPublishingHelpers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splitties%2FLibPublishingHelpers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261897003,"owners_count":23226648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kotlin","kotlin-library","kotlin-script"],"created_at":"2024-11-06T21:30:15.974Z","updated_at":"2026-01-11T16:55:55.235Z","avatar_url":"https://github.com/Splitties.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LibPublishingHelpers\n\nThis is a library for library projects.\n\nIt is designed to be included as a dependency in a Kotlin 1.3.70+ script (e.g. `Releasing.main.kts`).\n\nIt brings helpers/tools to make a readable and maintainable releasing script, avoiding errors in the critical process of tagging and releasing a library.\n\n## Why\n\nBecause releasing new versions of Splitties, refreshVersions and other library projects is a chore to me, and it's error-prone, especially since it's boring.\nI want it to be `fun` and reliable instead, so I made this library to be used in Kotlin scripts for library version releasing. That makes the process semi-automatic, with fewer ways for me to mess up (or slow down, since I'd pay extra-care to not mess up).\n\n## Status of the project\n\nWhile non dev releases are stable enough to be used safely enough (but at your own risk), the API is not stable, which means it might change from a release to another, requiring updates to the source code.\n\nTo check what's on the table for that project, check out the [TODO file](TODO.md).\n\n## Features\n\n_This may change over time._\n\n### Running arbitrary commands\n\nExample: `\"ls -al\".execute()` will run the `ls -al` command.\n\n### Running VCS actions\n\nCommit files, checkout a branch, pull, pull…\n\n(only git is supported for now)\n\n### CLI UI\n\nAnsi Colors, abstraction of confirmations, questions with choices selection…\n\nType `CliUi.` in your IDE, and discover capabilities from autocomplete.\n\n### Check user input\n\nThe `checkIsValidVersionString()` extension function for `String?` can help you ensure a valid version has been entered in a versioning + releasing script (outlawing non-digital prefixes, illegal characters such as spaces, etc.).\n\n### Interact with other apps\n\nOpen urls with `openUrl(…)`.\n\n## License\n\nThis library is published under Apache License version 2.0 which you can see [here](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitties%2Flibpublishinghelpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplitties%2Flibpublishinghelpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitties%2Flibpublishinghelpers/lists"}