{"id":50873550,"url":"https://github.com/timmhirsens/azureblob-build-cache","last_synced_at":"2026-06-15T07:06:02.505Z","repository":{"id":37955708,"uuid":"199842982","full_name":"timmhirsens/azureblob-build-cache","owner":"timmhirsens","description":"An Azure Blob Storage Gradle Build Cache implementation","archived":false,"fork":false,"pushed_at":"2023-06-15T18:57:42.000Z","size":176,"stargazers_count":5,"open_issues_count":7,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-06-15T20:15:32.717Z","etag":null,"topics":["azure-storage","gradle","gradle-build","gradle-plugin","java"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/timmhirsens.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-07-31T11:29:50.000Z","updated_at":"2023-06-15T20:15:32.718Z","dependencies_parsed_at":"2023-02-19T10:45:18.750Z","dependency_job_id":null,"html_url":"https://github.com/timmhirsens/azureblob-build-cache","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/timmhirsens/azureblob-build-cache","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmhirsens%2Fazureblob-build-cache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmhirsens%2Fazureblob-build-cache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmhirsens%2Fazureblob-build-cache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmhirsens%2Fazureblob-build-cache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timmhirsens","download_url":"https://codeload.github.com/timmhirsens/azureblob-build-cache/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmhirsens%2Fazureblob-build-cache/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34351474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["azure-storage","gradle","gradle-build","gradle-plugin","java"],"created_at":"2026-06-15T07:05:56.476Z","updated_at":"2026-06-15T07:06:02.499Z","avatar_url":"https://github.com/timmhirsens.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# azureblob-build-cache\n\n[![Apache License 2.0](https://img.shields.io/badge/License-Apache%20License%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)\n[![Build Status](https://timmhirsens.visualstudio.com/azureblob-build-cache/_apis/build/status/fr1zle.azureblob-build-cache?branchName=master)](https://timmhirsens.visualstudio.com/azureblob-build-cache/_build/latest?definitionId=2\u0026branchName=master)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=fr1zle_azureblob-build-cache\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=fr1zle_azureblob-build-cache)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=fr1zle_azureblob-build-cache\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=fr1zle_azureblob-build-cache)\n\nThis is a Gradle [build cache](https://docs.gradle.org/current/userguide/build_cache.html) implementation that uses the [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/) as a storage backend for \ncache objects. It is inspired by the [S3 Build Cache Plugin](https://github.com/myniva/gradle-s3-build-cache).\n\n## Usage\n\nThis plugin has not been used in production for any serious project. Feedback is very welcome. Feel free to open an [issue](https://github.com/fr1zle/azureblob-build-cache/issues/new) if you find a bug or have an idea for\nimprovement. Even better, open up a [PR](https://github.com/fr1zle/azureblob-build-cache/pulls) with the desired change!\n\n### Applying the plugin\n\nYou can get the latest version from the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/de.timmhirsens.azureblobcache.caching). Add the following to your `settings.gradle` to apply the plugin:\n\n```groovy\nbuildscript {\n    repositories {\n        maven {\n            url \"https://plugins.gradle.org/m2/\"        \n        }\n    }\n    dependencies {\n        classpath \"de.timmhirsens.azureblobcache:azureblob-build-cache:0.0.1\"\n    }\n}\n\napply plugin: 'de.timmhirsens.azureblobcache.caching'\n```\n\n### Configuration\n\nThe following configuration settings are required for using this plugin.\n\n| Configuration Key | Description | Required? |\n|-------------------|-------------|-----------|\n| container | The name of the container in Azure Blob Storage where cache objects should be stored | **yes** |\n| accountName | The account name to use for storing the objects | **yes** |\n| accountKey | The account key for the account name (keep this secret) | **no** (the azure blob storage container has to be configured accordingly)|\n\nAn configuration may look like this:\n\n```groovy\next.isCiServer = System.getenv().containsKey(\"CI\")\nbuildCache {\n    local {\n        enabled = !isCiServer\n    }\n    remote(de.timmhirsens.azureblobcache.AzureBlobStorageBuildCache) {\n        container = 'cache'\n        push = isCiServer\n        accountName = \"youraccountname\"\n        accountKey = \"gsafdzgfizdgwizgewzgfzewugzewuz/sfwe3223442sdfs/fdsojfiodsuzfewfhewuig==\"\n    }\n}\n```\n\nYou can read more about Gradle Build Cache on the Grade [website](https://docs.gradle.org/current/userguide/build_cache.html#sec:build_cache_configure)\n\n### Expiring cache entries\n\nThis plugin does not expire cache entries. You can use the Blob Storage [Lifecycle Management](https://azure.microsoft.com/de-de/blog/azure-blob-storage-lifecycle-management-public-preview/) for this.\n\n## License\n\n```\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimmhirsens%2Fazureblob-build-cache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimmhirsens%2Fazureblob-build-cache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimmhirsens%2Fazureblob-build-cache/lists"}