From 46f21396f01041516b39810d07316d086b9ac415 Mon Sep 17 00:00:00 2001 From: Rudy Ges Date: Fri, 12 Apr 2024 16:33:54 +0200 Subject: [PATCH 1/5] Exit with error when hxml install fails (#625) * Install from hxml: exit with error when installing a lib failed * Update run.n --- run.n | Bin 331833 -> 331397 bytes src/haxelib/api/Installer.hx | 5 +++++ 2 files changed, 5 insertions(+) diff --git a/run.n b/run.n index a469906f4c36be59010f8d234cd9094bfefaafe0..170f3b604a5d632ce3212b07080597272168de7f 100644 GIT binary patch delta 65204 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 diff --git a/src/haxelib/api/Installer.hx b/src/haxelib/api/Installer.hx index 18d21a96..262043da 100644 --- a/src/haxelib/api/Installer.hx +++ b/src/haxelib/api/Installer.hx @@ -263,6 +263,8 @@ class Installer { if (confirmHxmlInstall != null && !confirmHxmlInstall(libVersions)) return; + var hasFailures = false; + for (library in installData) { if (library.versionData.match(Haxelib(_)) && repository.isVersionInstalled(library.name, library.version)) { final version = SemVer.ofString(library.version); @@ -281,6 +283,7 @@ class Installer { try installFromVersionData(library.name, library.versionData) catch (e) { + hasFailures = true; userInterface.log(e.toString()); continue; } @@ -296,6 +299,8 @@ class Installer { handleDependenciesGeneral(libraryName, library.versionData); } + + if (hasFailures) throw "Some libraries could not be installed."; } /** From be2fff1ac4ae9eebfe86ae1255fbda73b374c9c6 Mon Sep 17 00:00:00 2001 From: Maniues <66561397+Maniues@users.noreply.github.com> Date: Sat, 25 May 2024 15:43:50 +0200 Subject: [PATCH 2/5] Add MIT license to haxelib (#630) * Create LICENSE * Update copyright year --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..1ef5dc28 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2005-2024 Haxe Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 8d07d4a05823c5bed016cc3dd3ecd431eacbfc11 Mon Sep 17 00:00:00 2001 From: tobil4sk Date: Mon, 26 Aug 2024 16:46:16 +0100 Subject: [PATCH 3/5] Allow compiling client with hxcpp target (#643) * Allow compiling client with hxcpp target * Add tests for hxcpp build of haxelib * Put shared flags into each.hxml --- Earthfile | 20 +++++++++++++++----- client.hxml | 5 +---- client_cpp.hxml | 6 ++++++ client_legacy.hxml | 5 +---- client_tests.hxml | 5 +---- each.hxml | 4 ++++ integration_tests.hxml | 7 ++----- libs.hxml | 1 + package.hxml | 5 +---- server_each.hxml | 5 +---- server_gitrepo.hxml | 5 +---- server_legacy.hxml | 1 - src/Package.hx | 1 - src/haxelib/client/Main.hx | 10 +++++----- test/IntegrationTests.hx | 2 ++ test/RunCi.hx | 22 ++++++++-------------- 16 files changed, 49 insertions(+), 55 deletions(-) create mode 100644 client_cpp.hxml create mode 100644 each.hxml diff --git a/Earthfile b/Earthfile index 33eaa695..fe7ee78a 100644 --- a/Earthfile +++ b/Earthfile @@ -205,10 +205,19 @@ run.n: COPY .git .git COPY src src COPY hx3compat hx3compat - COPY client.hxml haxelib.json . + COPY client.hxml each.hxml haxelib.json . RUN haxe client.hxml SAVE ARTIFACT run.n AS LOCAL run.n +haxelib-binary: + FROM +devcontainer + COPY .git .git + COPY src src + COPY hx3compat hx3compat + COPY client_cpp.hxml each.hxml haxelib.json . + RUN haxe client_cpp.hxml + SAVE ARTIFACT haxelib AS LOCAL haxelib + package-haxelib: FROM +devcontainer-base COPY src src @@ -350,7 +359,7 @@ haxelib-server-builder: haxelib-server-legacy: FROM +haxelib-server-builder - COPY server_legacy.hxml server_each.hxml . + COPY server_legacy.hxml server_each.hxml each.hxml . COPY src src COPY hx3compat hx3compat COPY www/legacy www/legacy @@ -359,7 +368,7 @@ haxelib-server-legacy: haxelib-server-website: FROM +haxelib-server-builder - COPY server_website.hxml server_each.hxml . + COPY server_website.hxml server_each.hxml each.hxml . COPY src src COPY hx3compat hx3compat RUN haxe server_website.hxml @@ -373,7 +382,7 @@ haxelib-server-website-highlighter: haxelib-server-tasks: FROM +haxelib-server-builder - COPY server_tasks.hxml server_each.hxml . + COPY server_tasks.hxml server_each.hxml each.hxml . COPY src src COPY hx3compat hx3compat RUN haxe server_tasks.hxml @@ -381,7 +390,7 @@ haxelib-server-tasks: haxelib-server-api: FROM +haxelib-server-builder - COPY server_api.hxml server_each.hxml . + COPY server_api.hxml server_each.hxml each.hxml . COPY src src COPY hx3compat hx3compat RUN haxe server_api.hxml @@ -518,6 +527,7 @@ ci-tests: # for package.hxml COPY haxelib.json README.md . COPY +run.n/run.n . + COPY +haxelib-binary/haxelib . COPY +ci-runner/ci.n bin/ci.n ENV HAXELIB_SERVER=localhost diff --git a/client.hxml b/client.hxml index e5a3ae3c..8339bdfd 100644 --- a/client.hxml +++ b/client.hxml @@ -1,6 +1,3 @@ --cp src --cp hx3compat/std --cp hx4compat/std --cp crypto/src +each.hxml -neko run.n -main haxelib.client.Main diff --git a/client_cpp.hxml b/client_cpp.hxml new file mode 100644 index 00000000..0873c881 --- /dev/null +++ b/client_cpp.hxml @@ -0,0 +1,6 @@ +each.hxml +--cpp bin/cpp +--main haxelib.client.Main +-D destination=../../haxelib{EXESUFFIX} +--dce full +-D analyzer-optimize diff --git a/client_legacy.hxml b/client_legacy.hxml index b35394fe..cea40579 100644 --- a/client_legacy.hxml +++ b/client_legacy.hxml @@ -1,6 +1,3 @@ --cp src --cp hx3compat/std --cp hx4compat/std --cp crypto/src +each.hxml -neko bin/legacyhaxelib.n -main legacyhaxelib.Main \ No newline at end of file diff --git a/client_tests.hxml b/client_tests.hxml index 38c61023..63d96aba 100644 --- a/client_tests.hxml +++ b/client_tests.hxml @@ -1,8 +1,5 @@ --p src +each.hxml -p test --p hx3compat/std --p hx4compat/std --p crypto/src --main HaxelibTests --debug --neko bin/test.n diff --git a/each.hxml b/each.hxml new file mode 100644 index 00000000..1442fc5a --- /dev/null +++ b/each.hxml @@ -0,0 +1,4 @@ +-cp src +-cp hx3compat/std +-cp hx4compat/std +-cp crypto/src diff --git a/integration_tests.hxml b/integration_tests.hxml index 37ab3b6e..418ac931 100644 --- a/integration_tests.hxml +++ b/integration_tests.hxml @@ -1,7 +1,4 @@ --cp src --cp test --lib hx3compat --cp hx4compat/std --cp crypto/src +each.hxml +-p test -main IntegrationTests -neko bin/integration_tests.n \ No newline at end of file diff --git a/libs.hxml b/libs.hxml index ef9ca5b3..02cf8bac 100644 --- a/libs.hxml +++ b/libs.hxml @@ -29,4 +29,5 @@ -cmd curl -sSLk https://lib.haxe.org/files/3.0/ufront-2,0,0.zip -o haxelib_global/ufront.zip && neko run.n install --always --skip-dependencies haxelib_global/ufront.zip -cmd curl -sSLk https://lib.haxe.org/files/3.0/utest-1,9,6.zip -o haxelib_global/utest.zip && neko run.n install --always --skip-dependencies haxelib_global/utest.zip -cmd curl -sSLk https://lib.haxe.org/files/3.0/hxnodejs-12,1,0.zip -o haxelib_global/hxnodejs.zip && neko run.n install --always --skip-dependencies haxelib_global/hxnodejs.zip +-cmd curl -sSLk https://lib.haxe.org/files/3.0/hxcpp-4,3,2.zip -o haxelib_global/hxcpp.zip && neko run.n install --always --skip-dependencies haxelib_global/hxcpp.zip -cmd neko run.n dev record-macros lib/record-macros diff --git a/package.hxml b/package.hxml index 0531ad3e..1449485c 100755 --- a/package.hxml +++ b/package.hxml @@ -1,5 +1,2 @@ --cp src --cp hx3compat/std --cp hx4compat/std --cp crypto/src +-p src --run Package \ No newline at end of file diff --git a/server_each.hxml b/server_each.hxml index aac31546..329e27b7 100644 --- a/server_each.hxml +++ b/server_each.hxml @@ -1,7 +1,4 @@ --cp src --cp hx3compat/std --cp hx4compat/std --cp crypto/src +each.hxml -lib ufront -lib ufront-mail:1.0.0-rc.4 -lib ufront-ufadmin diff --git a/server_gitrepo.hxml b/server_gitrepo.hxml index 8a93ca92..b3276ec0 100644 --- a/server_gitrepo.hxml +++ b/server_gitrepo.hxml @@ -1,9 +1,6 @@ ---class-path src +each.hxml --class-path lib/dts2hx-generated --class-path lib/node-sys-db ---class-path hx3compat/std ---class-path hx4compat/std ---class-path crypto/src --library hxnodejs --library record-macros --js gitrepo.js diff --git a/server_legacy.hxml b/server_legacy.hxml index 3e559317..f522ee63 100644 --- a/server_legacy.hxml +++ b/server_legacy.hxml @@ -1,5 +1,4 @@ server_each.hxml --cp src -neko www/legacy/index.n -main legacyhaxelib.Site -lib hx2compat diff --git a/src/Package.hx b/src/Package.hx index d5ddc229..bf843520 100644 --- a/src/Package.hx +++ b/src/Package.hx @@ -5,7 +5,6 @@ import haxe.zip.Tools; import sys.io.File; import sys.FileSystem; -import haxelib.client.Main.VERSION; import haxelib.Data.Infos; using StringTools; diff --git a/src/haxelib/client/Main.hx b/src/haxelib/client/Main.hx index fc438511..eb943a8a 100644 --- a/src/haxelib/client/Main.hx +++ b/src/haxelib/client/Main.hx @@ -214,7 +214,7 @@ class Main { Version => create(version, 0), Help => create(usage, 0), - #if neko + #if !js Submit => create(submit, 3, true), #end Register => create(register, 5, true), @@ -227,7 +227,7 @@ class Main { DeleteRepo => create(deleteRepo, 0), ConvertXml => create(convertXml, 0), Run => create(run, null), - #if neko + #if !js Proxy => create(proxy, 5, true), #end FixRepo => create(fixRepo, 0), @@ -264,7 +264,7 @@ class Main { try { if (commandInfo.net) { - #if neko + #if !js loadProxy(); #end checkUpdate(); @@ -367,7 +367,7 @@ class Main { return encodedPassword; } - #if neko + #if !js function getContributor(contributors:Array): {name:String, password:String} { var user:String = contributors[0]; @@ -780,7 +780,7 @@ class Main { } } - #if neko + #if !js function proxy() { final rep = getRepositoryPath(); final host = getArgument("Proxy host"); diff --git a/test/IntegrationTests.hx b/test/IntegrationTests.hx index 532c1466..cc6f2b19 100644 --- a/test/IntegrationTests.hx +++ b/test/IntegrationTests.hx @@ -97,6 +97,8 @@ class IntegrationTests extends TestBase { function haxelib(args:Array, ?input:String):Process { final p = #if system_haxelib new Process("haxelib", ["-R", serverUrl].concat(args)); + #elseif haxelib_path + new Process(haxe.macro.Compiler.getDefine("haxelib_path"), ["-R", serverUrl].concat(args)); #else new Process("neko", [haxelibBin, "-R", serverUrl].concat(args)); #end diff --git a/test/RunCi.hx b/test/RunCi.hx index 268b178e..40c4dd0f 100644 --- a/test/RunCi.hx +++ b/test/RunCi.hx @@ -370,19 +370,6 @@ Listen 2000 } static function integrationTests():Void { - function test():Void { - switch (Sys.getEnv("TRAVIS_HAXE_VERSION")) { - case null, "development": - runCommand("haxe", ["integration_tests.hxml"]); - case "3.1.3": - runCommand("haxe", ["integration_tests.hxml", "-D", "system_haxelib"]); - case _: - runCommand("haxe", ["integration_tests.hxml"]); - runCommand("neko", ["bin/integration_tests.n"]); - runCommand("haxe", ["integration_tests.hxml", "-D", "system_haxelib"]); - } - runCommand("neko", ["bin/integration_tests.n"]); - } var dbConfigPath = Path.join(["www", "dbconfig.json"]); saveContent(dbConfigPath, Json.stringify({ user: Sys.getEnv("HAXELIB_DB_USER"), @@ -391,7 +378,14 @@ Listen 2000 port: Std.parseInt(Sys.getEnv("HAXELIB_DB_PORT")), database: Sys.getEnv("HAXELIB_DB_NAME"), }, "\t")); - test(); + runCommand("haxe", ["integration_tests.hxml"]); + runCommand("neko", ["bin/integration_tests.n"]); + runCommand("haxe", [ + "integration_tests.hxml", + "-D", + 'haxelib_path=${Path.join([Sys.getCwd(), "haxelib"])}' + ]); + runCommand("neko", ["bin/integration_tests.n"]); } static function deploy():Void { From 3a6aebf35e5eac2a1318f556a413a06c7b7912f5 Mon Sep 17 00:00:00 2001 From: tobil4sk Date: Fri, 30 Aug 2024 20:09:44 +0100 Subject: [PATCH 4/5] Get compiler version for run scripts lazily (#646) It only has to be checked when running interp scripts, so we can avoid checking it in other cases. --- src/haxelib/api/GlobalScope.hx | 2 +- src/haxelib/api/ScriptRunner.hx | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/haxelib/api/GlobalScope.hx b/src/haxelib/api/GlobalScope.hx index cb0567b1..a4b95de0 100644 --- a/src/haxelib/api/GlobalScope.hx +++ b/src/haxelib/api/GlobalScope.hx @@ -47,7 +47,7 @@ class GlobalScope extends Scope { main: info.main }; - ScriptRunner.run(libraryRunData, resolveCompiler(), callData); + ScriptRunner.run(libraryRunData, callData, () -> haxeVersion); } public function getVersion(library:ProjectName):Version { diff --git a/src/haxelib/api/ScriptRunner.hx b/src/haxelib/api/ScriptRunner.hx index b0aef8f1..db966045 100644 --- a/src/haxelib/api/ScriptRunner.hx +++ b/src/haxelib/api/ScriptRunner.hx @@ -79,13 +79,13 @@ class ScriptRunner { /** Run `library`, with `callData`. - `compilerData` is used if it is an interpreted script. + `getCompilerVersion` is used if it is an interpreted script. **/ - public static function run(library:LibraryRunData, compilerData:LibraryData, callData:CallData):Void { + public static function run(library:LibraryRunData, callData:CallData, getCompilerVersion:()->SemVer):Void { final type = getType(library); final cmd = getCmd(type); - final args = generateArgs(type, callData, SemVer.ofString(compilerData.version)); + final args = generateArgs(type, callData, getCompilerVersion); final oldState = getState(); @@ -122,7 +122,7 @@ class ScriptRunner { } } - static function generateArgs(runType:RunType, callData:CallData, compilerVersion:SemVer):Array { + static function generateArgs(runType:RunType, callData:CallData, getCompilerVersion:() -> SemVer):Array { switch runType { case Neko(path): final callArgs = callData.args.copy(); @@ -130,7 +130,7 @@ class ScriptRunner { callArgs.push(callData.dir); return callArgs; case Script(main, name, version, dependencies): - final isHaxe4 = SemVer.compare(compilerVersion, SemVer.ofString('4.0.0')) >= 0; + final isHaxe4 = SemVer.compare(getCompilerVersion(), SemVer.ofString('4.0.0')) >= 0; final useGlobalRepo = isHaxe4 && callData.useGlobalRepo; final callArgs = generateScriptArgs(main, name, version, dependencies, useGlobalRepo); From 1420a4ed5416ff01beb01f2867529c7c457a41f9 Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Sun, 1 Sep 2024 09:55:14 -0400 Subject: [PATCH 5/5] Change the order of `haxelib git` submodule installation (#638) * submodule stuff in progress * perhaps a submodule fix? * revert the dipshit logging * update run.n * we dont need to spit out every log, but we should use the threads? * comment out the unneeded git fetch * small reorder / remove redundant `git submodule init` * uncomment the lib deletion, since we've ran into issues related * fix for stderr/stdout related hangs on non-windows when installing git submodules * remove git progress code * run.n * remove whitespace * proper non-cli coupled logging * remove unneeded logging/git --quiet flag code for the time being * run.n * remove unneeded FsUtils.deleteRec() * run.n * remove testing print * run.n * removed unused import and throw an exception on submodule error * add message for SubmoduleError --- run.n | Bin 331397 -> 332544 bytes src/haxelib/api/Installer.hx | 4 +++- src/haxelib/api/Vcs.hx | 38 ++++++++++++++++++++++++++++------- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/run.n b/run.n index 170f3b604a5d632ce3212b07080597272168de7f..2b281c0cba02b73b65915a4e8bd8767ea20ba8f6 100644 GIT binary patch delta 72002 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 diff --git a/src/haxelib/api/Installer.hx b/src/haxelib/api/Installer.hx index 262043da..d2e20428 100644 --- a/src/haxelib/api/Installer.hx +++ b/src/haxelib/api/Installer.hx @@ -767,7 +767,7 @@ class Installer { userInterface.log('Installing $library from $url' + (branch != null ? " branch: " + branch : "")); final tag = vcsData.tag; try { - vcs.clone(libPath, url, branch, tag, userInterface.log.bind(_, Debug)); + vcs.clone(libPath, url, branch, tag, userInterface.log.bind(_, Debug), userInterface.log.bind(_, Optional)); } catch (error:VcsError) { FsUtils.deleteRec(libPath); switch (error) { @@ -779,6 +779,8 @@ class Installer { throw 'Could not checkout branch, tag or path "$branch": ' + stderr; case CantCheckoutVersion(_, version, stderr): throw 'Could not checkout tag "$version": ' + stderr; + case SubmoduleError(_, repo, stderr): + throw 'Could not clone submodule(s) from $repo: ' + stderr; case CommandFailed(_, code, stdout, stderr): throw new VcsCommandFailed(id, code, stdout, stderr); }; diff --git a/src/haxelib/api/Vcs.hx b/src/haxelib/api/Vcs.hx index 4ebfedb3..8fda1e35 100644 --- a/src/haxelib/api/Vcs.hx +++ b/src/haxelib/api/Vcs.hx @@ -48,7 +48,7 @@ interface IVcs { `debugLog` will be used to log executable output. **/ - function clone(libPath:String, vcsPath:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void):Void; + function clone(libPath:String, vcsPath:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void, ?optionalLog:(msg:String)->Void):Void; /** Updates repository in CWD or CWD/`Vcs.directory` to HEAD. @@ -74,6 +74,7 @@ enum VcsError { CantCheckoutBranch(vcs:Vcs, branch:String, stderr:String); CantCheckoutVersion(vcs:Vcs, version:String, stderr:String); CommandFailed(vcs:Vcs, code:Int, stdout:String, stderr:String); + SubmoduleError(vcs:Vcs, repo:String, stderr:String); } /** Exception thrown when a vcs update is cancelled. **/ @@ -230,7 +231,7 @@ abstract class Vcs implements IVcs { return ret; } - public abstract function clone(libPath:String, vcsPath:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void):Void; + public abstract function clone(libPath:String, vcsPath:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void, ?optionalLog:(msg:String)->Void):Void; public abstract function update(?confirm:() -> Bool, ?debugLog:(msg:String) -> Void, ?summaryLog:(msg:String) -> Void):Bool; @@ -320,13 +321,16 @@ class Git extends Vcs { return true; } - public function clone(libPath:String, url:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void):Void { + public function clone(libPath:String, url:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void, ?optionalLog:(msg:String)->Void):Void { final oldCwd = Sys.getCwd(); - final vcsArgs = ["clone", url, libPath]; + var vcsArgs = ["clone", url, libPath]; - if (!Vcs.flat) - vcsArgs.push('--recursive'); + inline function printOptional(msg) + if (optionalLog != null && msg != "") + optionalLog(msg); + + printOptional('Cloning ${name} from ${url}'); if (run(vcsArgs, debugLog).code != 0) throw VcsError.CantCloneRepo(this, url/*, ret.out*/); @@ -334,12 +338,16 @@ class Git extends Vcs { Sys.setCwd(libPath); if (version != null && version != "") { + printOptional('Checking out tag/version ${version} of ${name}'); + final ret = run(["checkout", "tags/" + version], debugLog); if (ret.code != 0) { Sys.setCwd(oldCwd); throw VcsError.CantCheckoutVersion(this, version, ret.out); } } else if (branch != null) { + printOptional('Checking out branch/commit ${branch} of ${libPath}'); + final ret = run(["checkout", branch], debugLog); if (ret.code != 0){ Sys.setCwd(oldCwd); @@ -347,6 +355,22 @@ class Git extends Vcs { } } + if (!Vcs.flat) + { + printOptional('Syncing submodules for ${name}'); + run(["submodule", "sync", "--recursive"], debugLog); + + var submoduleArgs = ["submodule", "update", "--init", "--recursive"]; + + printOptional('Downloading/updating submodules for ${name}'); + final ret = run(submoduleArgs, debugLog); + if (ret.code != 0) + { + Sys.setCwd(oldCwd); + throw VcsError.SubmoduleError(this, url, ret.out); + } + } + // return prev. cwd: Sys.setCwd(oldCwd); } @@ -421,7 +445,7 @@ class Mercurial extends Vcs { return changed; } - public function clone(libPath:String, url:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void):Void { + public function clone(libPath:String, url:String, ?branch:String, ?version:String, ?debugLog:(msg:String)->Void, ?optionalLog:(msg:String)->Void):Void { final vcsArgs = ["clone", url, libPath]; if (branch != null && version != null) {