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

2019.2 compatibility #1545

Merged
merged 16 commits into from Aug 15, 2019
Merged

2019.2 compatibility #1545

merged 16 commits into from Aug 15, 2019

Conversation

KronicDeth
Copy link
Owner

Fixes #1527

Changelog

Enhancements

  • Simplifications due to only supporting IntelliJ 2019.2
    • Don't use reflection for error report Submitter
    • Don't use deprecated WeakHashMap. It was needed for backwards compatibility, but since this build is for 2019.2 only, no compatibility is necessary and it clears up the long warnings from the logs for end users.
    • Remove reflection from OutputToGeneralTestEventsConverters. Only 2019.2 is now supported, so no need for complicated backwards compatibility.
    • Only support IntelliJ 2019.2 in Travis CI
  • Remove Elixir 1.5 and 1.6 builds as they are both > 1 year since the last release approximately.

Bug Fixes

  • IntelliJ 2019.2 compatibility
    • Explicitly depend on java plugin. 2019.2 extracted the Java functionality to a plugin (as outlined here), which includes the JPS builder used for Project Build functionality.

    • Remove project converterts. Project converters are broken in 2019.2 because the DialogWrapper they try to launch isn't being launched in the Event Dispatch Thread (EDT) (https://youtrack.jetbrains.com/issue/IDEA-218071).

      As this is bug in code wholey controlled by upstream, the only option is to remove the project converters. The work-around is for users to re-import projects when a project layout update is necessary.

    • Fix nullability of override arguments in ChooseByNameModel

    • Don't use dependency injection for OpenProcessor builder. JetBrains has removed dependency injection for Extensions in 2019.2.

    • Don't pass a null name ot findSdk

Incompatible Changes

  • Changes needed for 2019.2 compatibility make this build incompatible with earlier releases.

Avoid reflection from now on to spot incompatibilities at compile time.
2019.2 extracted the Java functionality to a plugin (as outlined here
https://blog.jetbrains.com/platform/2019/06/java-functionality-extracted-as-a-plugin/),
which includes the JPS builder.
Project converters are broken in 2019.2 because the DialogWrapper
they try to launch isn't being launched in the Event Dispacht Thread
(EDT) (https://youtrack.jetbrains.com/issue/IDEA-218071).

As this is bug in code wholey controlled by upstream, the only option
is to remove the project converters.  The work-around is for users
to re-import projects when a project layout update is necessary.
It was needed for backwards compatibility, but since this build is for
2019.2 only, no compatibility is necessary and it clears up the long
warnings from the logs for end users.
Fixes #1527

JetBrains has removed dependency injection for Extensions in 2019.2.
Only 2019.2 is now supported, so no need for complicated backwards
compatibility.
It will be 1 year since the last 1.6 update on the 19th, so close enough
to retire.
Can't run because of bug in OpenAPI:

```
com.intellij.openapi.options.SchemeManagerFactory requested as a
service, but it is a component - convert it to a service or change call
to ApplicationManager.getApplication().getComponent()
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't open all project when update to Intellij IDEA 2019.2
1 participant