Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support future versions automatically #73

Merged
merged 3 commits into from
Oct 4, 2024

Conversation

popematt
Copy link
Contributor

@popematt popematt commented Oct 4, 2024

Issue #, if available:

Follow-up to #72

Description of changes:

This:

  • Removes all of the duplicated code for different IDE versions
  • There's a few code modifications to make things work with the latest dependencies. JavaIonOperatorMarkerProvider.kt and IonCodeStyleSettingsProvider.kt were updated so that they no longer rely on deprecated APIs.
  • plugin.xml was updated to specify a "K2" support mode, as is required for compatibility with future versions. From what I can tell, this is largely irrelevant for our plugin since we don't interact with the Kotlin compiler.
  • Switches the GitHub workflows to use CodeBuild runners so that there's enough disk space to run verifyPlugin for all of the versions that need to be verified. (Large CodeBuild ARM runners have 128GB disk space vs ~14GB in the GitHub hosted runners.)
    • Except for the build workflow, which has a separate Build (fork) job that doesn't use CodeBuild runners, and so it can only run ./gradlew build but not the pluginVerify task.
  • Removes PluginDescriptor and all related code. We no longer need to build different versions of the plugin for different versions of the IDE.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@popematt popematt requested a review from linlin-s October 4, 2024 15:11
# then the `printProductReleases` won't display a full range of products; it will only display the
# "supportedSinceIdeVersion" product. So, instead, we set this so far in the future that IntelliJ
# might not even exist by then.
supportedUntilIdeVersion = 993.*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth linking to one of these, here? Also might as well use 999, who's to say that by 2099 they won't have 9+ releases per year because we're in the middle of an IDE singularity or something? :P

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look, if there's an IDE singularity in 2099, that's someone else's problem. I'm going to be retiring in 2098 at the latest. 😉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd consider it an unqualified success (on the part of Ion and IntelliJ both) if anyone ever sees a problem from this.

jobs:

# Build and test plugin and provide artifact.
build:
name: Build
runs-on: ubuntu-latest
runs-on: codebuild-ion-intellij-plugin-${{ github.run_id }}-${{ github.run_attempt }}-arm-3.0-large
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using CodeBuild here is awesome. This makes me think it might be a good idea to use CodeBuild runner in Ion-Java-Regression-Detection workflow too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly. We can talk about it next week if you like.

@popematt popematt merged commit 287f3b0 into amazon-ion:master Oct 4, 2024
5 checks passed
@popematt popematt mentioned this pull request Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants