Skip to content

Commit 801dc82

Browse files
committed
fix posix dir inheritance
1 parent 22cb91c commit 801dc82

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

files/MergedEnvs.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
import { deep_eql } from "../deps/common.ts";
2+
import {
3+
DynamicPosixDirProvision,
4+
PosixDirProvision,
5+
} from "../modules/envs/types.ts";
26
import getLogger from "../utils/logger.ts";
37

48
const logger = getLogger(import.meta);
@@ -10,6 +14,8 @@ type Var =
1014
export class ParentEnvs {
1115
#childName: string;
1216
#vars: Map<string, Var> = new Map();
17+
#posixDirs: Array<PosixDirProvision> = [];
18+
#dynamicPosixDirs: Array<DynamicPosixDirProvision> = [];
1319
#installs: Set<string> = new Set();
1420
#onEnterHooks: string[] = [];
1521
#onExitHooks: string[] = [];
@@ -68,6 +74,14 @@ export class ParentEnvs {
6874
}
6975
}
7076

77+
mergePosixDirs(
78+
posixDirs: Array<PosixDirProvision>,
79+
dynamicPosixDirs: Array<DynamicPosixDirProvision>,
80+
) {
81+
this.#posixDirs.push(...posixDirs);
82+
this.#dynamicPosixDirs.push(...dynamicPosixDirs);
83+
}
84+
7185
mergeInstalls(
7286
parentName: string,
7387
installs: Set<string>,
@@ -118,6 +132,8 @@ export class ParentEnvs {
118132
onExitHookTasks: this.#onExitHooks,
119133
vars,
120134
dynVars,
135+
posixDirs: this.#posixDirs,
136+
dynamicPosixDirs: this.#dynamicPosixDirs,
121137
};
122138
}
123139
}

files/mod.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,10 @@ export class Ghjkfile {
426426
);
427427
parentEnvs.mergeVars(parentName, vars);
428428
parentEnvs.mergeDynVars(parentName, dynVars);
429+
parentEnvs.mergePosixDirs(
430+
finalized.posixDirs,
431+
finalized.dynamicPosixDirs,
432+
);
429433
if (installSetId) {
430434
const set = this.#installSets.get(installSetId)!;
431435
parentEnvs.mergeInstalls(
@@ -642,7 +646,9 @@ export class Ghjkfile {
642646
prov,
643647
);
644648
}),
649+
...base.posixDirs,
645650
...final.posixDirs,
651+
...base.dynamicPosixDirs,
646652
...final.dynamicPosixDirs,
647653
// env hooks
648654
...hooks,

0 commit comments

Comments
 (0)