SDK is missing IDL folder

I’m reposting the text of a comment on Github in the LOEclipse repo here because I didn’t find a repo for the SDK where I could raise an issue. Any help finding the correct place to raise an issue is appreciated:

Starting with version 7.5.0.1, the SDK appears to be missing the entire IDL folder.

Eclipse will not recognize the SDK if this folder is missing.

Workaround (which will most likely cause “unexpected behavior” downstream):

  1. In addition to the 7.5.X.X version of the SDK that is causing the problem, install version 7.4.6.2 of the SDK (the last version that included the IDL folder) for your operating system from here: Index of /libreoffice/old/7.4.6.2
  2. After installation completes successfully, copy the IDL folder and its contents from the 7.4.6.2 SDK installation folder over to the 7.5.X.X SDK folder.

image

Eclipse will now recognize the SDK.

Be aware that I have detected changes in files in the IDL folder from version to version, so this may cause errors downstream when you build your solution, until the LibreOffice devs fix the SDK and provide a new download.

Has idl moved to sdk/doc? Then a symlink would fix the issue for Eclipse.

That would indeed be a nice, quick solution, but I don’t think it’s that simple. The contents of the folders are different. The folder

sdk\docs\idl

contains *.html files (documentation) while the folder

sdk\idl

contains (or used to contain) *.idl files (interface definitions).

I don’t think these are interchangeable.

The most important question in my view is still: how and where do I raise an issue for this problem?

https://bugs.documentfoundation.org/

Ah yes, thanks!

Here is a link to the bug: 154341 – Starting with version 7.5.0.1, the SDK appears to be missing the entire IDL folder

May be related to LibreOffice 7.4 Community: Release Notes - The Document Foundation Wiki

I’m certainly not an expert on the IDL, but my understanding is that this announcement is saying that the tools idlc.exe and regmerge.exe are to be removed in favor of the tool unoidl-write.exe (which is in fact present in the \bin folder of the SDK, as announced), not that the IDL files themselves will be removed.

The announcement seems incomplete. The commit mentioned there in the release notes has much more details:

  • The SDK no longer ships an idl/ sub-directory containing the udkap and offapi
    .idl files (as, unlike idlc, unoidl-write does not need them).
    odk/config/cfgWin.js had to be adapted to look (somewhat arbitrarily) for an
    examples/ sub-directory instead of idl/ when checking for “an sdk folder”.
    gb_UnoApi_package_idlfiles became unused and has been removed.

Thank you very much for providing this information.

I’m not sure I understand what you mean by

The file cfgWin.js appears to be part of the SDK, but the program that is not recognizing the SDK is not part of the SDK itself, it is LOEclipse. Are you saying that LOEclipse reads cfgWin.js to determine whether the SDK is present and/or complete, and that some kind of change needs to be made in cfgWin.js so that LOEclipse will work?

There appear to have been no updates to the code of LOEclipse in the last three years. Does LOEclipse have a future, i.e. will it continue to be developed/updated to keep pace with changes to LO, or should we just move on to some other solution?

Recent discussion with addin sample

I’m sorry, but you completely lost me there.

For the record, I am still very much at the beginning of learning how to program LibreOffice extensions. I have no idea (yet) what IDL files are or what the tools idlc and unoidl-write do.

All I have managed to understand thus far is that LOEclipse is helpful for programming LO extensions, that a reference to the SDK is required by LOEclipse, and that LOEclipse does not recognize the SDK if the /idl folder is not present.

The piece that you quoted wasn’t mine, but was from the commit message, so written by @sberg. Additionally, I have no idea what LOEclipse does, nor how should it be fixed (I don’t use it myself).

In any case, any incompatibility issue should be filed there as a bug, and then you’d see if they react and fix it.

Yes, an issue was indeed raised there, Samuel Mehrbrodt has now responded thanking us for investigating the issue, he announced that it will be fixed in the near future, and has suggested a workaround. Seeing as the LOEclipse repository belongs to the LibreOffice organization on Github, I did not think it would be inappropriate to discuss it here.