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

Sync Maven dependencies with Gradle dependencies #1311

Closed
cmnrd opened this issue Jul 31, 2022 · 6 comments · Fixed by #1387
Closed

Sync Maven dependencies with Gradle dependencies #1311

cmnrd opened this issue Jul 31, 2022 · 6 comments · Fixed by #1387
Labels
bug Something isn't working build system epoch Epoch IDE
Milestone

Comments

@cmnrd
Copy link
Collaborator

cmnrd commented Jul 31, 2022

It appears that Maven uses a Kotlin version below 1.5 while in gradle we use Kotlin 1.6.20. This surfaced because #1218 made use of the lowercase function introduced in Kotlin 1.5. But in the corresponding CI run (https://github.com/lf-lang/lingua-franca/runs/7590796430?check_suite_focus=true) the Maven build fails. The kotlin versions should be synchronized between both build systems. While we are at it, we should also double check all other dependencies.

@cmnrd cmnrd added bug Something isn't working build system labels Jul 31, 2022
@cmnrd cmnrd added this to the 0.4.0 milestone Jul 31, 2022
@lhstrh
Copy link
Member

lhstrh commented Jul 31, 2022

@lhstrh
Copy link
Member

lhstrh commented Aug 26, 2022

I'm uncertain what is the action item here. Are versions out of sync in master and this needs to be fixed? Or do we just want to jump to a new version? If so, which one? Tagging @cmnrd and @jhaye.

@cmnrd
Copy link
Collaborator Author

cmnrd commented Sep 7, 2022

There are 3 action items:

  • Update the Maven configuration so that it uses the same Kotlin version as is specified in gradle.properties.
  • Double check that all other dependency versions are in sync
  • Double check that the script linked by @lhstrh above works as expected when setting a new Kotlin version

At the moment I don't see a reason to bump the Kotlin version altogether.

@cmnrd cmnrd added the epoch Epoch IDE label Sep 22, 2022
@cmnrd
Copy link
Collaborator Author

cmnrd commented Sep 22, 2022

After some investigation I found that the Maven configuration is actually correct and specifies the same kotlin version as the one used in gradle. However, it appears that instead the Ecipse plugin is used for building the Kotlin files and it ships a much older version of Eclipse (1.4.0). Hence, the misalignment between Kotlin versions.

I am not sure how to resolve this. One option would be to revert the Kotlin version in our gradle configuration to 1.4.0. But this means that we are stuck with this old version until we find another solution. Also it might mean that we have to downgrade other dependencies. The alternative would be to drop support for the Kotlin based targets (C++, Rust, TypeScript) altogether in Epoch and promote VS Code instead.

This is closely related to lf-lang/epoch#10 as the underlying issue is the same, but it actually extends it to all platforms. Also tagging @a-sr on this.

@a-sr
Copy link
Collaborator

a-sr commented Sep 26, 2022

I was aware that the Kotlin plugin ships an outdated version but I hoped it would not cause any severe problems.
Since this is starting to cause more and more issues, I will try to create an Eclipse plugin that mirrors the up-to-date libraries for the Eclipse runtime (#1377). We use the same mechanism in Kieler to make dependencies only located at maven central available to plugins. If it works, it should resolve this issue and maybe even #1371.

@lhstrh
Copy link
Member

lhstrh commented Sep 26, 2022

This is hugely appreciated, @a-sr. Thanks for undertaking this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build system epoch Epoch IDE
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants