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

Update main following v2.8.0 release #381

Closed
wants to merge 168 commits into from
Closed

Update main following v2.8.0 release #381

wants to merge 168 commits into from

Conversation

deribaucourt
Copy link
Member

No description provided.

deribaucourt and others added 30 commits July 19, 2024 17:36
The script fetch:spdx-licenses is now a mandatory step to build the extension.
We no longer track and update the wasm files in our project, related terms on wasm should be updated.
Bumps [mocha](https://github.com/mochajs/mocha) and [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha). These dependencies needed to be updated together.

Updates `mocha` from 10.2.0 to 10.7.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](mochajs/mocha@v10.2.0...v10.7.0)

Updates `@types/mocha` from 10.0.3 to 10.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.90.0 to 1.92.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.90.0 to 1.92.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [vscode-languageserver-textdocument](https://github.com/Microsoft/vscode-languageserver-node/tree/HEAD/textDocument) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/Microsoft/vscode-languageserver-node/releases)
- [Commits](https://github.com/Microsoft/vscode-languageserver-node/commits/release/textDocument/1.0.12/textDocument)

---
updated-dependencies:
- dependency-name: vscode-languageserver-textdocument
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.28.1 to 2.29.1.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](import-js/eslint-plugin-import@v2.28.1...v2.29.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Use git ls-remote command to fetch refs or tags instead of cloning the projects first. This script now only takes a few seconds to complete.
The current master branch also outputs the .bb location in the devtool
status output. It broke our parsing which could not detect the
workspaces.

The regex was updated to optionally match the .bb location. But we don't
capture it since we always run a complete scan in the end. This could
be way for future optimizations.
If the user configures a faulty working directory, the error message
was not very clear. This very simple check will show a more clear
message early on.
Sanity tests now require a valid working directory to be provided.
With the fetch script refactoring, we had a regression in the node
package of the CI wich missed these resources.
This command is responsible for executing bitbake command `bitbake -e` and sending the output to the server for
further processing in order to provide necessary language features such as hover definition for conf files.
This commit only handles the command execution and the rest will be done in the following commits.
…ult is not avaiable

This also allows the features such as hover, go to definition to work on conf and bbclass files.
…rd-coding it

The intention is to display the function name in the log messages for quick tracking. When the function name is changed,
the text in the log message needs to change accordingly. Thus, it is better to access it with code instead of hard-coding it
so we don't forget.
Plugin eslint-plugin-import, eslint-plugin-n and eslint-plugin-promise were added at the very beginning of the eslint setup.
But they were never used. eslint-plugin-jest was added along with the jest framework and it was never used either.
.eslintrc.js and .eslintignore are deprecated and the new flat config system is preferred. The CLI also doesn't
support --ext flag with the flat config system.

How the new config is generated:
https://eslint.org/docs/latest/use/configure/migration-guide#migrate-your-config-file
Reference for cli flag changes:
https://eslint.org/docs/latest/use/configure/migration-guide#cli-flag-changes
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.2.0 to 16.6.2.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)
- [Commits](eslint-community/eslint-plugin-n@16.2.0...16.6.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
semver will be used to check the Yocto version.
This will allow other tests to use a real bitbake folder when needed.
We'll use the bitbake version to make some features available or not
based on their support in the bitbake version.

The necessary ajustments were made to keep compiling.
The unknown version is '', making it easy to check if it was found or
not.
For the tests, rather than defining an empty version everywhere, I used
`as BitbakeScanResult` to mock only the attributes needed for each
test. This means less hassle next time we change the scan result
structure again.
This is the easiest way to get the bitbake version that we have access
to from the settings. It is super fast since it doesn't need to start
bitbake. Bitbake versions can be correlated to poky versions using the
Yocto Wiki Release page:
 - https://wiki.yoctoproject.org/wiki/Releases
We now have access to the bitbake version through the project scan.
This allows us to check if the devtool ide-sdk command is available
without running devtool which is a lot faster.
The devtool ide-sdk tests need to get access to a bitbake version
that was throwing an exception if not defined.
By default, we'll turn on the new devtool debug build feature. This
allows accessing the debug symbols.

Because this is a new default behavior, we'll add a new setting to
disable this feature.

The necessary adjustments are made to compile the code by including a
boolean to the build settings.
This new devtool feature allows to add the debug symbols when building
the devtool recipe. It is enabled by default in the previous commit.
In eSDK mode, we don't have access to the bitbake version.
Revert to the previous behavior of checking the availability of
devtool ide-sdk and devtool debug-build based on the help message.
This change replaces the busy waiting in BitbakeRecipesView with a
promise that resolves when the scan is complete.
The next changes will allow storing different scanResult per
buildConfiguration. Therefore, the scanResult property will be
renamed to activeScanResult to reflect that association. There no longer
is one Project scan.

Recipe scan are not affected since they are temporary and manually
triggered.
Managing the client directly from the project scanner is overkill.
Instead, we can use an event emitter to notify the client about the scan
result.
Fix the typo. Also, there's no need for it to be readonly, we modify
the members.
Allow storing multiple project scan for each buildConfiguration.
This will provide hot-swapping and improved accuracy without needing
to manually re-scan every time another buildConfiguration is selected.
Follow the data structure update from the previous commits which now
allow to store scan results per active build configuration.

The responsibility for managing the memento is moved to the
BitBakeProjectScanner class.
Now that we can store individual scan results per buildConfiguration,
add the logic to trigger re-scans or UI updates when swapping.

Note that we don't invalidate the previous scan while doing the new one.
This allows the user to still navigate the recipes view, even though it
is no longer accurate for a few seconds. The scan is made visible in the
bottom right status bar.
The views were not updated if there was a configuration change while
a scan was already available.
As requested by a GitHub user. Now that the view is refreshed based on
the selected configuration, it will make it more obvious which config
is currently active. Note that it is also displayed in the bottom right
status bar.

If a re-scan is required, the title will be updated before the recipes
are displayed. This could be a bit misleading during the first config
swap.
If the workspace state was cleared, the extension would not
automatically re-scan next time it was activated.
Previously, the view would always display the previous scan result. This
could be misleading when a new scan was started, especially through a
buildConfiguration change. The bottom left status bar was loading, but
the recipe panel was missing an indication.
In addition to the bottom right selector, make it available through
the view's menu and context menus. The active config is now displayed
on the view's title, so it's better to have a selector in that UI area.
It could be useful to troubleshoot future errors linked to this event.
This makes the linting a lot faster by ignoring poky and the potential
build folder.

Additionally, fixes detecting an issue in:
 - integration-tests/project-folder/build/tmp/work/x86_64-linux/gettext-minimal-native/0.22.5/gettext-0.22.5/gettext-tools/tests/qttest2_de.ts
@deribaucourt
Copy link
Member Author

Merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants