This is an automated email from the ASF dual-hosted git repository.
hdalsania pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-vscode.git
The following commit(s) were added to refs/heads/main by this push:
new 2ce77fb1 Bump sbt/setup-sbt from 1.1.22 to 1.5.6
2ce77fb1 is described below
commit 2ce77fb1d526433e276c616c59f51deb3a08c400
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Sat Aug 1 00:12:30 2026 +0000
Bump sbt/setup-sbt from 1.1.22 to 1.5.6
Bumps [sbt/setup-sbt](https://github.com/sbt/setup-sbt) from 1.1.22 to
1.5.6.
- [Release notes](https://github.com/sbt/setup-sbt/releases)
-
[Commits](https://github.com/sbt/setup-sbt/compare/508b753e53cb6095967669e0911487d2b9bc9f41...bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf)
---
updated-dependencies:
- dependency-name: sbt/setup-sbt
dependency-version: 1.5.6
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <[email protected]>
---
.github/workflows/CI.yml | 4 +--
.github/workflows/nightly.yml | 2 +-
.../org.apache.daffodil.debugger.dap/Parse.scala | 23 ++++++--------
src/tests/runTest.ts | 37 +++++++++++++++++++++-
src/tests/suite/daffodilDebugger.test.ts | 2 +-
src/tests/suite/utils.test.ts | 2 +-
6 files changed, 51 insertions(+), 19 deletions(-)
diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index bf0dc5d1..20bbbb66 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -87,7 +87,7 @@ jobs:
cache-dependency-path: yarn.lock
- name: Setup sbt
- uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1
+ uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6
############################################################
# Lint/format checks
@@ -151,7 +151,7 @@ jobs:
# some runner oses don't have sbt by default
- name: Setup sbt
- uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1
+ uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6
- name: Install Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e #
v6.4.0
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 22785e91..8f690559 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -86,7 +86,7 @@ jobs:
# some runner oses don't have sbt by default
- name: Setup sbt
- uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1
+ uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6
############################################################
# Build & Package
diff --git
a/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
b/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
index c6777f85..117ef2f0 100644
--- a/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
+++ b/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
@@ -1256,7 +1256,7 @@ object Parse {
bos.toString("UTF-8")
}
- private def createInfosetWalker(ie: DIElement, outputter: AnyRef): AnyRef
= {
+ private def createInfosetWalker(ie: DIElement, outputter: AnyRef): AnyRef =
createInfosetWalkerFromCompanion(ie, outputter)
.orElse(createInfosetWalkerFromStreamingClass(ie, outputter))
.orElse(createInfosetWalkerFromCtor(ie, outputter))
@@ -1265,7 +1265,6 @@ object Parse {
"Unable to create infoset walker. Unsupported Daffodil runtime API
for infoset serialization."
)
}
- }
def isCompatibleRuntimeForInfosetSerialization(): Boolean =
hasCompatibleInfosetWalkerCompanionApi() ||
hasCompatibleStreamingInfosetWalkerApi() || hasCompatibleNonStreamingCtorApi()
@@ -1273,8 +1272,7 @@ object Parse {
private def hasCompatibleInfosetWalkerCompanionApi(): Boolean =
Try {
val companion =
Class.forName("org.apache.daffodil.runtime1.infoset.InfosetWalker$")
- companion
- .getMethods
+ companion.getMethods
.filter(m => m.getName == "apply")
.exists(m => isCompatibleApplyMethod(m, classOf[DIElement], None))
}.getOrElse(false)
@@ -1282,8 +1280,7 @@ object Parse {
private def hasCompatibleStreamingInfosetWalkerApi(): Boolean =
Try {
val clazz =
Class.forName("org.apache.daffodil.runtime1.infoset.StreamingInfosetWalker")
- clazz
- .getMethods
+ clazz.getMethods
.filter(m => m.getName == "apply")
.exists(m => isCompatibleApplyMethod(m, classOf[DIElement], None))
}.getOrElse(false)
@@ -1298,8 +1295,7 @@ object Parse {
Try {
val companion =
Class.forName("org.apache.daffodil.runtime1.infoset.InfosetWalker$")
val module = companion.getField("MODULE$").get(null)
- val maybeMethod = companion
- .getMethods
+ val maybeMethod = companion.getMethods
.filter(m => m.getName == "apply")
.find(m => isCompatibleApplyMethod(m, ie.getClass,
Some(outputter.getClass)))
@@ -1328,8 +1324,7 @@ object Parse {
private def createInfosetWalkerFromStreamingClass(ie: DIElement,
outputter: AnyRef): Option[AnyRef] =
Try {
val clazz =
Class.forName("org.apache.daffodil.runtime1.infoset.StreamingInfosetWalker")
- val maybeApply = clazz
- .getMethods
+ val maybeApply = clazz.getMethods
.filter(m => m.getName == "apply")
.find(m => isCompatibleApplyMethod(m, ie.getClass,
Some(outputter.getClass)))
@@ -1358,9 +1353,11 @@ object Parse {
private def createInfosetWalkerFromCtor(ie: DIElement, outputter: AnyRef):
Option[AnyRef] =
Try {
val clazz =
Class.forName("org.apache.daffodil.runtime1.infoset.NonStreamingInfosetWalker")
- val ctor = clazz.getConstructors.find(_.getParameterCount ==
2).getOrElse(
- throw new
NoSuchMethodException("NonStreamingInfosetWalker(DIElement, InfosetOutputter)")
- )
+ val ctor = clazz.getConstructors
+ .find(_.getParameterCount == 2)
+ .getOrElse(
+ throw new
NoSuchMethodException("NonStreamingInfosetWalker(DIElement, InfosetOutputter)")
+ )
ctor.newInstance(ie, outputter).asInstanceOf[AnyRef]
}.toOption
diff --git a/src/tests/runTest.ts b/src/tests/runTest.ts
index 8a755750..141c341e 100644
--- a/src/tests/runTest.ts
+++ b/src/tests/runTest.ts
@@ -16,6 +16,7 @@
*/
// All tests ran here are ones that require the vscode API
+import * as fs from 'fs'
import * as path from 'path'
import { runTests, downloadAndUnzipVSCode } from '@vscode/test-electron'
@@ -24,6 +25,36 @@ import { runTests, downloadAndUnzipVSCode } from
'@vscode/test-electron'
const DEFAULT_DAFFODIL_TEST_VSCODE_VERSION =
require('../../package.json').engines.vscode.replace('^', '')
+function resolveMacOSExecutable(executablePath: string): string {
+ if (process.platform !== 'darwin' || fs.existsSync(executablePath)) {
+ return executablePath
+ }
+
+ const macOSDirectory = path.dirname(executablePath)
+ const infoPlistPath = path.resolve(macOSDirectory, '../Info.plist')
+
+ try {
+ const infoPlist = fs.readFileSync(infoPlistPath, 'utf8')
+ const executableName = infoPlist.match(
+ /<key>CFBundleExecutable<\/key>\s*<string>([^<]+)<\/string>/
+ )?.[1]
+
+ if (executableName) {
+ const resolvedPath = path.resolve(macOSDirectory, executableName)
+ if (
+ path.dirname(resolvedPath) === macOSDirectory &&
+ fs.existsSync(resolvedPath)
+ ) {
+ return resolvedPath
+ }
+ }
+ } catch {
+ // Preserve the original path so runTests reports the launch failure.
+ }
+
+ return executablePath
+}
+
async function main() {
const disable_cert_verification =
process.argv.includes('-k') ||
@@ -49,7 +80,11 @@ async function main() {
// Passed to --extensionTestsPath
const extensionTestsPath = path.resolve(__dirname, './suite/index')
- const vscodeExecutablePath = await
downloadAndUnzipVSCode(testVsCodeVersion)
+ const downloadedExecutablePath =
+ await downloadAndUnzipVSCode(testVsCodeVersion)
+ const vscodeExecutablePath = resolveMacOSExecutable(
+ downloadedExecutablePath
+ )
// Download VS Code, unzip it and run the integration tests
const runTestsResult = await runTests({
diff --git a/src/tests/suite/daffodilDebugger.test.ts
b/src/tests/suite/daffodilDebugger.test.ts
index eaf2b317..1fc85bf8 100644
--- a/src/tests/suite/daffodilDebugger.test.ts
+++ b/src/tests/suite/daffodilDebugger.test.ts
@@ -140,7 +140,7 @@ async function getDebuggerConfigs() {
const infosetFormat = i % 2 == 0 ? 'xml' : 'json'
const dfdlDebugger: DFDLDebugger = {
daffodilVersion: debuggerVersionsToTest[versionIndex],
- timeout: '10m',
+ timeout: '30m',
logging: {
level: 'INFO',
file: path.join(os.tmpdir(),
`yarn-test-daffodil-debugger-${port}.log`),
diff --git a/src/tests/suite/utils.test.ts b/src/tests/suite/utils.test.ts
index 17f06c9c..cfbf0047 100644
--- a/src/tests/suite/utils.test.ts
+++ b/src/tests/suite/utils.test.ts
@@ -60,7 +60,7 @@ suite('Utils Test Suite', () => {
},
},
dfdlDebugger: {
- daffodilVersion: '3.11.0',
+ daffodilVersion: '4.2.0',
timeout: '10s',
logging: {
level: 'INFO',