{"id":13561125,"url":"https://github.com/groovy/docker-groovy","last_synced_at":"2025-04-05T07:30:55.831Z","repository":{"id":14238124,"uuid":"76156970","full_name":"groovy/docker-groovy","owner":"groovy","description":"Docker images with Groovy","archived":false,"fork":false,"pushed_at":"2025-01-28T19:12:43.000Z","size":329,"stargazers_count":42,"open_issues_count":1,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-20T23:42:03.797Z","etag":null,"topics":["docker-image","groovy"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/_/groovy/","language":"Dockerfile","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/groovy.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":"2016-12-11T05:50:51.000Z","updated_at":"2025-01-28T19:12:44.000Z","dependencies_parsed_at":"2024-01-14T02:56:07.964Z","dependency_job_id":"5868dbf4-ee27-4098-a0fc-3525dc0491a5","html_url":"https://github.com/groovy/docker-groovy","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/groovy%2Fdocker-groovy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groovy%2Fdocker-groovy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groovy%2Fdocker-groovy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groovy%2Fdocker-groovy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/groovy","download_url":"https://codeload.github.com/groovy/docker-groovy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305250,"owners_count":20917194,"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":["docker-image","groovy"],"created_at":"2024-08-01T13:00:52.751Z","updated_at":"2025-04-05T07:30:50.824Z","avatar_url":"https://github.com/groovy.png","language":"Dockerfile","readme":"# docker-groovy\n\n## Supported tags and respective Dockerfile links\n\n* [jdk8](https://github.com/groovy/docker-groovy/blob/master/jdk8/Dockerfile)\n* [jdk11](https://github.com/groovy/docker-groovy/blob/master/jdk11/Dockerfile)\n* [jdk11-alpine](https://github.com/groovy/docker-groovy/blob/master/jdk11-alpine/Dockerfile)\n* [jdk17](https://github.com/groovy/docker-groovy/blob/master/jdk17/Dockerfile)\n* [jdk17-alpine](https://github.com/groovy/docker-groovy/blob/master/jdk17-alpine/Dockerfile)\n* [jdk21](https://github.com/groovy/docker-groovy/blob/master/jdk21/Dockerfile)\n* [jdk21-alpine](https://github.com/groovy/docker-groovy/blob/master/jdk21-alpine/Dockerfile)\n\n## What is Groovy?\n\n[Apache Groovy](http://groovy-lang.org/) is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.\n\n## How to use this image\n\nNote that if you are mounting a volume and the uid running Docker is not _1000_, you should run as user _root_ (`-u root`).\n\n### Starting Groovysh\n\n`docker run -it --rm groovy:latest`\n\n### Running a Groovy script\n\n#### Bash/Zsh\n\n`docker run --rm -v \"$PWD\":/home/groovy/scripts -w /home/groovy/scripts groovy:latest groovy \u003cscript\u003e \u003cscript-args\u003e`\n\n#### PowerShell\n\n`docker run --rm -v \"${pwd}:/home/groovy/scripts\" -w /home/groovy/scripts groovy:latest groovy \u003cscript\u003e \u003cscript-args\u003e`\n\n#### Windows CMD\n\n`docker run --rm -v \"%cd%:/home/groovy/scripts\" -w /home/groovy/scripts groovy:latest groovy \u003cscript\u003e \u003cscript-args\u003e`\n\n### Reusing the Grapes cache\n\nThe local Grapes cache can be reused across containers by creating a volume and mounting it in */home/groovy/.groovy/grapes*.\n\n```\ndocker volume create --name grapes-cache\ndocker run --rm -it -v grapes-cache:/home/groovy/.groovy/grapes groovy:latest\n```\n\nNote when running as another user (other than _groovy_ or _root_), you will need to tell Groovy what home to use for Grapes with `-D user.home=/home/groovy`.\n\nAlternatively, you can specify this through the Grapes config, using `-D grape.config=/home/groovy/scripts/grapesConfig.xml` and\n\n```xml\n\u003c!-- same thing as https://github.com/apache/groovy/blob/master/src/resources/groovy/grape/defaultGrapeConfig.xml, but with ${user.home} replaced with /home/groovy --\u003e\n\u003civysettings\u003e\n  \u003csettings defaultResolver=\"downloadGrapes\"/\u003e\n  \u003cresolvers\u003e\n    \u003cchain name=\"downloadGrapes\" returnFirst=\"true\"\u003e\n      \u003cfilesystem name=\"cachedGrapes\"\u003e\n        \u003civy pattern=\"/home/groovy/.groovy/grapes/[organisation]/[module]/ivy-[revision].xml\"/\u003e\n        \u003cartifact pattern=\"/home/groovy/.groovy/grapes/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]\"/\u003e\n      \u003c/filesystem\u003e\n      \u003cibiblio name=\"localm2\" root=\"/home/groovy/.m2/repository/\" checkmodified=\"true\" changingPattern=\".*\" changingMatcher=\"regexp\" m2compatible=\"true\"/\u003e\n      \u003cibiblio name=\"jcenter\" root=\"https://jcenter.bintray.com/\" m2compatible=\"true\"/\u003e\n      \u003cibiblio name=\"ibiblio\" m2compatible=\"true\"/\u003e\n    \u003c/chain\u003e\n  \u003c/resolvers\u003e\n\u003c/ivysettings\u003e\n```\n\n## Instructions for a new Groovy release\n\n1. Run `update.sh \u003cnew Groovy version\u003e` or `update.ps1 \u003cnew Groovy version\u003e`.\n1. If a Groovy contributor did a release for the first time (his/her key added to https://downloads.apache.org/groovy/KEYS),\nadd the new key to the list of keys used for verification (this is quite infrequent).\n1. Commit and push the changes.\n1. Update [official-images](https://github.com/docker-library/official-images) (and [docs](https://github.com/docker-library/docs) if appropriate).\n\n---\n[![Build status badge](https://github.com/groovy/docker-groovy/workflows/GitHub%20CI/badge.svg)](https://github.com/groovy/docker-groovy/actions?query=workflow%3A%22GitHub+CI%22)\n","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgroovy%2Fdocker-groovy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgroovy%2Fdocker-groovy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgroovy%2Fdocker-groovy/lists"}