{"id":14991218,"url":"https://github.com/qbicc/qbicc","last_synced_at":"2025-05-16T11:05:01.606Z","repository":{"id":37029602,"uuid":"253839118","full_name":"qbicc/qbicc","owner":"qbicc","description":"Experimental static compiler for Java programs.","archived":false,"fork":false,"pushed_at":"2025-04-29T12:38:11.000Z","size":15054,"stargazers_count":135,"open_issues_count":65,"forks_count":21,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-14T08:07:20.524Z","etag":null,"topics":["compiler","java","llvm","native-image","openjdk"],"latest_commit_sha":null,"homepage":"https://qbicc.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qbicc.png","metadata":{"files":{"readme":"docs/README.adoc","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","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,"zenodo":null}},"created_at":"2020-04-07T15:42:21.000Z","updated_at":"2025-04-29T12:38:23.000Z","dependencies_parsed_at":"2023-02-14T19:31:29.367Z","dependency_job_id":"ae38a4ac-78c5-4b9a-82e6-ff92cfa1107a","html_url":"https://github.com/qbicc/qbicc","commit_stats":{"total_commits":3598,"total_committers":18,"mean_commits":"199.88888888888889","dds":0.3899388549193996,"last_synced_commit":"fa800d430a0911c2ee9b96e7e469324083e26a62"},"previous_names":["quarkusio/qbicc","qbicc/qbicc"],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicc%2Fqbicc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicc%2Fqbicc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicc%2Fqbicc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicc%2Fqbicc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qbicc","download_url":"https://codeload.github.com/qbicc/qbicc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518384,"owners_count":22084374,"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":["compiler","java","llvm","native-image","openjdk"],"created_at":"2024-09-24T14:21:47.216Z","updated_at":"2025-05-16T11:04:56.580Z","avatar_url":"https://github.com/qbicc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= qbicc\n\nThis is the `README` for qbicc.  There's not much here yet but be sure to read link:Overview.adoc[the overview].\n\nOur https://qbicc.zulipchat.com[`Zulip`] chat is a great place to ask questions and get started.\n\n== Building\n\nTo quickly build the project, execute `mvn install -DskipTests` in the root.\nThis will build qbicc using the latest pre-built release of the `qbicc-class-library`.\nAdding `-DskipTests` avoids running the integration tests, which take about 15 minutes.\n\n== Class Library\n\nQbicc uses a customized version of the OpenJDK libraries: https://github.com/qbicc/qbicc-class-library[`qbicc-class-library`]. The class libraries are released as a maven artifact, but if you are developing qbicc\nyou will eventually want to build your own local version.\n\nNote: *You must clone the qbicc-class-library repository on a case-sensitive file system.*\nIf you are on macOS, please follow the\nhttps://github.com/qbicc/qbicc-class-library#readme[`instructions for creating a case-sensitive file system on macOS`] before executing the commands below.\n\n[source,shell]\n-----\ngit clone --recurse-submodules git@github.com:qbicc/qbicc-class-library.git\ncd qbicc-class-library\nmvn install\n-----\n\n== Running with Maven\n\nAdd the following XML to the `plugins` element of your Maven build to automatically produce a `qbicc`-built native image:\n\n[source,xml]\n-----\n\u003cplugin\u003e\n    \u003cgroupId\u003eorg.qbicc\u003c/groupId\u003e\n    \u003cartifactId\u003eqbicc-maven-plugin\u003c/artifactId\u003e\n    \u003cversion\u003e${qbicc.version}\u003c/version\u003e\n    \u003cexecutions\u003e\n        \u003cexecution\u003e\n            \u003cid\u003eqbicc-compile\u003c/id\u003e\n            \u003cgoals\u003e\n                \u003cgoal\u003ecompile\u003c/goal\u003e\n            \u003c/goals\u003e\n            \u003cconfiguration\u003e\n                \u003c!-- replace this with your main class name --\u003e\n                \u003cmainClass\u003ehello.world.Main\u003c/mainClass\u003e\n            \u003c/configuration\u003e\n        \u003c/execution\u003e\n    \u003c/executions\u003e\n\u003c/plugin\u003e\n-----\n\nBe sure to configure the `qbicc.version` property in your POM to correspond to the current version of qbicc.\n\n== Running with `jbang`\n\nTo run the driver, first build the project and then use https://jbang.dev[`jbang`] to run it:\n\n[source,shell]\n-----\njbang --quiet org.qbicc:qbicc-main:0.76.0 --app-path-file /path/to/main.jar --output-path /tmp/output hello/world/Main\n-----\n\nFor a step-by-step example, see `examples/helloworld/hello/world/Main.java`\n\n\n== Running with a locally built Class Library\n\nAfter building the class library, you can get qbicc to use it simply by adding the\ncommand line argument `--rt-version=17.alpha.0.NNN-SNAPSHOT` (where NNN matches your\nlocal class lib version) to your qbicc invocation. For example,\n\n[source,shell]\n-----\njbang --quiet org.qbicc:qbicc-main:0.76.0 --app-path-file /path/to/main.jar --output-path /tmp/output --rt-version=17.alpha.0.NNN-SNAPSHOT hello/world/Main\n-----\n\n== JBang cache\n\nWhen plugins are added or removed, the jbang cache may become inconsistent and result in build errors.\nIf that happens, add the `--fresh` option to the above command line. Eg: `jbang --fresh ...`\nAlternatively, clear the entire cache using:\n[source,shell]\n-----\njbang cache clear\n-----\n\n== Requirements\n\nPlease ensure the follow are installed and available on your path:\n\n* LLVM 13+ (we test against 13, 14, and 15)\n* JDK 17\n* Maven 3.6.1+\n\n=== MacOS\n\nYou can install LLVM, Java and Maven using `brew`.  In addition, you will also need to install XCode (to get Apple's version of `clang`). Do not attempt to override XCode's `clang` with the one that `brew` installed` (brew will not put its llvm toolchain into your path by default). Instead use symlinks to add just the brew installed `llc`, `llvm-objcopy`, and `opt` executables to your path.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbicc%2Fqbicc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqbicc%2Fqbicc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbicc%2Fqbicc/lists"}