Closed ctrueden closed 4 years ago
We are now using a beta release of Kotlin (1.4-M1). Kotlin 1.4 is going to be released in 2020, but I do not know when. @skalarproduktraum can probably chime in.
Hey @kephale and @ctrueden,
the issue you're reporting are not related to Kotlin, but to an API changes in ui-behaviour scifio, which I discovered when switching scenery to 29.0.0-beta-1.
It is true that I have switched Kotlin to the preview version 1.4-M1, but at the moment I don't see a particular issue with that. 1.3 only had two milestone releases, and M2 should be just around the corner. If @ctrueden doesn't object I'd like to continue using 1.4-M1.
Also, I'd probably need a hint from @ctrueden how to replace scifio's InitializerService.initializeReader(String)
with InitializerService.initializeReader(Location)
, if I'd still like to feed a filename (String)/URL/Path to it :-)
Already found, thanks!
Okay, changes have been made, see https://github.com/scenerygraphics/scenery/pull/315 -- this should build now. Let me know if anything else is required!
Should we just update pom-scijava-base to use kotlin 1.4-M1, then? Would that be best?
I think it would not hurt (too much), the only issue might be that it's not on central yet, but on a bintray repo, see https://kotlinlang.org/eap/configure-build-for-eap.html
1.4-M2 seems to be out, at least IntelliJ is updating to that right now :-D It's also available on the Bintray repo (https://dl.bintray.com/kotlin/kotlin-eap/org/jetbrains/kotlin/kotlin-compiler/) but no official announcement yet.
Some time ago, I added https://dl.bintray.com/kotlin/kotlin-eap/ as a proxy to the SciJava Maven repository's public group. But it doesn't seem to be working—I can't see or access 1.4-M1 or 1.4-M2 from https://maven.scijava.org/content/groups/public 😢.
I'll see if I can fix it; if so, we could certainly just update to 1.4-M1 or M2 in pom-scijava-base.
The kotlin-eap repository is pretty bad. I have issues with it frequently.
What issues in particular? I think if there are issues that ought to be reported to Jetbrains.
@ctrueden the mirror does not seem up-to-date anyway, for example https://maven.scijava.org/content/groups/public/org/jetbrains/kotlin/kotlin-compiler/ should contain version 1.3.70, 1.3.71, and 1.3.72, but doesn't.
@skalarproduktraum Just to clarify: it's not a mirror. It's a proxy. It only pulls things down on demand. So if artifacts appear missing while browsing, it's because (in theory) those artifacts were never requested. But if the proxy isn't set up right, or if the kotlin-eap repo doesn't play nicely as a proxy for some reason, then we may run into problems where even when artifacts are requested from content/groups/public, it still fails to find them from the correct proxy and cache them. @hinerm and I are planning to investigate this soon, since we really want kotlin-eap to be transparently available from the SciJava Maven repo's public group if at all possible.
@ctrueden I was just playing around trying to manually download kotlin 1.4-M2, and the error it gave me pointed me to the kotlin mirror wasn't in our Public
group.. I added it, and now I can get 1.4-M2 via
$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get -Dartifact=org.jetbrains.kotlin:kotlin-compiler:1.4-M2 -DrepoUrl=http://maven.scijava.org/content/groups/public
so... fixed I think?
@hinerm Oh! You mean kotlin-eap was there as a proxy, but not one of the repositories included in the public group? I didn't realize proxies had to be explicitly added!! That may explain some other problems we've been having with other proxy repositories as well!
Edit: Indeed, I had neglected to add any of the other recently added repository proxies, including Jitpack, to the public group. This explains so much. I can't believe I forgot about that step. I have now added all missing ones to the public group.
@kephale @ctrueden @skalarproduktraum with the next pom-scijava release it should be possible to remove the various version property overrides and additional repositories from your kotlin projects. You can also use https://maven.scijava.org/content/groups/public
as a single-provider for pluginRepositories
Updating scenery to use pom-scijava 29.0.0-beta-1 results in a failed build:
Need to determine whether there is a problem with the pom-scijava-base build configuration, or if the issue is downstream in the scenery POM.