{"id":18372691,"url":"https://github.com/jwoehr/ublu","last_synced_at":"2025-04-06T19:32:12.527Z","repository":{"id":43701276,"uuid":"51802764","full_name":"jwoehr/ublu","owner":"jwoehr","description":"Ublu Midrange and Mainframe Life Cycle Extension Language","archived":false,"fork":false,"pushed_at":"2025-04-05T23:37:23.000Z","size":28792,"stargazers_count":14,"open_issues_count":2,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-06T00:23:11.446Z","etag":null,"topics":["as400","cim","ibm","ibmi","ibmioss","interpreted-languages","java-platform","language","midrange","zvm"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwoehr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.TXT","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":"2016-02-16T02:45:46.000Z","updated_at":"2025-01-12T15:25:57.000Z","dependencies_parsed_at":"2024-10-23T18:27:14.208Z","dependency_job_id":"63b97c7f-bf7f-4672-bcee-fc2dc1748bf2","html_url":"https://github.com/jwoehr/ublu","commit_stats":{"total_commits":1758,"total_committers":11,"mean_commits":159.8181818181818,"dds":0.6126279863481229,"last_synced_commit":"5abe161bdfdfabc3e36c8aa9564fd12f7edb6ce2"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwoehr%2Fublu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwoehr%2Fublu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwoehr%2Fublu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwoehr%2Fublu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwoehr","download_url":"https://codeload.github.com/jwoehr/ublu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247539181,"owners_count":20955264,"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":["as400","cim","ibm","ibmi","ibmioss","interpreted-languages","java-platform","language","midrange","zvm"],"created_at":"2024-11-06T00:06:47.986Z","updated_at":"2025-04-06T19:32:07.517Z","avatar_url":"https://github.com/jwoehr.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ublu\nUblu Midrange and Mainframe Life Cycle Extension Language\u003cbr\u003e\nCopyright (c) 2015, Absolute Performance, Inc. http://www.absolute-performance.com\u003cbr\u003e\nCopyright (c) 2016, 2018, 2022, Jack J. Woehr http://www.softwoehr.com\u003cbr\u003e\nAll rights reserved.\u003cbr\u003e\nSee file LICENSE for license information.\n\n* \u003ca href=\"#general\"\u003eGeneral information\u003c/a\u003e\n* \u003ca href=\"#quickstart\"\u003eQuickstart instructions\u003c/a\u003e\n* \u003ca href=\"#goublu\"\u003eGoublu console support for Ublu\u003c/a\u003e\n* \u003ca href=\"#discussion\"\u003eDiscussion of Ublu\u003c/a\u003e\n\n\u003ca name=\"general\"\u003e\u003c/a\u003e\n## General information\n\nUblu is an interpretive language for remote systems programming of midrange or\nmainframe hosts from a Java platform such as Linux, Mac, OpenBSD or Windows. It\nalso can run natively on IBM i ®, IBM z/OS USS ® or any other reasonable Java\nplatform including Android [UserLAnd](https://userland.tech/).\n\nI wrote Ublu because I wanted a language to run on OpenBSD/Mac/Linux/Windows to\nperform ad-hoc process automation primarily on IBM i. I was\nsupporting consulting clients by writing individual utility programs using JTOpen\nwhich I have used since 1998 to control the AS/400. I decided to consolidate\nthe programs in a language, and the result is Ublu. Ublu is a work in progress,\nas there is always more one could add.\n\nAdditionally, Ublu can call Java directly allowing the user to extend the\nlanguage interpretively in nearly any direction desired.\n\nRunning Ublu directly on IBM i is especially useful for modelling processes\nwhich you might later wish to code in straight Java. Or maybe you'll leave them\nin Ublu. Whatever works!\n\nUblu is Open Source Software under the BSD-2 license.\n\nThe user's guide is [userdoc/ubluguide.html](http://www.softwoehr.com/softwoehr/oss/ubludoc/ubluguide.html)\n\nThe full reference is [userdoc/ubluref.html](http://www.softwoehr.com/softwoehr/oss/ubludoc/ubluref.html)\n\nHere's an [example of Ublu code](http://www.softwoehr.com/softwoehr/oss/ubludoc/jobstuff-example.html)\n\nThe example is syntax-colored using a [jEdit](https://jedit.org) edit mode provided with Ublu.\n\nThe latest release version of Ublu is [version 2.0.0](https://github.com/jwoehr/ublu/releases/tag/v2.0.0).\n\nUblu is distributed with some of the open source libraries it needs and their license files which permit such distribution.\nOthers are fetched into the project at build time via \u003ca href=\"https://maven.apache.org/\"\u003e`maven`\u003c/a\u003e.\n\nUblu is already a stable and useful tool which has seen much use in the real world. It is neither complete nor perfect,\nbut what is in this world? As with all open source software, there is \u003cb\u003eNO WARRANTY nor GUARANTEE include as regards\nsuitability for any given application\u003c/b\u003e.\n\n\u003ca name=\"quickstart\"\u003e\u003c/a\u003e\n## Quick start instructions\n\nDownload the release, unpack and `java -jar ublu.jar` to run Ublu.\n\nOr clone the source for Ublu and do a `maven` build:\n\n* Clone the [Ublu GitHub repository](https://github.com/jwoehr/ublu.git) or download source from the [latest release](https://github.com/jwoehr/ublu/releases)\n* Load the project in [NetBeans](http://www.netbeans.org) or [Eclipse](https://www.eclipse.org/) or cd to the top dir of the checkout and type `make clean dist` which will run the appropriate `maven` commands for you.\n* `target/ublu.jar` is the runtime system.\n* `java -jar target/ublu.jar` to run Ublu as a plain Java console application.\n\n**Note regarding checking out the current source:** Release versions of Ublu come with a standard release of JTOpen.\nBetween Ublu releases, I build and sometimes modify JTOpen so that Ublu can leverage forthcoming features of JTOpen.\nWhen you check out the source between releases, it is an intermediate version JTOpen that is checked out with Ublu.\n\n\u003ca name=\"goublu\"\u003e\u003c/a\u003e\n## Goublu console support for Ublu\n\nUblu's interpreter relies on Java's console support, which is very weak.\nSo I have coded [Goublu](https://github.com/jwoehr/goublu) in [Go language](https://golang.org/).\n\n![goublu_screenshot](https://user-images.githubusercontent.com/4604036/28322382-317d05fa-6b93-11e7-8457-b07eec2873af.png)\n\nGoublu is a console front-end that provides an editable Ublu command line. The go command\n\n`go get -u github.com/jwoehr/goublu`\n\nwill fetch the source to your `$GOPATH/src` directory. `cd $GOPATH/src/github.com/jwoehr/goublu; ./make.sh` to build Goublu for your architecture.\n\n## Ublu in a Window\nYou can start Ublu in a window with the `-w [propsfilepath]` switch.\n![Ublu in a Window](https://user-images.githubusercontent.com/4604036/27810879-ed42fa88-601c-11e7-9415-83437266c091.jpg)\n\n## \u003ca name=\"discussion\"\u003eDiscussion of Ublu\u003c/a\u003e\n\nReport bugs or make feature requests in the [Issue Tracker](https://github.com/jwoehr/ublu/issues)\n\nThere is some more information in the [Ublu Wiki](https://github.com/jwoehr/ublu/wiki) including zine article references.\n\nDiscuss Ublu in the [IBMiOSS Java forum on Ryver](https://ibmioss.ryver.com/index.html#forums/1057363).\n\nHere is the [IBMiOSS signup page for the free Open Source Software on IBM i organization on Ryver](http://ibm.biz/ibmioss-chat)\nthat hosts the Java forum.\n\n![Ublu running native on IBM i](https://user-images.githubusercontent.com/4604036/30892141-33301764-a2f4-11e7-88e6-e7583866037e.jpg)\n*_Ublu running native on IBM i_*\n\n## Default Branch Renamed\n\nThe default branch has been renamed!\n\n`master` is now named `main`\n\nIf you have a local clone, you can update it by running:\n```\ngit branch -m master main\ngit fetch origin\ngit branch -u origin/main main\ngit remote set-head origin -a\n```\n## Software Bill of Materials\nThe [Software Bill of Materials (SBOM)](https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository) is `SBOM_ublu_jwoehr_*.json`\n\nJack Woehr 2023-06-07\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwoehr%2Fublu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwoehr%2Fublu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwoehr%2Fublu/lists"}