gwt-plugins/gwt-eclipse-plugin

Super/Legacy Development Mode Radio Toggle missing for GWT 2.10.x

CalculonPrime opened this issue · 18 comments

When you have GWT 2.10.x selected for a project, then with the current v4.0.0 GWT Plugin, the radio button is missing/hidden. The workaround is to switch back to GWT 2.9.x. This may be due to code that attempts to parse the GWT SDK version as a float, and thus thinks the GWT version is 2.1, perhaps too old a version to be supported by the plugin.

My use case is that I have a custom linker and some resources that need to be initialized by starting up classic development mode, even though it's not supported by any current browser (you don't have open anything in a browser in my case case, just start up classic dev mode). So I need to be able to toggle between the modes without having to revert back to GWT 2.9.x. (For whatever reason, in Super Development Mode, the resource initialization doesn't work because of the emulated file system.)

My use case is that I have a custom linker and some resources that need to be initialized by starting up classic development mode, even though it's not supported by any current browser (you don't have open anything in a browser in my case case, just start up classic dev mode). So I need to be able to toggle between the modes without having to revert back to GWT 2.9.x. (For whatever reason, in Super Development Mode, the resource initialization doesn't work because of the emulated file system.)

Can you elaborate here? Legacy dev mode (it hasn't been "classic" for many years..) should not be necessary for testing linkers, and will break in very irritating ways even in htmlunit with Java 9+. I've recently been doing some linker development, and have not run into this issue, but if there is something to be addressed we should cover it over in the main GWT project.

The file system in SuperDevMode is emulated, so nothing you write will persist as far as I can tell. I so I need to use classic mode to actually write to the file system. It's not for testing the linker, it's for running the linker, and having the output persisted.

Can you be more specific? Are you writing private or deploy artifacts that shouldn't go out in the public directory, so the browser can't directly request them (nor can you see them on the codeserver)?

I'm assuming you've checked the workDir and launch directory?

If none if this is helping, can you give a specific concrete example? As above, we haven't been having this issue in writing custom linkers for SDM and web workers the last few weeks. It could well be just a configuration issue, or not knowing what the directory should be...

Before I try to answer that, can you let me know whether the missing radio button is a bug or an intentional change?

I strongly suspect it wasn't, but I am not all of the developers on this project, and we've inherited code that we don't always fully understand or agree with. I'm guessing bug, but will happily get back to you.

If you have a bug where linkers don't work, or are hard to debug, we'd love to have it over in https://github.com/gwtproject/gwt

Yep here we are:

/**
* Returns true if the SDK version number supports Super Dev Mode (i.e, 2.5.0 or above).
*
* @param version sdk version number
* @return true if super dev mode can be used
*/
private boolean canSdkVersionUseSuperDevMode(String version) {
return version.matches("^2.([5-9]|1\\d).*") || version.matches("^[3-9].*");
}

...and it turns out this has already been fixed, in ee474e5. We'll get a release out with it and other pending fixes soon.

Kiiv commented

Any update for this release ? Or maybe an available snapshot ?

EDIT : I've missed the niglty update site, I'll try this one

Kiiv commented

latest nightly build seemed to be 20230224 so this one is not available

Thanks for checking, I'll look into it. We have a webhook setup, but it might not be behaving.

Kiiv commented

Any news about that ? Maybe an ETA for the next release or at least a new nightly ? :)

I confirm having the same issue. Radio buttons disappear and re-appear when switching the default GWT library to 2.10 and then back to 2.9.

image

With the panel missing it always sets "-nosuperDevMode" argument. There is still a way to launch this configuration in Superdev mode by replacing the "-nosuperDevMode" parameter with "-superDevMode". It will run in superdev mode, but the next time the launch configuration dialog is open the "-nosuperDevMode" argument is back.

Hi @cherio, @Kiiv,
the nightly might be down, but CI artifacts are there:

https://github.com/gwt-plugins/gwt-eclipse-plugin/actions/runs/4309290937

image

BTW, if you're really interested in having this project maintained, please consider contributing (not on this one... already fixed :)

Sorry about the nightly builds - I've manually pushed a nightly to the server now, and will try to get this working in an automated way soon.

nowoe commented

The nightly update site seems unreachable: https://plugins.gwtproject.org/eclipse/gwt-eclipse-plugin/nightly
Any chance for a 4.0.1 release?

If you're referring to the message

Document could not be loaded by browser.

that is only an error in the browser - that URL can be used in eclipse as an update site.

nowoe commented

Indeed I've tried the URL in the browser, thank you.

This issue is fixed in main since a while.
Now we have a release candidate, so I think that this issue can be safely closed

4.1.0rc1 It is downloadable here:

https://github.com/gwt-plugins/gwt-eclipse-plugin/releases/download/v4.1.0-rc1/gwt_eclise_plugin_v4.1.0_rc1.zip

Not long before publication on the store