{"id":28420698,"url":"https://github.com/redhat-developer/rsp-server","last_synced_at":"2025-10-12T22:37:32.787Z","repository":{"id":33038067,"uuid":"129792995","full_name":"redhat-developer/rsp-server","owner":"redhat-developer","description":"A server management protocol based on LSP4J","archived":false,"fork":false,"pushed_at":"2025-10-06T20:20:15.000Z","size":5337,"stargazers_count":30,"open_issues_count":17,"forks_count":29,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-10-06T20:46:18.558Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redhat-developer.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2018-04-16T19:11:05.000Z","updated_at":"2025-10-06T20:20:20.000Z","dependencies_parsed_at":"2024-03-01T17:27:47.811Z","dependency_job_id":"afc59867-b24b-4f41-855f-cbbca887edf4","html_url":"https://github.com/redhat-developer/rsp-server","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/redhat-developer/rsp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Frsp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Frsp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Frsp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Frsp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redhat-developer","download_url":"https://codeload.github.com/redhat-developer/rsp-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Frsp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013276,"owners_count":26085250,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-06-05T03:49:15.233Z","updated_at":"2025-10-12T22:37:32.772Z","avatar_url":"https://github.com/redhat-developer.png","language":"Java","readme":"# The Runtime Server Protocol \n\n## Summary\n\nThis protocol will allow an IDE or other client to control various types of application servers. The IDE will communicate with any number of servers whose job is to discover, start, stop, and eventually publish to these application servers. \n\nThe protocol is based on LSP4J, though the messages that can be sent or received are completely unrelated to the language server protocol itself. In short, the base protocol is the same as LSP, but the specification of the messages is different. \n\nThe base protocol of LSP can be found [here](https://microsoft.github.io/language-server-protocol/specification). \nThe RSP Extensions to the base protocol can be found [here](https://github.com/redhat-developer/rsp-server/blob/master/api/docs/org.jboss.tools.rsp.schema/src/main/resources/schemaMD/specification.md)\n\n## Install\n\nThis client / server code can be found for the time being at this location:  https://github.com/redhat-developer/rsp-server\n\n## Get the code\n\nThe easiest way to get started with the code is to [create your own fork](http://help.github.com/forking/),\nand then clone your fork:\n\n    $ git clone git@github.com:\u003cyou\u003e/rsp-server\n    $ cd rsp-server\n    $ git remote add upstream git://github.com/redhat-developer/rsp-server\n\nAt any time, you can pull changes from the upstream and merge them onto your master:\n\n    $ git checkout master               # switches to the 'master' branch\n    $ git pull upstream master          # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch\n    $ git push origin                   # pushes all the updates to your fork, which should be in-sync with 'upstream'\n\nThe general idea is to keep your 'master' branch in-sync with the\n'upstream/master'.\n\n## Building The client and server\n\nThis command will run the build:\n\n    $ mvn clean verify\n\nIf you just want to check if things compiles/builds you can run:\n\n    $ mvn clean verify -DskipTest=true\n\nBut *do not* push changes without having the new and existing unit tests pass!\n\n## Running the Server\n\nTo run the server, first build the entire project.\n\n    [rsp-server] $ mvn clean verify\n\nNext, run the following command to launch the server:\n\n    [rsp-server] $ cd server-wildfly\n    [server-wildfly] $ mvn exec:java\n\nTo customize the hosts or ports, you can either edit the pom.xml for these modules or pass flags. See https://www.mojohaus.org/exec-maven-plugin/usage.html  for more information. \n\n## Using the CLI\n\nThe CLI is a proof-of-concept only, currently demonstrating only that the RSP connection and ability to pass communications back and forth works as expected. \n\n\nTo run the client, in a new shell, run the following:\n\n    [rsp-server] $ cd client-cli\n    [client-cli] $ mvn exec:java\n\n\nThe following commands are supported:\n\n    1) list paths\n    2) add path /some/path\n    3) remove path /some/path\n    4) search path /some/path\n\nSee this example session:\n\n        list paths\n        Paths:\n        add path /home/rob/garbage\n        list paths\n        Paths:\n           /home/rob/garbage\n        search path /home/rob/garbage\n        Beans:\n           garbage,UNKNOWN,,/home/rob/garbage\n        add path /home/rob/apps/jboss/unzipped/wildfly-11.0.0.Final.zip.expanded/\n        list paths\n        Paths:\n           /home/rob/garbage\n           /home/rob/apps/jboss/unzipped/wildfly-11.0.0.Final.zip.expanded/\n        search path /home/rob/apps/jboss/unzipped/wildfly-11.0.0.Final.zip.expanded/\n        Beans:\n           wildfly-11.0.0.Final.zip.expanded,WildFly,11.0,/home/rob/apps/jboss/unzipped/wildfly-11.0.0.Final.zip.expanded\n        remove path /home/rob/apps/jboss/unzipped/wildfly-11.0.0.Final.zip.expanded/\n        remove path /home/rob/garbage\n        list paths\n        Paths:\n        exit\n\n\n\n## Contribute fixes and features\n\n_RSP_ is open source, and we welcome anybody that wants to\nparticipate and contribute!\n\nIf you want to fix a bug or make any changes, please log an issue in\nthe [GitHub issue tracker](https://github.com/redhat-developer/rsp-server/issues)\ndescribing the bug or new feature request. Then, we highly recommend \nmaking the changes on a topic branch named with the issue number. For example, this\ncommand creates a branch for the JBIDE-1234 issue:\n\n\t$ git checkout -b issue23\n\nAfter you're happy with your changes and a full build (with unit\ntests) runs successfully, commit your changes on your topic branch\n(with good comments). Then it's time to check for any recent changes\nthat were made in the official repository:\n\n\t$ git checkout master               # switches to the 'master' branch\n\t$ git pull upstream master          # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch\n\t$ git checkout issue23              # switches to your topic branch\n\t$ git rebase master                 # reapplies your changes on top of the latest in master\n\t                                      (i.e., the latest from master will be the new base for your changes)\n\nIf the pull grabbed a lot of changes, you should rerun your build with\ntests enabled to make sure your changes are still good.\n\nYou can then push your topic branch and its changes into your public fork repository:\n\n\t$ git push origin issue23         # pushes your topic branch into your public fork of RSP\n\nAnd then [generate a pull-request](http://help.github.com/pull-requests/) where we can\nreview the proposed changes, comment on them, discuss them with you,\nand if everything is good merge the changes right into the official\nrepository.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-developer%2Frsp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredhat-developer%2Frsp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-developer%2Frsp-server/lists"}