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

CDS extractor index-files.sh compile to stdout #171

Closed
wants to merge 15 commits into from

Conversation

data-douser
Copy link
Collaborator

This PR is an attempt to resolve unit test failures for PR #170 of this repo.

Updates the (soon to be replaced) shell-based version of the CDS extractor as an attempted workaround for a change in cds compiler behavior when the -o or --dest options are set for the cds compile CLI command. Forces the cds compmiler to output to the desired .cds.json file path via stdout.

jeongsoolee09 and others added 11 commits February 11, 2025 17:05
The old dataflow API was deprecated in 2.3.0. This
deprecates the older APIs but immediately makes
some APIs such as BarrierGuardNode.blocks invalid
as they are renamed without the `deprecated`
qualifier.
This one caused a new non-monotonic recursion; it
is not necessary at the moment since it is not
used anywhere apart from a vacuous `import`.
The AMD-style module system is already defined in
UI5.qll as abstract class `UserModule`; so deleting
this won't break the rest of the UI5 queries.
… the

expected results

`SapDefineModule` in its previous form did not extend
`AmdModuleDefinition::Range` which in turn extends standard library's
`Module` that enables its subclasses to be identified with MaD definitions.
The reason the queries have been working was thanks to `UI5AMDModule.qll` that
provided a `SapAmdModule` class extending the `Module` class directly.

The problem with `SapAmdModule` copy-pasted and only slightly modified
the `AMD.qll` in the standard library, so it was out of sync with the
standard library couterpart when the DataFlow library behind it was
overhauled to have a new API. It was causing the majority of the
problems when the `qlpack.yml`s were updated with the latest DataFlow
API and the `SapAmdModule` failed to play nicely with the updated
library modules, emitting new non-monotonic recursion errors.

Therefore, this commit makes the `SapDefineModule` in `UI5.qll` extend
`AmdModuleDefinition::Range` and removes the outdated `SapAmdModule`.
`SapDefineModule`s are AMD-style modules defined with
`sap.ui.define` or `sap.ui.require` function calls that augments the
global AMD `define` functions with the capability of extending another
such module.
These expected files are prepended with a deprecation warning on the old
DataFlow APIs; no changes were occured in the rest of the contents.
This is to publish these QL packs with a new version.
Attempt to resolve unit test failures for PR #170 of the
`advanced-security/codeql-sap-js` repo.

Updates the (soon to be replaced) shell-based version of the CDS
extractor as an attempted workaround for a change in cds compiler
behavior when the `-o` or `--dest` options are set for the `cds compile`
CLI command. Forces the cds compmiler to output to the desired .cds.json
file path via stdout.
@data-douser data-douser self-assigned this Feb 18, 2025
@data-douser data-douser changed the base branch from jeongsoolee09/bump-javascript-dataflow-lib to main February 18, 2025 04:30
@data-douser data-douser reopened this Feb 18, 2025
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.

2 participants