{"id":22766863,"url":"https://github.com/ls1intum/orion","last_synced_at":"2025-08-09T05:31:12.189Z","repository":{"id":41887003,"uuid":"203402411","full_name":"ls1intum/Orion","owner":"ls1intum","description":"Plugin integrating Artemis programming exercises into IntelliJ","archived":false,"fork":false,"pushed_at":"2024-09-18T05:54:46.000Z","size":48639,"stargazers_count":31,"open_issues_count":10,"forks_count":7,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-09-18T08:20:50.547Z","etag":null,"topics":["artemis","intellij","interactive-learning"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/13217-orion--artemis-programming-exercise-integration/","language":"Kotlin","has_issues":true,"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/ls1intum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-08-20T15:20:21.000Z","updated_at":"2024-09-18T05:54:49.000Z","dependencies_parsed_at":"2023-12-19T16:16:20.301Z","dependency_job_id":"e0c03ec6-daf6-4ed2-adff-84b7e8e631e8","html_url":"https://github.com/ls1intum/Orion","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ls1intum%2FOrion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ls1intum%2FOrion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ls1intum%2FOrion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ls1intum%2FOrion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ls1intum","download_url":"https://codeload.github.com/ls1intum/Orion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229229775,"owners_count":18040509,"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":["artemis","intellij","interactive-learning"],"created_at":"2024-12-11T13:15:20.704Z","updated_at":"2025-08-09T05:31:12.128Z","avatar_url":"https://github.com/ls1intum.png","language":"Kotlin","readme":"# Orion IntelliJ Plugin\n\n## Deprecated and no longer maintained. The plugin does not work with the current Artemis or JetBrains IDE versions.\nIn the future we will provide a VSCode extension for Artemis.\n\nOpen Artemis IDE plugin for the programming exercise integration.\nThis plugin integrates the [Artemis](https://github.com/ls1intum/Artemis) interactive learning platform into a JetBrains IDE.\nIt allows you to directly import programming exercises from Artemis and submit your changes to the build servers.\n\nDetailed documentation is integrated into [Artemis' documentation](https://ls1intum.github.io/Artemis/).\n\n**Current Version:**  \n![GitHub release (latest by date)](https://img.shields.io/github/v/release/ls1intum/Orion)\n\n## Example Usage\n![](.github/media/orion_workflow.gif)\n\n## Manual Installation\n\nDownload the release from [here](https://github.com/ls1intum/Orion/releases) and install it as described [further down in this document](https://github.com/ls1intum/Orion#install-release-zip).\n\n## Development\n![Orion Deployment diagram](https://github.com/Kroko-fant/Orion/assets/25010075/ec7aafe8-d8ca-4c10-902f-d2f85f981368)\n\nUI Elements within the Orion tool window are provided \n\n\n### Run/Debug the Plugin\n\n- Import as gradle project\n- Select the JDK `\u003e17` as the project SDK with language level 17\n- Run Gradle task: `runIde`. This will open a new IntelliJ window with the plugin installed.\n\n### Perform Version Upgrade\n\nUpon release of a new major version from JetBrains, the plugin needs updated dependencies to support the latest version. This upgrade can often also be performed with little knowledge of the codebase. The following outlines the necessary steps:\n1. If you do not have write access to the GitHub repository, fork the repository and clone it\n2. Make sure you are able to run the plugin locally as described above\n3. Adapt the versions in the gradle properties file [gradle.properties](https://github.com/ls1intum/Orion/blob/main/gradle.properties). \n   1. At `platformVersion`, change the version property to the latest version. This is the IntelliJ version used for \"runIde\". \n   2. Change `pluginSinceBuild` and `pluginUntilBuild` property accordingly. A comment explains the format there.\n4. Adapt the versions in the build configuration file [build.gradle.kts](https://github.com/ls1intum/Orion/blob/main/build.gradle.kts)\n   1. Adapt the version numbers of all versioned plugins at `intellij`→`plugins`. You can look up each plugin in the IntelliJ marketplace and find the latest compatible version there.\n   2. Optionally upgrade the versions of the dependencies at `plugins` and `dependencies`, however, this is usually unnecessary.\n5. Run the project locally with runIde or buildPlugin. If compilation errors happen, try to resolve them; on version changes, IntelliJ sometimes deprecates APIs or moves packages. Fixing these errors requires looking into and changing the code. A helpful resource is the [documentation of the IntelliJ Platform SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html).\n6. When the plugin runs locally, create a pull request with your changes. Also, consider notifying a maintainer of Orion or Artemis to make sure your pull request gets noticed.\n  \n### Testing of Pull Requests\n\n1.  #### Download Release (.zip)\n    \n    Download the release file from the pull request's _Checks_ \u0026rarr; _Artifacts_ \u0026rarr; _orion_\n    \n    The artifact is unavailable during building. The full history of artifacts can be retrieved through the _Actions_ tab\n![](.github/media/download_release.png)\n\n2.  #### Install Release (.zip)\n   \n    Install the release file in IntelliJ at _Settings_ \u0026rarr; _Plugins_ \u0026rarr; _Settings_ \u0026rarr; _Install Plugin from Disk..._ \u0026rarr; Select the file\n![](.github/media/install_release.png)  \n    \u003cdetails\u003e\n    \u003csummary\u003eInstallation process as gif\u003c/summary\u003e\n   \n    ![](.github/media/orion_installation.gif)\n    \u003c/details\u003e\n\n## Publish a new Release\n\n**Before you release any new version, make sure that all version properties in the repository are updated\n(`version` in `build.gradle.kts`) and the changelog contains the relevant version information (also in `build.gradle.kts`)**\n\n\nFollow the steps outlined here:\n\n![](.github/media/home_to_release.png)\n\n1. Go to the GitHub \"_Releases_\" in the Orion repository\n2. Click on \"_Draft a new release_\"\n\n   ![](.github/media/releases_list.png)\n\n3. Choose as a tag the new version number to release (e.g. tag version `v1.5.0` releases the version `1.5.0`)\n4. Let the release notes be auto-generated by clicking `Generate release notes`\n\n   ![](.github/media/create_release.png)\n\n5. An admin now has to review and accept the new release\n6. After the release is approved, GitHub will automatically build and upload the artifact as well as publish the new version to the marketplace.\n\nThe latest plugin artifact is now available on GitHub and via the JetBrains marketplace. \n\n**It might take some time for the latest version to be seen on the marketplace since JetBrains still has to review \nand approve the changes!**\n\n![](.github/media/release.gif)\n\n### Release Process Implementation\n\n**How can I modify the pipeline?**\n\nThe release pipeline is implemented using GitHub actions. To change anything about the process, you just\nhave to edit the `release.yml` in the `.github/workflows` directory.\n\n**Where can I find secrets like the authentication token for the JetBrains repository?**\n\nAdmins of the GitHub repository can modify the build environment under  _Settings -\u003e Environments -\u003e prod_. This includes\n\nadding and updating any secrets that should get injected into the environment during the build process.\n\n## Feedback? Questions?\nEmail: krusche(at)tum(dot)de\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fls1intum%2Forion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fls1intum%2Forion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fls1intum%2Forion/lists"}