{"id":18577029,"url":"https://github.com/testfx/monocle","last_synced_at":"2025-04-10T09:30:43.867Z","repository":{"id":22946619,"uuid":"26296058","full_name":"TestFX/Monocle","owner":"TestFX","description":"Pre-packaged builds of Monocle (OpenJFX)","archived":false,"fork":false,"pushed_at":"2024-02-27T02:38:25.000Z","size":719,"stargazers_count":50,"open_issues_count":4,"forks_count":24,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-24T19:08:44.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TestFX.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":"2014-11-07T00:09:35.000Z","updated_at":"2024-10-25T00:01:37.000Z","dependencies_parsed_at":"2023-01-13T22:30:07.814Z","dependency_job_id":"d284e900-1d9f-4fea-ab32-10928224786c","html_url":"https://github.com/TestFX/Monocle","commit_stats":{"total_commits":59,"total_committers":4,"mean_commits":14.75,"dds":0.5084745762711864,"last_synced_commit":"c66c32bbc50bf3d3085bc15a67437f0ba5f0243c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestFX%2FMonocle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestFX%2FMonocle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestFX%2FMonocle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestFX%2FMonocle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TestFX","download_url":"https://codeload.github.com/TestFX/Monocle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248191629,"owners_count":21062540,"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":[],"created_at":"2024-11-06T23:27:35.027Z","updated_at":"2025-04-10T09:30:43.402Z","avatar_url":"https://github.com/TestFX.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenJFX Monocle\n\n### NOTE\nThis is not the official OpenJFX Monocle repository. This repository is used to build\nMonocle for use with TestFX. The official OpenJFX Monocle repository is located at\nhttps://github.com/openjdk/jfx.\n\n## Summary\n\n**Monocle** is the implementation of the Glass windowing component of JavaFX for embedded systems\n[\\[1\\]][1]. It is part of the Java Platform since version 8u20 (released in August 2014), but not\nincluded in builds for desktop platforms (Windows, Linux, Mac) [\\[2\\]][2].\n\nThis repository provides pre-packaged builds of Monocle taken from the OpenJFX project. The builds\ninclude components to run in headless environments. They do not include native libraries for\nlow-level access.\n\n[1]: https://wiki.openjdk.java.net/display/OpenJFX/Monocle\n[2]: http://mail.openjdk.java.net/pipermail/openjfx-dev/2014-November/016111.html\n\n## Gradle\n\n```gradle\ntestCompile 'org.testfx:openjfx-monocle:21.0.2' // For OpenJFX 21\ntestCompile 'org.testfx:openjfx-monocle:17.0.10' // For OpenJFX 17\ntestCompile 'org.testfx:openjfx-monocle:11.0.2' // For OpenJFX 11\ntestCompile 'org.testfx:openjfx-monocle:jdk-8.0.372' // For Java 8\n```\n\n## Maven\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.testfx\u003c/groupId\u003e\n    \u003cartifactId\u003eopenjfx-monocle\u003c/artifactId\u003e\n    \u003cversion\u003e21.0.2\u003c/version\u003e \u003c!-- 17.0.10 For OpenJFX 17, 11.0.2 For OpenJFX 11, jdk-8.0.372 for Java 8 --\u003e\n    \u003cscope\u003etest\u003c/scope\u003e\n\u003c/dependency\u003e\n```\n\n## Build (under Windows)\n\nThere are branches for each of the LTS releases of OpenJFX. Currently, we are \nsupporting four branches, until the support for each LTS release ends.\n\n- **jdk-21:** OpenJFX 21\n- **jdk-17:** OpenJFX 17\n- **jdk-11:** OpenJFX 11\n- **jdk-8:** OpenJFX 8u-dev\n\nTo build Monocle for a specific JDK version, clone the repository and checkout the tag.\n\n```\nC:\\\u003e git clone https://github.com/TestFX/Monocle\nC:\\\u003e cd Monocle\nC:\\\u003e git checkout jdk-21\n```\n\nChoose the JDK version and build the jars.\n\n```\nC:\\\u003e set JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_20\nC:\\\u003e gradlew clean jar\nC:\\\u003e dir build\\libs\n```\n\n## Updating Monocle\n\nTo update the build to newer versions of Monocle just copy source code files from\n[src/main/java/com/sun/glass/ui/monocle][10] into the directory `src/main/java` and resource files\nfrom [src/main/resources/com/sun/glass/ui/monocle][11] into the directory `src/main/resources`. Use\nthe links `bz2`, `zip` or `gz` to export the files as archive.\n\n## Automatic Update (beta)\n\nThe `sync.sh` Bash script attempts to automate the process of updating to a newer version\nof Monocle from the OpenJFX repository. The script will look for the highest build number\n(such as b00, b01, etc.) for each version (such as 8u45, 8u60, etc.) and if there is no\ncorresponding tag in this repository for that version/build number combination it will\noffer to open a pull-request with the changeset from the upstream OpenJFX repository.\nThe PR is opened using the [hub][13] tool (which is automatically downloaded if you\ndo not have it installed). This script should work on any flavor of Linux (including\nthe Windows Subsystem for Linux) and macOS. Improvements to it are very welcome!\n\n[13]: https://github.com/github/hub\n\n## Issuing a Release\n\nAfter you have either manually or automatically updated to the latest Monocle version\nyou can issue a release by doing the following:\n\n### Upgraded Monocle Version is First Build (YY) for New Major Java Version (XX)\n\n* Add the gradle dependency info to `README.md` under `Gradle` header:\n\n```gradle\ntestCompile \"org.testfx:openjfx-monocle:[openjdk.version]\" // For OpenJFX XX\ntestCompile 'org.testfx:openjfx-monocle:21.0.2' // For OpenJFX 21\ntestCompile 'org.testfx:openjfx-monocle:17.0.10' // For OpenJFX 17\ntestCompile 'org.testfx:openjfx-monocle:11.0.2' // For OpenJFX 11\ntestCompile 'org.testfx:openjfx-monocle:jdk-8.0.372' // For Java 8\n```\n\n* Change the Maven dependency info in `README.md` under the `Maven` header:\n\n```pom\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.testfx\u003c/groupId\u003e\n    \u003cartifactId\u003eopenjfx-monocle\u003c/artifactId\u003e\n    \u003cversion\u003e[openjdk.version]\u003c/version\u003e \u003c!-- 17.0.10 For OpenJFX 17, 11.0.2 For OpenJFX 11, jdk-8.0.372 for Java 8 --\u003e\n    \u003cscope\u003etest\u003c/scope\u003e\n\u003c/dependency\u003e\n```\n\n* Bump the project version in `gradle.properties` to the new version:\n\n```\ngroup = org.testfx\nversion = [openjdk.version]\n```\n\n\n### Make the Release\n\n* Commit the above changes with the commit message `(release) Monocle [openjdk.version].` to upstream\n(either by creating a PR or pushing the commit directly).\n\n* Tag the new commit (note the `v` prefix character so that the branch name does not conflict\nwith the tag name):\n\n`git tag -a v[openjdk.version]`\n\n* Push the tag to upstream:\n\n`git push upstream v[openjdk.version]`\n\n## License\n\nOpenJDK and OpenJFX are licensed under the [GNU General Public License, version 2, with the\nClasspath Exception][20].\n\n[20]: http://openjdk.java.net/legal/gplv2+ce.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestfx%2Fmonocle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftestfx%2Fmonocle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestfx%2Fmonocle/lists"}