Skip to content

Commit 6cd518b

Browse files
authored
Merge pull request #1618 from forcedotcom/jj/W-15639920_set_env
NEW (Extension) @W-15639920@ CLI changes to pass java env variable to enable caching and path for delta runs
2 parents fc0d01b + 1bd5a1f commit 6cd518b

File tree

4 files changed

+38
-2
lines changed

4 files changed

+38
-2
lines changed

src/commands/scanner/run/dfa.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,19 @@ export default class Dfa extends ScannerRunCommand {
6969
summary: getMessage(BundleName.RunDfa, 'flags.pathexplimitSummary'),
7070
description: getMessage(BundleName.RunDfa, 'flags.pathexplimitDescription'),
7171
env: 'SFGE_PATH_EXPANSION_LIMIT'
72-
})
72+
}),
73+
'enablecaching': Flags.boolean({
74+
summary: '',
75+
description: '',
76+
env: 'SFGE_ENABLE_CACHING',
77+
hidden: true
78+
}),
79+
'cachepath': Flags.string({
80+
summary: '',
81+
description: '',
82+
env: 'SFGE_FILES_TO_ENTRIES_CACHE_LOCATION',
83+
hidden: true
84+
}),
7385
// END: Config-overrideable engine flags.
7486
};
7587

src/lib/EngineOptionsFactory.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ export class RunDfaEngineOptionsFactory extends CommonEngineOptionsFactory {
114114
if (inputs['pathexplimit'] != null) {
115115
sfgeConfig.pathexplimit = inputs['pathexplimit'] as number;
116116
}
117+
if (inputs['enablecaching'] != null) {
118+
sfgeConfig.enablecaching = inputs['enablecaching'] as boolean;
119+
}
120+
if (inputs['cachepath'] != null) {
121+
sfgeConfig.cachepath = inputs['cachepath'] as string;
122+
}
117123
sfgeConfig.ruleDisableWarningViolation = getBooleanEngineOption(inputs, RULE_DISABLE_WARNING_VIOLATION_FLAG);
118124
engineOptions.set(CUSTOM_CONFIG.SfgeConfig, JSON.stringify(sfgeConfig));
119125

src/lib/sfge/SfgeWrapper.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ type SfgeExecuteOptions = SfgeWrapperOptions & {
4646
ruleThreadCount?: number;
4747
ruleThreadTimeout?: number;
4848
ruleDisableWarningViolation?: boolean;
49+
enablecaching?: boolean;
50+
cachepath?: string;
4951
}
5052

5153
type SfgeTarget = {
@@ -57,6 +59,8 @@ type SfgeInput = {
5759
targets: SfgeTarget[];
5860
projectDirs: string[];
5961
rulesToRun: string[];
62+
enablecaching?: boolean;
63+
cachepath?: string;
6064
};
6165

6266
class SfgeSpinnerManager extends AsyncCreatable implements SpinnerManager {
@@ -209,6 +213,8 @@ export class SfgeExecuteWrapper extends AbstractSfgeWrapper {
209213
private ruleThreadCount: number;
210214
private ruleThreadTimeout: number;
211215
private ruleDisableWarningViolation: boolean;
216+
private enablecaching: boolean;
217+
private cachepath: string;
212218

213219
constructor(options: SfgeExecuteOptions) {
214220
super(options);
@@ -218,6 +224,8 @@ export class SfgeExecuteWrapper extends AbstractSfgeWrapper {
218224
this.ruleThreadCount = options.ruleThreadCount;
219225
this.ruleThreadTimeout = options.ruleThreadTimeout;
220226
this.ruleDisableWarningViolation = options.ruleDisableWarningViolation;
227+
this.enablecaching = options.enablecaching;
228+
this.cachepath = options.cachepath;
221229
}
222230

223231
protected getSupplementalFlags(): string[] {
@@ -231,6 +239,12 @@ export class SfgeExecuteWrapper extends AbstractSfgeWrapper {
231239
if (this.ruleDisableWarningViolation != null) {
232240
flags.push(`-DSFGE_RULE_DISABLE_WARNING_VIOLATION=${this.ruleDisableWarningViolation.toString()}`);
233241
}
242+
if (this.enablecaching != null && this.enablecaching) {
243+
flags.push(`-DSFGE_DISABLE_CACHING=false`);
244+
}
245+
if (this.cachepath != null) {
246+
flags.push(`-DSFGE_FILES_TO_ENTRIES_CACHE_LOCATION=${this.cachepath}`);
247+
}
234248
return flags;
235249
}
236250

@@ -291,7 +305,9 @@ export class SfgeExecuteWrapper extends AbstractSfgeWrapper {
291305
pathExpLimit: sfgeConfig.pathexplimit,
292306
ruleThreadCount: sfgeConfig.ruleThreadCount,
293307
ruleThreadTimeout: sfgeConfig.ruleThreadTimeout,
294-
ruleDisableWarningViolation: sfgeConfig.ruleDisableWarningViolation
308+
ruleDisableWarningViolation: sfgeConfig.ruleDisableWarningViolation,
309+
cachepath: sfgeConfig.cachepath,
310+
enablecaching: sfgeConfig.enablecaching
295311
});
296312
return wrapper.execute();
297313
}

src/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,4 +204,6 @@ export type SfgeConfig = {
204204
ruleDisableWarningViolation?: boolean;
205205
jvmArgs?: string;
206206
pathexplimit?: number;
207+
enablecaching?: boolean;
208+
cachepath?: string;
207209
};

0 commit comments

Comments
 (0)