-
Notifications
You must be signed in to change notification settings - Fork 89
Description
Looking through the UI contributions, I see that builds tend to run "full".
vscode-java-dependency/package.json
Lines 612 to 616 in 84af4b3
{ | |
"command": "java.project.build.workspace", | |
"when": "view == javaProjectExplorer && java:serverMode == Standard && !java:noJavaProjects && !java:importFailed", | |
"group": "navigation@30" | |
}, |
vscode-java-dependency/package.json
Lines 704 to 708 in 84af4b3
{ | |
"command": "java.project.build.workspace", | |
"when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+java\\b)(?=.*?\\b\\+uri\\b)/", | |
"group": "8_execution@5" | |
}, |
vscode-java-dependency/src/views/dependencyDataProvider.ts
Lines 57 to 58 in 84af4b3
context.subscriptions.push(instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_BUILD_WORKSPACE, () => | |
commands.executeCommand(Commands.JAVA_BUILD_WORKSPACE, true /*fullCompile*/))); |
vscode-java-dependency/src/views/dependencyDataProvider.ts
Lines 73 to 80 in 84af4b3
context.subscriptions.push(instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_REBUILD, async (node: INodeData) => { | |
if (!node.uri) { | |
sendError(new Error("Uri not available when building project")); | |
window.showErrorMessage("The URI of the project is not available, you can try to trigger the command 'Java: Rebuild Projects' from Command Palette."); | |
return; | |
} | |
commands.executeCommand(Commands.BUILD_PROJECT, Uri.parse(node.uri), true); | |
})); |
From #854 (comment) & https://wiki.eclipse.org/FAQ_How_do_I_turn_off_autobuilding_of_Java_code%3F the consensus seems to be that if a user has a large enough project, and they observe very slow performance on builds, one thing to try is disabling autobuild and switching to manually performing the build. If doing this, wouldn't it be best to make every build-related UI element do it incrementally ? That way the least amount of work is done, and if a full build is needed, the incremental builder would just fall back to that.
@jdneo , what are your thoughts on a proposal to change most of these commands to "incremental" ? Are there certain UI elements that should absolutely remain "full" ?
Update:
- Eclipse IDE's
Build All
is incremental by default : https://github.com/eclipse-platform/eclipse.platform.ui/blob/70a35a94b2c6aa67018f919d627b4426c17cb8a4/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/handlers/BuildAllProjectsHandler.java#L37 - JDT's
Build Project
is incremental by default : https://github.com/eclipse-jdt/eclipse.jdt.ui/blob/3d780e85b18b6bd8f7548efdc37367959b1218e8/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/BuildActionGroup.java#L129