{"id":29673830,"url":"https://github.com/otto-de/lein-files-hash","last_synced_at":"2025-07-22T22:08:24.553Z","repository":{"id":62432303,"uuid":"193658001","full_name":"otto-de/lein-files-hash","owner":"otto-de","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-12T14:07:45.000Z","size":35,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-27T17:49:16.846Z","etag":null,"topics":["filesystem","hashcode"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","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/otto-de.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}},"created_at":"2019-06-25T07:33:11.000Z","updated_at":"2024-12-12T14:07:49.000Z","dependencies_parsed_at":"2022-11-01T20:45:41.326Z","dependency_job_id":null,"html_url":"https://github.com/otto-de/lein-files-hash","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/otto-de/lein-files-hash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otto-de%2Flein-files-hash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otto-de%2Flein-files-hash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otto-de%2Flein-files-hash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otto-de%2Flein-files-hash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otto-de","download_url":"https://codeload.github.com/otto-de/lein-files-hash/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otto-de%2Flein-files-hash/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266580863,"owners_count":23951304,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["filesystem","hashcode"],"created_at":"2025-07-22T22:08:23.910Z","updated_at":"2025-07-22T22:08:24.530Z","avatar_url":"https://github.com/otto-de.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lein-files-hash\n\nA Leiningen plugin to save hash trees of files and directories to properties\nfiles.\n\n## Usage\n\nAdd the dependency to the `:plugins` vector of your project.clj:\n\n[![Clojars Project](http://clojars.org/de.otto/lein-files-hash/latest-version.svg)](http://clojars.org/de.otto/lein-files-hash)\n\nConfigure what should be hashed and saved where:\n\n```\n  :files-hash [{:properties-file \"resources/versions.properties\"\n                :property-key \"graph-hash\"\n                :deps  [\"org.some.dependency/dependency\"\n                        \"org.some.other.dependency/other-dependency\"]\n                :paths [\"src/de/otto/package1\"\n                        \"src/de/otto/package2\"]}]\n```\n\nThis will then on invocation create a SHA-256 Merkle hash tree of all files \n(using filenames under the given paths) and dependencies (using dependency names and \nthe corresponding version). The resulting hash is stored under the given\nkey in the given properties file. As the format hints, you can have multiple\nsuch configurations.  You can also refer to single file names in the paths\nvector.\n\nThe properties file is read and written through `java.util.Properties` (_not_\n`org.apache.commons.configuration.PropertiesConfiguration`!).  This means that\ncomments are clobbered and in the case of duplicate keys, the last one wins.\n\nCall from shell:\n\n    $ lein files-hash\n\nYou might want to do this in your project's build aliases:\n\n    :aliases {\"uberjar\" [\"do\" [\"clean\"] [\"files-hash\"] \"uberjar\"]}\n\n## Maintainers\n\nSee [MAINTAINERS](MAINTAINERS).\n\n## Lifecyle status\n\nSee [OSSMETADATA](OSSMETADATA).\n\n## License\n\nCopyright © 2019 OTTO GmbH \u0026 Co. KG\n\nThis program and the accompanying materials are made available under the terms\nof the Apache License 2.0, see the [LICENSE file](LICENSE) or\nhttps://www.apache.org/licenses/LICENSE-2.0.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotto-de%2Flein-files-hash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotto-de%2Flein-files-hash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotto-de%2Flein-files-hash/lists"}