{"id":20331164,"url":"https://github.com/comcast/ansible-sdkman","last_synced_at":"2025-04-11T21:07:33.053Z","repository":{"id":38848075,"uuid":"89612187","full_name":"Comcast/ansible-sdkman","owner":"Comcast","description":"An Ansible role that installs, configures, and manages SDKMAN","archived":false,"fork":false,"pushed_at":"2024-01-02T18:10:10.000Z","size":129,"stargazers_count":60,"open_issues_count":7,"forks_count":27,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-11T21:07:18.649Z","etag":null,"topics":["ansible","ci","development","gradle","groovy","java","maven","sbt","scala","sdkman"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/Comcast/sdkman/","language":"Python","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/Comcast.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":"2017-04-27T15:24:04.000Z","updated_at":"2025-01-29T16:09:09.000Z","dependencies_parsed_at":"2024-11-14T20:19:09.319Z","dependency_job_id":"61099739-d110-4917-b220-34ffb37df0f8","html_url":"https://github.com/Comcast/ansible-sdkman","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comcast%2Fansible-sdkman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comcast%2Fansible-sdkman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comcast%2Fansible-sdkman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comcast%2Fansible-sdkman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Comcast","download_url":"https://codeload.github.com/Comcast/ansible-sdkman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480434,"owners_count":21110937,"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":["ansible","ci","development","gradle","groovy","java","maven","sbt","scala","sdkman"],"created_at":"2024-11-14T20:19:01.982Z","updated_at":"2025-04-11T21:07:32.979Z","avatar_url":"https://github.com/Comcast.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ansible Role: Comcast.sdkman\n============================\n\n[![Galaxy Role][badge-role]][link-galaxy]\n[![Downloads][badge-downloads]][link-galaxy]\n[![Apache 2.0 licensed][badge-license]][link-license]\n[![Build Status][badge-travis]][link-travis]\n\nAn Ansible role that performs the following functions:\n* Install [SDKMAN](http://sdkman.io/)\n* Install/uninstall SDKMAN-managed software [candidates](http://sdkman.io/sdks)\n* Set SDK version defaults\n* Manage the SDKMAN configuration file: `/path/to/sdkman/etc/config`\n* Flush the SDKMAN caches\n\n\u003e **Warning**: Oracle has made it increasingly difficult to install their JDKs,\n\u003e which has impeded the ability to install them via SDKMAN. Consider using the\n\u003e OpenJDK instead or installing/managing the Oracle JDK by other means.\n\nRequirements\n------------\n\nNone.\n\nRole Variables\n--------------\n\nSee the [defaults](defaults/main.yml) for a description of each overrideable\nvariable.\n\nDependencies\n------------\n\nNone.\n\nExample Playbook\n----------------\n\nHere's an example!\n\n```yaml\n- hosts: servers\n  roles:\n    - role: Comcast.sdkman\n      sdkman_user: vagrant\n      sdkman_group: vagrant\n      sdkman_auto_answer: true\n      sdkman_update: true\n      sdkman_uninstall_packages:\n        - { candidate: groovy, version: 1.8.9 }\n      sdkman_install_packages:\n        - { candidate: java, version: 8.0.202-zulu }\n        - { candidate: gradle, version: '3.5' }\n        - { candidate: gradle, version: 2.14.1 }\n        - { candidate: maven, version: 3.5.0 }\n        - { candidate: maven, version: 3.3.9 }\n        # Use this syntax if you want SDKMAN to be aware of packages installed *without* SDKMAN, e.g. Oracle JDKs\n        - { candidate: java, version: 1.8.0-oracle, localpath: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk }\n      sdkman_defaults:\n        gradle: '3.5'\n        maven: 3.3.9\n        java: 8.0.202-zulu\n      sdkman_flush_caches_before:\n        - temp\n      sdkman_flush_caches_after:\n        - archives\n        - broadcast\n        - candidates\n        - temp\n      sdkman_offline_mode: false\n      sdkman_update_alternatives:\n        - candidate: java\n          name: java\n          link: /usr/bin/java\n        - candidate: java\n          name: javac\n          link: /usr/bin/javac\n```\n\nAdditional Notes\n----------------\n\nIf you want to skip any steps that require privilege escalation (i.e. `sudo`\ncommands), this role has tagged those tasks with the `sdkman_privilege` tag.\nPass the `--skip-tags` flag on the command-line with this tag in order to\nbypass any steps that may have already been completed by your system\nadministrator (e.g. installing system packages).\n\nTesting this role with Alpine Linux has been an uphill battle. The more\nrecent JDK builds (\u003e-11) available through SDKMAN are not compatible with\nAlpine. Instead, it is recommended to install a JDK/JRE through the `apk`\npackage repository. This all being said, I'm currently unsure how well\nSDKMAN packages run on Alpine. Your mileage may vary. _You have been warned_.\n\nLicense\n-------\n\n[Apache 2.0](LICENSE)\n\nAuthor Information\n------------------\n\n* [Elliot Weiser](https://github.com/elliotweiser) @ [Comcast](https://github.com/Comcast)\n\n[badge-downloads]: https://img.shields.io/ansible/role/d/20938.svg?style=flat-square\n[badge-license]: https://img.shields.io/github/license/Comcast/ansible-sdkman.svg?style=flat-square\n[badge-role]: https://img.shields.io/ansible/role/20938.svg?style=flat-square\n[badge-travis]: https://img.shields.io/travis/Comcast/ansible-sdkman/master.svg?style=flat-square\n[link-galaxy]: https://galaxy.ansible.com/Comcast/sdkman/\n[link-license]: https://raw.githubusercontent.com/Comcast/ansible-sdkman/master/LICENSE\n[link-travis]: https://travis-ci.org/Comcast/ansible-sdkman\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomcast%2Fansible-sdkman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomcast%2Fansible-sdkman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomcast%2Fansible-sdkman/lists"}