diff --git a/.vscode/settings.json b/.vscode/settings.json index 3f6094cbb..6be9a138b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,11 +1,8 @@ { "objectscript.conn": { "active": true, - "docker-compose": { - "service": "iris" - }, - "username": "_system", - "password": "SYS", + "host": "localhost", + "server": "docker-iris", "ns": "USER" }, // Non-default export settings needed so Testing Manager extension can find sources when doing coverage runs @@ -28,5 +25,17 @@ "editor.detectIndentation": false, "editor.insertSpaces": true, "editor.formatOnSave": true, - "files.trimTrailingWhitespace": true + "files.trimTrailingWhitespace": true, + "intersystems.servers": { + "docker-iris": { + "webServer": { + "scheme": "http", + "host": "localhost", + "port": 52774, + "pathPrefix": "" + }, + "username": "_SYSTEM", + "password": "SYS" + } + } } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 213665c64..5edddaf3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Performance: Studio project creation on package load in dev mode is now 80% faster. - #994: Prevent crash in `zn` command when target namespace lacks IPM mappings +- #1215: installer is synchronous rather than jobbed for simplified logging/debugging ## [0.10.9] - 2026-08-05 diff --git a/preload/cls/IPM/Installer.cls b/preload/cls/IPM/Installer.cls index 94b4d3ab0..836605167 100644 --- a/preload/cls/IPM/Installer.cls +++ b/preload/cls/IPM/Installer.cls @@ -29,6 +29,7 @@ XData PM [ XMLNamespace = INSTALLER ] + @@ -42,6 +43,13 @@ XData PM [ XMLNamespace = INSTALLER ] } +ClassMethod ForceCompileEvenInSYS() +{ + $$$RemoveClsTempNodes + do $system.OBJ.CompilePackage("%IPM","ckf") + $$$AddClsTempNodes +} + XData MapOnly [ XMLNamespace = INSTALLER ] { @@ -95,16 +103,6 @@ ClassMethod Map( quit ##class(%Installer.Manifest).%Generate(%compiledclass, %code, "MapOnly") } -ClassMethod AsyncSetup(Args...) -{ - try { - set tSC = ..setup(Args...) - } catch ex { - set tSC = ex.AsStatus() - } - do $system.Event.Signal($zparent, tSC) -} - ClassMethod ZPMInit( pRegistry As %String = "", pAnalyticsTrackingID As %String = "") @@ -214,31 +212,10 @@ ClassMethod EndCompile(qstruct) As %Status write !,"Installing ZPM" set ts = $zhorolog - set logFile=##class(%File).TempFilename() - job ..AsyncSetup(tModDir, 3):(:::logFile):0 - if '$test { - quit $$$ERROR($$$GeneralError, "Job did not start") - } - - #; Wait setup - set child=$zchild - set tSC = $$$OK - do { - hang 1 - set $listbuild(res, tSC) = $system.Event.WaitMsg("", 10) - quit:res=1 - } while $data(^$job(child)) - - set fs=##class(%Stream.FileCharacter).%New() - set fs.Filename=logFile - while 'fs.AtEnd { - write !,fs.ReadLine() - } - if ##class(%File).Delete(logFile) - + set sc = ..setup(tModDir, 3) write !,"Time spent ",$zhorolog - ts - quit tSC + quit sc } /// Check currently installed version, if any