提交 4a38bdc1 编写于 作者: D Dirk Baeumer

First cut of a version converter

上级 c4620dea
...@@ -989,7 +989,7 @@ namespace TaskDescription { ...@@ -989,7 +989,7 @@ namespace TaskDescription {
for (let i = 0; i < value.length; i++) { for (let i = 0; i < value.length; i++) {
let ch = value.charAt(i); let ch = value.charAt(i);
if (ch === ' ') { if (ch === ' ') {
if (i === 0 || value.charAt(i) !== '\\') { if (i === 0 || value.charAt(i - 1) !== '\\') {
return true; return true;
} }
} }
...@@ -1236,4 +1236,82 @@ export function parse(configuration: ExternalTaskRunnerConfiguration, logger: IP ...@@ -1236,4 +1236,82 @@ export function parse(configuration: ExternalTaskRunnerConfiguration, logger: IP
export function mergeTasks(target: Tasks.Task, source: Tasks.Task): Tasks.Task { export function mergeTasks(target: Tasks.Task, source: Tasks.Task): Tasks.Task {
return TaskDescription.merge(target, source); return TaskDescription.merge(target, source);
} }
\ No newline at end of file
/*
class VersionConverter {
constructor(private problemReporter: IProblemReporter) {
}
public convert(fromConfig: ExternalTaskRunnerConfiguration): ExternalTaskRunnerConfiguration {
let result: ExternalTaskRunnerConfiguration;
result.version = '2.0.0';
if (Array.isArray(fromConfig.tasks)) {
} else {
result.tasks = [];
}
return result;
}
private convertGlobalTask(fromConfig: ExternalTaskRunnerConfiguration): TaskDescription {
let command: string = this.getGlobalCommand(fromConfig);
if (!command) {
this.problemReporter.error(nls.localize('Converter.noGlobalName', 'No global command specified. Can\'t convert to 2.0.0 version.'));
return undefined;
}
let result: TaskDescription = {
taskName: command
};
if (fromConfig.isShellCommand) {
result.type = 'shell';
} else {
result.type = 'process';
result.args = fromConfig.args;
}
if (fromConfig.)
return result;
}
private getGlobalCommand(fromConfig: ExternalTaskRunnerConfiguration): string {
if (fromConfig.command) {
return fromConfig.command;
} else if (fromConfig.windows && fromConfig.windows.command) {
return fromConfig.windows.command;
} else if (fromConfig.osx && fromConfig.osx.command) {
return fromConfig.osx.command;
} else if (fromConfig.linux && fromConfig.linux.command) {
return fromConfig.linux.command;
} else {
return undefined;
}
}
private createCommandLine(command: string, args: string[], isWindows: boolean): string {
let result: string[];
let commandHasSpace = false;
let argHasSpace = false;
if (TaskDescription.hasUnescapedSpaces(command)) {
result.push(`"${command}"`);
commandHasSpace = true;
} else {
result.push(command);
}
if (args) {
for (let arg of args) {
if (TaskDescription.hasUnescapedSpaces(arg)) {
result.push(`"${arg}"`);
argHasSpace= true;
} else {
result.push(arg);
}
}
}
return result.join(' ');
}
}
*/
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册