Has IntelliJ Community Edition 19.2.4 had a bug introduced with Kotlin 1.3.60 handling multi-platform test names that use back ticks? - intellij-idea

My tests are now (with the 1.3.60 upgrade) reporting a Javascript issue (does not support spaces in the common module test names) even though JS is not a configured target. Only JVM is configured for now. This is new to IntellJ as it behaved perfectly with 1.3.50. Interestingly enough this is clearly an IntellJ issue as Gradle builds the library just fine and even IntelliJ runs the tests marked in red just fine. So it would appear that some code to ignore the spaces in names when JS is not configured has been removed or is not working properly. Can anyone confirm or refute my theory. If the former I'll file a bug. If the latter, I'll keep debugging.
Truth in advertising demands that I also confess to having just upgraded my Catalina Macos system to run on a case-sensitive file system whereas it previously was case-insensitive. It would be both bizarre and a bug for this to be relevant, IMHO.

Related

Versioning APIs during internal development

In our team we have a number of APIs specified using the Open API Specification (formerly Swagger). We use Maven and OpenAPI Generator to generate code, build and publish the artifact to our local nexus. We build our code on TeamCity. The artifact is given the version that is specified in the pom.xml file of Maven.
During development we only use snapshot versions, that is versions which can be overwritten and will be cleaned up. This is opposite to release versions, that cannot be overwritten and needs administrative privileges to clean up. The reason for this is, that a developer usually changes a little bit at the time, which is much more convenient with snapshot versions. This also makes cleaning up outdated unreleased artifacts much easier.
Our problem is, that from time to time a developer makes API changes but forgets to set a new version. This works fine locally, but when the code is build on TeamCity the changed API overwrites the artifact of an older version. A developer not working on this branch will then experience a compile error, because the code does not match the API artifact being used.
What does others do? Is there a best practice? Preferably with standard tools. We have tried many things and nothing works well. At the same time this issue is so basic that someone must have a good solution - or at least experience enough to point to the least bad solution.

How can I stop my IAR ide from hanging when changing build configurations

I have come across this particular problem several times across several versions of the IAR embedded workbench (EW430 5.40.7 [EW 6.0], EW430 5.51.2 [EW 6.4], EW430 6.20.1 [EW 7.0]), but each time only after a long period of having no problems. The problem doesn't seem to have affected the other firmware developers in the office, so no help can be offered there. I'm currently on Windows 10, but the problems first occurred when I was on Windows 8.1 (same PC.)
The problem is that, for no obvious trigger, the IAR ide will start to hang until terminated (or it will just crash on one of the EW versions) on any attempt to change the active build configuration in MSP430 projects using the emulator.
From my testing, it appears to be directly related to something the IDE is doing with the emulator, as when the build configuration is changed, I can see the emulator menu in the menu bar disappear, then the hang happens. Under normal circumstances, the menu will disappear, but then reappear once the other debug configuration is completely loaded.
I have tried the default project "flashing the LED" to see if it was only my project - but if I select the msp430x4xx (C) - Debug, right click it and select "Set as Active" from the context menu, to make this the active project, the IDE also hung. I then reopened the EW IDE, and opened the LED flashing project again. The original 1xx asm project was the active project.
I then changed the settings of the 4xx (C) Debug project (without making it the active project) from the emulator to the simulator, and clicked OK. The program did NOT crash.
I then set the 4xx (C) Debug project as the active project and it did NOT crash. The simulator even runs without problems.
The version of the FET firmware didn't change from when the IDE worked correctly to when it didn't, and the FET is not even used at this point. It can be completely disconnected and the same results will occur.
I have tried the following, without success:
erasing the files in my project folder's settings subfolder
erasing the *.dep files in the project folder.
deleting the IarIdePm.ini file from AppData\Roaming\IAR Embedded Workbench
making sure none of the project files are read-only
reinstalling the program to the same location
removing and reinstalling the program to the same location.
What does solve the problem (until it reoccurs) is to reinstall the program, but to a different directory (for e.g., the default directory will be in program files (x86)\IAR Systems\Embedded Workbench x.x. Installing again into program files (x86)\IAR Systems\EWx (just so it is different) allowed that installation to work, but the old installation continued to fail.
Best advice so far (from our support person) has been to do the above, install to another directory and live with it, as it doesn't happen often.
Since it has happened to me on 3 occasions with 3 different versions of the program, I would like to know how to fix or prevent it! If anyone could offer anything to try (or even better, a straight solution :)) that would be greatly appreciated!
Cheers!
Since newer versions and updates on W10, it seems that old compatibilities are being removed from this OS. I have no direct solution for this problem since Microsoft does not promise support for old software and hardware. Even I tried to find a solution for that problem, and I found on the IAR website a list of IDE's and their compatible versions. (remember, old versions are not compatible)
( https://www.iar.com/knowledge/support/technical-notes/ide/windows-10-and-iar-embedded-workbench/ )
You will need to update your IDE and program version to a newer version if you plan to continue to use this IDE natively on Windows 10 or you may use Virtual machines with an old operational system (like Windows 7) to compile your program on old IDE.
P.S.1 I manually uninstalled KB4592449 recently updated and the program return to work natively. Probably it will continue working until this update (or other similar) being installed again on the computer, but probably there is any vulnerability that the computer will be exposed to, and in this case, I'm paying the price.
P.S.2 KB4580325 promotes the same behavior in IAR 5.11 on windows 10. Both KB's implement securities about the flash player - that I Don't use - then, I can securely uninstall it.
P.S.3 Since I updated my windows up to Windows 10 version 21H1 (compilation 19043.1165) AND I configured Windows defender to not be monitoring IAR IDE (IarIdePM.exe) disabling all protections available, everything works fine. But Remember: my program is original, not cracked or altered by anything, then I am secure to do what I did.
It is a 'natural' that software problem. Not found way of fixing it. The solution temporary is modify manually the file .eww for change of project active. The ultimate solution is to use another development environment.

Eclipse plugin working on windows, but not on mac

My plugin is stored as an archived update site (.zip), and works perfectly fine in Indigo (3.7.1) and Juno (4.2) on Windows. However, when trying to run it on Mac OSX (tried on two different machines) and a fresh Juno, the installation works as usual and the plugin seems to be installed with no errors, but none of the plugin features are available (1 view, 2 buttons on main toolbar).
Starting eclipse from terminal just gives the warning No binding table for org.eclipse.ui.contexts.dialog, but after a bit of research, this seems to be a known and harmless issue of eclipse 4.2.
When looking at installation details, my plugin is listed as usual, just the features are missing...
What is going on here?
To figure it out, I did some debugging on a Mac, and it turned out, that it was a problem with the JRE-versions: My plugin requested 1.7, whereas the macs only had 1.6 installed. But still it's strange that eclipse doesn't say a word to the user at any time, even though it's declared in the MANIFEST.MF...

Should we store JRE in CVS/SVN?

I want to bundle JRE 6.0 together with my java application. All my source code reside in CVS. My client will check-out the code and build it themselves. Should I store JRE in CVS?
I normally advocate putting most everything in source control, but this seems a little excessive. Why ?
the JRE is readily available from http://java.sun.com
it doesn't change that often. I'd expect you to specify a minimum version for your code to run against (e.g. 1.5, 1.6 etc.)
I would not put a JDK or JRE into a source code repository:
It is bad practice to put externally versioned things into your version control because it usually leads to over-constraining, obscuring and/or hard-wiring your app's external dependencies. (Maven or Ivy are good solutions for dealing with external dependencies, though not in this case,)
Putting binaries into version control is a bad idea for some version control systems.
But I think your real problem (actually, your user's organization's problem) is the IT folks who refuse to contemplate upgrading the JRE:
They need to be made aware of the
fact that they can install multiple
JRE versions on the one machine, and
configure apps to launch with the JRE
version they require. (It is trivial
on Linux ...)
They need to be made aware of the fact
that their policy is an impediment to
progress.
They need to be made aware of the fact
that their policy is a potential security
issue. If they force users to deploy their
own copies of JDKs / JREs in random places,
it will be difficult to ensure that JRE security
patches get applied. (Besides, 1.4.2 is due
to be end-of-life'd soonish, and security
patches for it will cease.)
EDIT: and there is also the legal question of whether "redistributing" a JRE out of your source code repository is a violation of Sun's click-through JRE/JDK download license. (I don't know ...)
As best practice, you shouldn't keep any binary files in the source control system. For Java developers there is maven that does it's work better in versioning jar files. The reason is that we want to keep our source repository as small as possible so it is faster for those that checks out our code for the first time.
But if you still want to keep binary files in the source control, it would be best to avoid using CVS, because CVS is bad in versioning binary files. You can search with google, why it is bad. If you use SVN, then it still okay because SVN handles binary files much better than CVS.
I see nothing wrong with storing the JRE in CVS.
However, it's not so important whether you do or not as long as your script can pull it as part of the build. For example, if you want to host a downloadable jre.zip on an HTTP server, or point to it in a Maven repo, that's just as good.
Well won't your client all ready have the JRE if you expect him to compile the code before running it? The JDK contains the JRE.
Depends a lot on what you use to handle dependencies. If you use Maven, then create a maven package with the stuff you need, and host it on a local repository.
If you just have CVS (like we do) then it is fine to create big binary packages (since you will need them) which you can then put in CVS. Just be aware that they should be static for best CVS performance.
ALso note that the jsmooth package can create an EXE file of your jar with an JRE embedded in it. This might solve your deployment problem.
For remote compilation, Eclipse can work with a plain JRE. You just need to tell Eclipse where JRE you already have prepared above is located on the disk. There is also a folder inside the Eclipse distribution where the launcher looks automatically.
I'm wondering about the client building the application themselves. It will require some kind of Java compiler, most probably javac wich is part of the JDK. So your client will not only need a JRE, but a JDK as well (unless they will be using Jikes or another alternative compiler).
javac is capable of generating bytecode for previous versions of Java, so using a newer compiler should not pose any problems.
Personally, I would not include large binaries like a JRE as part of my own repository. The JRE can be considered very stable and just listing the minimum version required should be enough. Installing a JRE is also something quite different than installing a single Java application. The two activities should not be mixed.

Best IDE for Grails 1.1.X development [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've been on a frustrating quest to find an IDE which provides reasonable support for Grails 1.1 development. My minimum requirements are:
Supports running tests within the IDE
Supports debugging within the IDE while running either the tests or the app itself
Provides code-completion, including dynamic finders added to domain classes
Here's a rundown of my experience so far
Eclipse 3.4.2 (Ganymede)
Using the latest plugins available from the update site, Eclipse's support for Groovy/Grails is truly pathetic. It provides little more than code completion and spurious errors
NetBeans 6.7 Beta
As soon as I imported the project, NetBeans began scanning it. The Navigator view was waiting for the scanning to finish before showing it's contents. About 20 minutes later, both the Navigator view and I were still waiting. Also, support for code completion on dynamic finders is poor, and for some reason it copied all the plugins into $PROJECT_ROOT/web-app/plugins.
IntelliJ 8.1.2
Although the general consensus is that IntelliJ is the best IDE for Groovy/Grails, it does not work well with Grails 1.1.X. The root cause of the problem appears to be the change in the location of the plugins folder. IntelliJ is unable to build the app because it can't find classes I'm importing from plugins, even though those plugins are listed in application.properties
So my question (finally) is whether anyone has found an IDE (not TextMate or Vim) that works with Grails 1.1.X when the plugin folder is in it's default location, i.e. under $HOME/.grails/1.1.X/plugins?
If so, I'd be really grateful for information about:
Which IDE to use (including version number)
Which plugins (if any) need to be installed
How to import an existing project into the IDE
How to run the app, the tests, and debug from within the IDE (if it's not obvious)
Thanks,
Don
NetBeans 6.7 now with Grail 1.1 support
I'm unclear on which version of IntelliJ IDEA the author of that blog post tested, tha didn't work with Grails 1.1.1.
Idea 8.1.2 works very well for me on OSX with Grails 1.1 and 1.1.1. Grails is installed under /Developer/grails-1.1.1 (with a symlink at /Developer/grails ), and the plugins are in the ~/.grails/1.1.1/plugins directory.
I didn't have to install any extra Idea plugins. What I did have to do was tell it where the plugins were, and install the missing ones once I had upgraded to 1.1.1. IDEA's grails integration can even recognize the plugins from the Grails repository and install them from the IDE.
NetBeans 6.7 RC3 works much better with Grails 1.1.1 than the versions before. Debugging only works in attached mode, i.e. you start your application from the command line (grails-debug run-app) and then attach the Netbeans Debugger (port 5005). My experience is that the watches do not show the correct values of the running process. Automatic code formatting is horrible.
IntelliJ 8.1.3 worked good for me with Grails 1.1. Debugging was working correctly (most of the time, from time to time, the status of the debugger does not match the actual process' status) and code formatting is quite good. After I switched to Grails 1.1.1 IntelliJ refuses to start my app ("error running MyApp: Grails are not configured") although grails is installed and GRAILS_HOME is set correctly. The trick is to change the facet in the module settings of your project. There you have to configure the location of your grails 1.1.1 installation. Then IntelliJ crashed while starting your app and you have to do the configuration again . With a little bit of luck it works then and everything is fine.
I've spend a lot of time with these issues in the last days and I am quite angry about that. Therefore I'd like to recommend to go away from grails and to use ruby on rails with NetBeans 6.7 instead. Then you can start to focus on your business, not on configuration and installation issues. If you really need to stick with grails, use IntelliJ and pay for it. It's worth it. Do not even think about using Eclipse, if you do not want to go crazy.
I've been playing around with the version 9 milestone 1 release of IntelliJ and so far have not had any problems working with grails apps.
One thing i did notice was that the project explorer doesn't always refresh properly when files are added via an automated process. sometimes i have to close and re-open the project to see the new files, but that could just be a beta issue in general and not related to the grails support.
They've added a lot of Groovy and Grails support to the latest version of the Spring Source Tool Suite. It doesn't ship with these plugins by default, but there are options to install them as extensions from the dashboard page.
Some of the nice features include the ability to run grails commands in the IDE and support for editing GSPs. The Groovy language support has gotten much better too with the latest release of the plugin. You can read more about that here.
The Spring Tools Suite is also an excellent choice for grails/groovy development. I use it and do not have any cause for regret.
I've been using Netbeans 6.7 for some time and it's very slow, the code completion rarely works. Basically I'm using it as an editor and to format my code.
I used the EAP version of IDEA 8.1 and it was really nice - very easy to setup and develop in compared to the other IDEs. Sorry I don't remember exactly how to import an existing project but it was fairly straight forward.
If cost is not an issue, then IDEA would probably be the best choice.
I use STS (SpringSource Toolkit), I like it better than Intellij or Netbeans. I am using 2.3.3.M2