Skip to content

Commit 3531d06

Browse files
committed
added support for #7730 and #7958
1 parent ac1d03e commit 3531d06

File tree

2 files changed

+43
-7
lines changed

2 files changed

+43
-7
lines changed

nbcode/nbproject/platform.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,6 @@ disabled.modules=\
394394
org.netbeans.modules.j2ee.sun.dd,\
395395
org.netbeans.modules.j2ee.sun.ddui,\
396396
org.netbeans.modules.jakarta.transformer,\
397-
org.netbeans.modules.jakarta.web.beans,\
398397
org.netbeans.modules.jakartaee8.api,\
399398
org.netbeans.modules.jakartaee8.platform,\
400399
org.netbeans.modules.javaee7.api,\

vscode/src/commands/buildOperations.ts

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,58 @@ import { l10n } from "../localiser";
1919
import { extCommands, nbCommands } from "./commands";
2020
import { ICommand } from "./types";
2121
import { wrapCommandWithProgress, wrapProjectActionWithProgress } from "./utils";
22+
import { workspace } from "vscode";
23+
import * as fs from 'fs';
24+
25+
const saveFilesInWorkspaceBeforeBuild = async (callbackFn: Function) => {
26+
const docsTosave: Thenable<boolean>[] = workspace.textDocuments.
27+
filter(d => fs.existsSync(d.uri.fsPath)).
28+
map(d => d.save());
29+
await Promise.all(docsTosave);
30+
31+
return callbackFn();
32+
}
2233

2334
const compileWorkspaceHandler = () => {
24-
return wrapCommandWithProgress(nbCommands.buildWorkspace, l10n.value('jdk.extension.command.progress.compilingWorkSpace'), LOGGER.getOutputChannel());
35+
const complileFunction = () =>
36+
wrapCommandWithProgress(nbCommands.buildWorkspace,
37+
l10n.value('jdk.extension.command.progress.compilingWorkSpace'),
38+
LOGGER.getOutputChannel()
39+
);
40+
41+
return saveFilesInWorkspaceBeforeBuild(complileFunction);
2542
}
2643

2744
const cleanWorkspaceHandler = () => {
28-
return wrapCommandWithProgress(nbCommands.cleanWorkspace,l10n.value('jdk.extension.command.progress.cleaningWorkSpace'), LOGGER.getOutputChannel());
45+
const cleanFunction = () => wrapCommandWithProgress(
46+
nbCommands.cleanWorkspace,
47+
l10n.value('jdk.extension.command.progress.cleaningWorkSpace'),
48+
LOGGER.getOutputChannel()
49+
);
50+
51+
return saveFilesInWorkspaceBeforeBuild(cleanFunction);
2952
}
3053

3154
const compileProjectHandler = (args: any) => {
32-
wrapProjectActionWithProgress('build', undefined, l10n.value('jdk.extension.command.progress.compilingProject'), LOGGER.getOutputChannel(), args);
55+
const compileProjectFunction = () =>
56+
wrapProjectActionWithProgress('build',
57+
undefined, l10n.value('jdk.extension.command.progress.compilingProject'),
58+
LOGGER.getOutputChannel(),
59+
args
60+
);
61+
62+
saveFilesInWorkspaceBeforeBuild(compileProjectFunction);
3363
}
3464

3565
const cleanProjectHandler = (args: any) => {
36-
wrapProjectActionWithProgress('clean', undefined, l10n.value('jdk.extension.command.progress.cleaningProject'), LOGGER.getOutputChannel(), args);
66+
const cleanProjectHandler = () => wrapProjectActionWithProgress('clean',
67+
undefined,
68+
l10n.value('jdk.extension.command.progress.cleaningProject'),
69+
LOGGER.getOutputChannel(),
70+
args
71+
);
72+
73+
saveFilesInWorkspaceBeforeBuild(cleanProjectHandler);
3774
}
3875

3976

@@ -44,10 +81,10 @@ export const registerBuildOperationCommands: ICommand[] = [
4481
}, {
4582
command: extCommands.cleanWorkspace,
4683
handler: cleanWorkspaceHandler
47-
},{
84+
}, {
4885
command: extCommands.compileProject,
4986
handler: compileProjectHandler
50-
},{
87+
}, {
5188
command: extCommands.cleanProject,
5289
handler: cleanProjectHandler
5390
}

0 commit comments

Comments
 (0)