{"id":15068925,"url":"https://github.com/ev3dev-lang-java/openjdk-ev3","last_synced_at":"2025-04-10T17:41:28.001Z","repository":{"id":55902799,"uuid":"116190587","full_name":"ev3dev-lang-java/openjdk-ev3","owner":"ev3dev-lang-java","description":"A custom Build of OpenJDK 9/10/11/12/13/14/15 for EV3, a Lego Mindstorms Brick using ARM Soft Float","archived":false,"fork":false,"pushed_at":"2024-03-11T19:42:36.000Z","size":4969,"stargazers_count":13,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T15:21:42.794Z","etag":null,"topics":["adoptopenjdk","cross-compiler","ev3","ev3dev","java","java10","java11","java12","java13","java14","java15","java9","jvm","lejos","lejos-ev3","openjdk"],"latest_commit_sha":null,"homepage":"https://ci.adoptopenjdk.net/view/ev3dev/","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ev3dev-lang-java.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":"2018-01-03T23:01:51.000Z","updated_at":"2024-11-11T01:50:26.000Z","dependencies_parsed_at":"2024-10-13T04:40:46.284Z","dependency_job_id":"0abb9e0e-7912-4603-84ec-2c37742d8049","html_url":"https://github.com/ev3dev-lang-java/openjdk-ev3","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fopenjdk-ev3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fopenjdk-ev3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fopenjdk-ev3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fopenjdk-ev3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ev3dev-lang-java","download_url":"https://codeload.github.com/ev3dev-lang-java/openjdk-ev3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262185,"owners_count":21074258,"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":["adoptopenjdk","cross-compiler","ev3","ev3dev","java","java10","java11","java12","java13","java14","java15","java9","jvm","lejos","lejos-ev3","openjdk"],"created_at":"2024-09-25T01:39:45.847Z","updated_at":"2025-04-10T17:41:27.975Z","avatar_url":"https://github.com/ev3dev-lang-java.png","language":"Shell","readme":"# OpenJDK for ev3dev-lang-java\nCustom build of OpenJDK providing Java support for ev3dev on the following devices:\n\n* LEGO Mindstorms EV3, featuring a ARM926EJ-S CPU\n\nBuilds for older boards should work on newer boards, the performance might just be a bit lower.\n\n## Build Status\n\n| OpenJDK version   | Platform | Type    | VM     | ev3dev-stretch          | ev3dev-buster           |\n|-------------------|----------|---------|--------|-------------------------|-------------------------|\n| OpenJDK 9         | EV3      | x86→ARM | C1 JIT | [archived][archive]     | N/A                     |\n| OpenJDK 10        | EV3      | x86→ARM | C1 JIT | [archived][archive]     | N/A                     |\n| OpenJDK 11        | EV3      | ARM→ARM | C1 JIT | [![-\u003e jenkins][1]][2]   | [![-\u003e jenkins][3]][4]   |\n| OpenJDK 12        | EV3      | ARM→ARM | C1 JIT | [![-\u003e jenkins][5]][6]   | [![-\u003e jenkins][7]][8]   |\n| OpenJDK 13        | EV3      | ARM→ARM | C1 JIT | [![-\u003e jenkins][9]][10]  | [![-\u003e jenkins][11]][12] |\n| OpenJDK 14        | EV3      | ARM→ARM | C1 JIT | [![-\u003e jenkins][17]][18] | [![-\u003e jenkins][19]][20] |\n| OpenJDK 15        | EV3      | ARM→ARM | C1 JIT | [![-\u003e jenkins][21]][22] | [![-\u003e jenkins][23]][24] |\n| OpenJDK tip (dev) | EV3      | ARM→ARM | C1 JIT | [![-\u003e jenkins][13]][14] | [![-\u003e jenkins][15]][16] |\n\n[1]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-11/badge/icon\n[2]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-11/\n[3]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-11/badge/icon\n[4]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-11/\n\n[5]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-12/badge/icon\n[6]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-12/\n[7]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-12/badge/icon\n[8]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-12/\n\n[9]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-13/badge/icon\n[10]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-13/\n[11]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-13/badge/icon\n[12]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-13/\n\n[13]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-bleeding/badge/icon\n[14]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-bleeding/\n[15]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-bleeding/badge/icon\n[16]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-bleeding/\n\n[17]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-14/badge/icon\n[18]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-14/\n[19]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-14/badge/icon\n[20]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-14/\n\n[21]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-15/badge/icon\n[22]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/stretch-15/\n[23]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-15/badge/icon\n[24]: https://ci.adoptopenjdk.net/view/ev3dev/job/eljbuild/job/buster-15/\n\n\n[archive]: https://github.com/ev3dev-lang-java/openjdk-ev3-archive\n\n\n## Overview \u0026 documentation\n\nSee [Docs](docs/openjdk-ev3-maintainer-manual.pdf)\n\n\n## Components\nThe build process produces these files:\n\n| Name  | File name       | Summary           | Where it runs | Who is it for     | What is it useful for                           |\n|-------|-----------------|-------------------|---------------|-------------------|-------------------------------------------------|\n| JRI   | `jri-ev3.zip`   | Minimal runtime   | Brick         | Java developer    | Running Java programs on ev3dev.                |\n| JDK   | `jdk-ev3.zip`   | Full JDK          | Brick         | ev3dev power user | Compiling Java programs directly on the brick.  |\n| JMODs | `jmods-ev3.zip` | Runtime modules   | Developer PC  | both              | Creating custom JRIs.                           |\n\n_JRI stands for \"Java Runtime Image\". The term itself is not specific to this project,\nit is equivalent to [Modular Run-Time Image](https://openjdk.java.net/jeps/220).\nTo see which modules are included in our case, take a look at the `JRI_MODULES` variable in `scripts/config.sh`._\n\n## Building locally\n\n1. Install [Docker](https://docs.docker.com/engine/installation/) for your operating system.\n2. Follow this script:\n```bash\n# define parameters\nTARGET_WORKSPACE=\"$(pwd)/build\" # 10 GB of free space should be sufficient, probably less\nTARGET_DEBIAN_VERSION=\"stretch\" # stretch or buster\nTARGET_OPENJDK_VERSION=\"11\" # 9, 10, 12, 13, 14 - retired, may not be working\n                            # 11, 15 - most likely working\n                            # loom or tip - experimental, may be broken\n\n# clone repository\ngit clone https://github.com/ev3dev-lang-java/openjdk-ev3.git\ncd openjdk-ev3\n\n# prepare working directory\nmkdir -p \"$TARGET_WORKSPACE\"\nchmod -R 777 \"$TARGET_WORKSPACE\" # docker may not share UID with the current user\n\n# build base system container\ndocker build --build-arg DEBIAN_RELEASE=\"$TARGET_DEBIAN_VERSION\" \\\n             --build-arg ARCH=\"armel\" \\\n             --tag \"ev3dev-lang-java:jdk-cross-$TARGET_DEBIAN_VERSION\" \\\n             --file ./system/Dockerfile.cross \\\n             ./system\n\n# on top of that, create a build scripts container\ndocker build --build-arg commit=\"$(git rev-parse HEAD)\" \\\n             --build-arg extra=\"Manual build by $(whoami)\" \\\n             --build-arg DEBIAN_RELEASE=\"$TARGET_DEBIAN_VERSION\" \\\n             --build-arg BUILD_TYPE=\"cross\" \\\n             --tag \"ev3dev-lang-java:jdk-cross-build\" \\\n             ./scripts\n\n# now run the build\ndocker run --rm \\\n           --interactive \\\n           --tty \\\n           --volume \"$TARGET_WORKSPACE:/build\" \\\n           --env JDKVER=\"$TARGET_OPENJDK_VERSION\" \\\n           --env JDKVM=\"client\" \\\n           --env JDKPLATFORM=\"ev3\" \\\n           --env JDKDEBUG=\"release\" \\\n           --env AUTOBUILD=\"1\" \\\n           ev3dev-lang-java:jdk-cross-build\n\n# finally, make workspace accessible for all users (i.e. current one too) and list files in its root\nchmod -R 777 \"$TARGET_WORKSPACE\"\n# and list the output directory (now it should contain three *-ev3.tar.gz files)\nls \"$TARGET_WORKSPACE\"\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fev3dev-lang-java%2Fopenjdk-ev3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fev3dev-lang-java%2Fopenjdk-ev3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fev3dev-lang-java%2Fopenjdk-ev3/lists"}