From 6f03cbac971796e28313823ee2b34d2e928ee1b8 Mon Sep 17 00:00:00 2001 From: Kim Santiago <31145923+kisantia@users.noreply.github.com> Date: Wed, 17 Nov 2021 07:59:43 -1000 Subject: [PATCH] support building msbuild sdk style projects (#17675) * support building msbuild sdk style projects * fixes after merge --- .../src/controllers/projectController.ts | 2 +- .../src/test/buildHelper.test.ts | 15 ++++++++++++++- .../src/tools/buildHelper.ts | 8 ++++++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts index e8c20c5a17..23c30015f3 100644 --- a/extensions/sql-database-projects/src/controllers/projectController.ts +++ b/extensions/sql-database-projects/src/controllers/projectController.ts @@ -223,7 +223,7 @@ export class ProjectsController { const options: ShellCommandOptions = { commandTitle: 'Build', workingDirectory: project.projectFolderPath, - argument: this.buildHelper.constructBuildArguments(project.projectFilePath, this.buildHelper.extensionBuildDirPath) + argument: this.buildHelper.constructBuildArguments(project.projectFilePath, this.buildHelper.extensionBuildDirPath, project.isSdkStyleProject) }; try { diff --git a/extensions/sql-database-projects/src/test/buildHelper.test.ts b/extensions/sql-database-projects/src/test/buildHelper.test.ts index 68cb70ab98..f2a2b557fd 100644 --- a/extensions/sql-database-projects/src/test/buildHelper.test.ts +++ b/extensions/sql-database-projects/src/test/buildHelper.test.ts @@ -14,7 +14,7 @@ describe('BuildHelper: Build Helper tests', function (): void { it('Should get correct build arguments', function (): void { // update settings and validate const buildHelper = new BuildHelper(); - const resultArg = buildHelper.constructBuildArguments('dummy\\project path\\more space in path', 'dummy\\dll path'); + const resultArg = buildHelper.constructBuildArguments('dummy\\project path\\more space in path', 'dummy\\dll path', false); if (os.platform() === 'win32') { should(resultArg).equal(' build "dummy\\\\project path\\\\more space in path" /p:NetCoreBuild=true /p:NETCoreTargetsPath="dummy\\\\dll path"'); @@ -24,6 +24,19 @@ describe('BuildHelper: Build Helper tests', function (): void { } }); + it('Should get correct build arguments for sdk style projects', function (): void { + // update settings and validate + const buildHelper = new BuildHelper(); + const resultArg = buildHelper.constructBuildArguments('dummy\\project path\\more space in path', 'dummy\\dll path', true); + + if (os.platform() === 'win32') { + should(resultArg).equal(' build "dummy\\\\project path\\\\more space in path" /p:NetCoreBuild=true'); + } + else { + should(resultArg).equal(' build "dummy/project path/more space in path" /p:NetCoreBuild=true'); + } + }); + it('Should get correct build folder', async function (): Promise { const buildHelper = new BuildHelper(); await buildHelper.createBuildDirFolder(); diff --git a/extensions/sql-database-projects/src/tools/buildHelper.ts b/extensions/sql-database-projects/src/tools/buildHelper.ts index c69bc6c6f8..2741399ec5 100644 --- a/extensions/sql-database-projects/src/tools/buildHelper.ts +++ b/extensions/sql-database-projects/src/tools/buildHelper.ts @@ -80,10 +80,14 @@ export class BuildHelper { return this.extensionBuildDir; } - public constructBuildArguments(projectPath: string, buildDirPath: string): string { + public constructBuildArguments(projectPath: string, buildDirPath: string, isNetCoreSdkStyleProject: boolean): string { projectPath = utils.getQuotedPath(projectPath); buildDirPath = utils.getQuotedPath(buildDirPath); - return ` build ${projectPath} /p:NetCoreBuild=true /p:NETCoreTargetsPath=${buildDirPath}`; + if (isNetCoreSdkStyleProject) { + return ` build ${projectPath} /p:NetCoreBuild=true`; + } else { + return ` build ${projectPath} /p:NetCoreBuild=true /p:NETCoreTargetsPath=${buildDirPath}`; + } } }