Better gradle and extension conflict error handling. Refs #99
This commit is contained in:
Родитель
4994d87e8a
Коммит
0f9bd62147
12
README.md
12
README.md
|
@ -104,7 +104,7 @@ Check your dotfiles (eg `~/.bashrc`, `~/.bash_profile`, `~/.zshrc`) and fix any
|
|||
|
||||
You might see an error like:
|
||||
|
||||
```
|
||||
```shell
|
||||
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
```
|
||||
|
||||
|
@ -112,6 +112,16 @@ The start script [should find](https://gist.github.com/badsyntax/d71d38b1700325f
|
|||
|
||||
</details>
|
||||
|
||||
<details><summary>Incompatibility with other extensions</summary>
|
||||
|
||||
This extension is incompatible with the following extensions:
|
||||
|
||||
- [spmeesseman.vscode-taskexplorer](https://marketplace.visualstudio.com/items?itemName=spmeesseman.vscode-taskexplorer)
|
||||
|
||||
The reason for the incompatibility is due to the extensions providing the same tasks types (`gradle`) with different task definitions.
|
||||
|
||||
</details>
|
||||
|
||||
## Contributing
|
||||
|
||||
Refer to [CONTRIBUTING.md](./CONTRIBUTING.md) for instructions on how to run the project.
|
||||
|
|
|
@ -87,13 +87,13 @@ public class Server extends WebSocketServer {
|
|||
|
||||
@Override
|
||||
public void onStart() {
|
||||
logger.info("Server started, waiting for clients");
|
||||
logger.info("Gradle tasks server started");
|
||||
setConnectionLostTimeout(0);
|
||||
setConnectionLostTimeout(100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(WebSocket conn, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,8 +28,9 @@ class Action {
|
|||
protected void logError(WebSocket connection, String error) {
|
||||
logger.warning(error);
|
||||
if (connection.isOpen()) {
|
||||
connection
|
||||
.send(ServerMessage.Error.newBuilder().setMessage(error).build().toByteArray());
|
||||
connection.send(ServerMessage.Message.newBuilder()
|
||||
.setError(ServerMessage.Error.newBuilder().setMessage(error)).build()
|
||||
.toByteArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5805,6 +5805,7 @@
|
|||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-protoc-gen/-/ts-protoc-gen-0.12.0.tgz",
|
||||
"integrity": "sha512-V7jnICJxKqalBrnJSMTW5tB9sGi48gOC325bfcM7TDNUItVOlaMM//rQmuo49ybipk/SyJTnWXgtJnhHCevNJw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"google-protobuf": "^3.6.1"
|
||||
}
|
||||
|
|
|
@ -158,6 +158,7 @@ export class GradleTasksClient implements vscode.Disposable {
|
|||
) {
|
||||
this.onGradleProgress(this.handleProgressMessage);
|
||||
this.onGradleOutput(this.handleOutputMessage);
|
||||
this.onGradleError(this.handleGradleError);
|
||||
this.server.onStart(this.connect);
|
||||
this.server.onStop(this.handleServerStopped);
|
||||
}
|
||||
|
@ -386,6 +387,13 @@ export class GradleTasksClient implements vscode.Disposable {
|
|||
}
|
||||
};
|
||||
|
||||
private handleGradleError = (message: ServerMessage.Error): void => {
|
||||
const logMessage = message.getMessage().trim();
|
||||
if (logMessage) {
|
||||
logger.error(logMessage);
|
||||
}
|
||||
};
|
||||
|
||||
private handleMessage = (data: WebSocket.Data): void => {
|
||||
if (data instanceof Buffer) {
|
||||
let serverMessage: ServerMessage.Message;
|
||||
|
|
|
@ -297,7 +297,7 @@ export class GradleTasksTreeDataProvider
|
|||
let workspaceTreeItem = null;
|
||||
|
||||
tasks.forEach(task => {
|
||||
if (isWorkspaceFolder(task.scope)) {
|
||||
if (isWorkspaceFolder(task.scope) && task.definition.buildFile) {
|
||||
workspaceTreeItem = workspaceTreeItems.get(task.scope.name);
|
||||
if (!workspaceTreeItem) {
|
||||
workspaceTreeItem = new WorkspaceTreeItem(
|
||||
|
|
Загрузка…
Ссылка в новой задаче