{"id":15503076,"url":"https://github.com/rickmoynihan/pom-update","last_synced_at":"2025-04-19T23:17:59.502Z","repository":{"id":56282492,"uuid":"311108464","full_name":"RickMoynihan/pom-update","owner":"RickMoynihan","description":"Automate updating your Clojure libraries pom.xml in tools.deps based projects","archived":false,"fork":false,"pushed_at":"2020-11-17T11:02:40.000Z","size":20,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-16T14:10:25.724Z","etag":null,"topics":["clojure","pom","tools-deps"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RickMoynihan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-08T16:44:36.000Z","updated_at":"2020-11-17T11:02:42.000Z","dependencies_parsed_at":"2022-08-15T16:00:35.549Z","dependency_job_id":null,"html_url":"https://github.com/RickMoynihan/pom-update","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fpom-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fpom-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fpom-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fpom-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RickMoynihan","download_url":"https://codeload.github.com/RickMoynihan/pom-update/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249553772,"owners_count":21290293,"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":["clojure","pom","tools-deps"],"created_at":"2024-10-02T09:12:04.547Z","updated_at":"2025-04-19T23:17:59.463Z","avatar_url":"https://github.com/RickMoynihan.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pom-update\n\nA simple tool for use with tools.deps and the clojure command line\ntools, to update a `pom.xml` file with overriden values provided by\neither `:exec-args` data or via the command line.\n\nIt is suitable for `clojure -X` invocation and usage as a small\nlibrary.\n\nIt is hoped that this library will soon be made redundant by\n`tools.build` a rumoured build tool by the Clojure core team.\n\n## FAQ\n\n_What should I use this for?_\n\nAutomatically updating metadata in a Clojure libraries `pom.xml`,\ntypically setting the maven version and scm tag to a build number\nprovided by your CI system.\n\n_Can't I just use `clojure -Spom` or `clojure -X:deps mvn-pom`?_\n\nYes if you don't mind manually deploying library changes and setting\nthe version number yourself.\n\nIf you want to automate the deployment to deploy your clojure library\nwith a version number determined by CI (e.g. the `BUILD_ID` or a\ncommit SHA) then you probably want to use this simple tool to assist.\n\nTools deps almost has the functionality to do this, however with\n`tools.build` on the horizon it's not a feature they care to\nprioritise.\n\n## Usage\n\nAdd `rickmoynihan/pom-update {:mvn/version \"0.1.6\"}` to an appropriate\nalias in your `deps.edn`, e.g.\n\n``` clojure\n{:deps { ,,, ,,, }\n :aliases {\n   :update-version {\n     :extra-deps {rickmoynihan/pom-update {:mvn/version \"0.1.6\"}}\n     :exec-fn rickmoynihan.pom/update\n     :exec-args {:pom/write-strategy :overwrite\n                 :pom/input-file \"pom.xml\"}}}}\n```\n\nThen at build time, prior to creating a jar for your library run the\nfollowing command:\n\n`clojure -X:update-version :mvn/version \"\\\"$BUILD_NUMBER\\\"\" :scm/tag \"\\\"$BUILD_NUMBER\\\"\"`\n\nYou may also wish to automate calling `clojure -X:deps mvn-pom` prior\nto the above call (to ensure dependencies etc are synced properly from\n`deps.edn` into `pom.xml`). If you don't do this you'll need to make\nsure you commit `pom.xml` after each meaningful update to your\n`deps.edn`.\n\n## Other libraries\n\nThis library is intended to work with\n[depstar](https://github.com/seancorfield/depstar) for building\nlibrary jars, and\n[deps-deploy](https://github.com/seancorfield/depstar) for deploying\nthem to either clojars or a private maven repository.\n\n## License\n\nCopyright © 2020 Rick Moynihan\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickmoynihan%2Fpom-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickmoynihan%2Fpom-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickmoynihan%2Fpom-update/lists"}