{"id":16658330,"url":"https://github.com/tuddman/clojure-graalvm","last_synced_at":"2025-04-09T18:32:33.703Z","repository":{"id":73345056,"uuid":"140906982","full_name":"tuddman/clojure-graalvm","owner":"tuddman","description":"Run Clojure Programs without the JVM","archived":false,"fork":false,"pushed_at":"2019-05-05T13:52:04.000Z","size":5,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T20:36:39.727Z","etag":null,"topics":["clojure","graalvm"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tuddman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-07-14T01:38:57.000Z","updated_at":"2024-10-28T04:40:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"899a3cda-eb77-402b-a780-7b39b3bd8cac","html_url":"https://github.com/tuddman/clojure-graalvm","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/tuddman%2Fclojure-graalvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuddman%2Fclojure-graalvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuddman%2Fclojure-graalvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuddman%2Fclojure-graalvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tuddman","download_url":"https://codeload.github.com/tuddman/clojure-graalvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248087642,"owners_count":21045555,"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","graalvm"],"created_at":"2024-10-12T10:05:16.531Z","updated_at":"2025-04-09T18:32:33.697Z","avatar_url":"https://github.com/tuddman.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Clojure without the JVM\n\nThanks to [GraalVM](http://www.graalvm.org/)\n\nspecifically, building a 'native-image' so you don't need the JVM anymore.\n\nRight.\n\n## Contents\n\nThis repo contains the base GraalVM (with native-image) docker image, which can be used to then build a clojure application into a native binary.\n\nA bare-bones example clojure application is located in the `/example` directory.\n\n## Getting Started\n\n### compile the clojure into *.class files\n```clojure\n# cd example/hello\n# lein repl\nuser=\u003e (require 'com.example.hello)\nnil\nuser=\u003e (compile 'com.example.hello)\ncom.example.hello\nuser=\u003e quit\nBye for now!\n\n# ./pull-in-clojure.sh\n```\n\n## get the docker image\n\n```sh\ndocker pull tuddman/graalvm:latest\n```\n\n_or_\n\n## build the docker images from source\n\n### build base GraalVM docker image\n\n```sh\ncd \u003cbasedir\u003e\ndocker build -t tuddman/graalvm:latest .\n```\n\n### build clojure example docker image\n\n```sh\ncd example/hello\ndocker build -t hello-clj-on-graalvm .\n```\n\n### see how much smaller the compiled binary is\n\n```sh\n$ docker inspect hello-clj-on-graalvm | jq .[0].Size\n```\n\n# Docker base GraalVM\n\n[tuddman/graalvm](https://hub.docker.com/r/tuddman/graalvm/)\n\n# Thanks to ...\n\n- [innoq](https://www.innoq.com/en/blog/native-clojure-and-graalvm/)\n- [Oleg Ilyenko](https://github.com/OlegIlyenko/graalvm-native-image)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuddman%2Fclojure-graalvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuddman%2Fclojure-graalvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuddman%2Fclojure-graalvm/lists"}