mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-16 09:35:36 -05:00
change afterClean to beforeBuild for removing the generated assests.json (#13736)
* change afterClean to beforeBuild for removing the generated assests.json * fix merge conflict * rename files
This commit is contained in:
@@ -221,7 +221,7 @@ export const Project = 'Project';
|
||||
export const Condition = 'Condition';
|
||||
export const Target = 'Target';
|
||||
export const Name = 'Name';
|
||||
export const AfterCleanTarget = 'AfterClean';
|
||||
export const BeforeBuildTarget = 'BeforeBuild';
|
||||
export const Delete = 'Delete';
|
||||
export const Files = 'Files';
|
||||
export const PackageReference = 'PackageReference';
|
||||
|
||||
@@ -201,7 +201,7 @@ export class Project {
|
||||
await fs.copyFile(this.projectFilePath, this.projectFilePath + '_backup');
|
||||
await this.updateImportToSupportRoundTrip();
|
||||
await this.updatePackageReferenceInProjFile();
|
||||
await this.updateAfterCleanTargetInProjFile();
|
||||
await this.updateBeforeBuildTargetInProjFile();
|
||||
await this.updateSystemDatabaseReferencesInProjFile();
|
||||
}
|
||||
} else if (this.containsSSDTOnlySystemDatabaseReferences()) {
|
||||
@@ -232,21 +232,21 @@ export class Project {
|
||||
await this.updateImportedTargetsToProjFile(constants.NetCoreCondition, constants.NetCoreTargets, undefined);
|
||||
}
|
||||
|
||||
private async updateAfterCleanTargetInProjFile(): Promise<void> {
|
||||
private async updateBeforeBuildTargetInProjFile(): Promise<void> {
|
||||
// Search if clean target already present, update it
|
||||
for (let i = 0; i < this.projFileXmlDoc.documentElement.getElementsByTagName(constants.Target).length; i++) {
|
||||
const afterCleanNode = this.projFileXmlDoc.documentElement.getElementsByTagName(constants.Target)[i];
|
||||
const name = afterCleanNode.getAttribute(constants.Name);
|
||||
if (name === constants.AfterCleanTarget) {
|
||||
return await this.createCleanFileNode(afterCleanNode);
|
||||
const beforeBuildNode = this.projFileXmlDoc.documentElement.getElementsByTagName(constants.Target)[i];
|
||||
const name = beforeBuildNode.getAttribute(constants.Name);
|
||||
if (name === constants.BeforeBuildTarget) {
|
||||
return await this.createCleanFileNode(beforeBuildNode);
|
||||
}
|
||||
}
|
||||
|
||||
// If clean target not found, create new
|
||||
const afterCleanNode = this.projFileXmlDoc.createElement(constants.Target);
|
||||
afterCleanNode.setAttribute(constants.Name, constants.AfterCleanTarget);
|
||||
this.projFileXmlDoc.documentElement.appendChild(afterCleanNode);
|
||||
await this.createCleanFileNode(afterCleanNode);
|
||||
const beforeBuildNode = this.projFileXmlDoc.createElement(constants.Target);
|
||||
beforeBuildNode.setAttribute(constants.Name, constants.BeforeBuildTarget);
|
||||
this.projFileXmlDoc.documentElement.appendChild(beforeBuildNode);
|
||||
await this.createCleanFileNode(beforeBuildNode);
|
||||
}
|
||||
|
||||
private async createCleanFileNode(parentNode: any): Promise<void> {
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<!-- Custom logic added by user -->
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
@@ -54,7 +54,7 @@
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/>
|
||||
<Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets"/>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<!-- Custom logic added by user -->
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
|
||||
</Target>
|
||||
@@ -73,7 +73,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -15,8 +15,8 @@ export let SSDTProjectFileBaseline: string;
|
||||
export let SSDTProjectAfterUpdateBaseline: string;
|
||||
export let SSDTUpdatedProjectBaseline: string;
|
||||
export let SSDTUpdatedProjectAfterSystemDbUpdateBaseline: string;
|
||||
export let SSDTProjectBaselineWithCleanTarget: string;
|
||||
export let SSDTProjectBaselineWithCleanTargetAfterUpdate: string;
|
||||
export let SSDTProjectBaselineWithBeforeBuildTarget: string;
|
||||
export let SSDTProjectBaselineWithBeforeBuildTargetAfterUpdate: string;
|
||||
export let publishProfileIntegratedSecurityBaseline: string;
|
||||
export let publishProfileSqlLoginBaseline: string;
|
||||
export let openProjectWithProjectReferencesBaseline: string;
|
||||
@@ -34,8 +34,8 @@ export async function loadBaselines() {
|
||||
SSDTProjectAfterUpdateBaseline = await loadBaseline(baselineFolderPath, 'SSDTProjectAfterUpdateBaseline.xml');
|
||||
SSDTUpdatedProjectBaseline = await loadBaseline(baselineFolderPath, 'SSDTUpdatedProjectBaseline.xml');
|
||||
SSDTUpdatedProjectAfterSystemDbUpdateBaseline = await loadBaseline(baselineFolderPath, 'SSDTUpdatedProjectAfterSystemDbUpdateBaseline.xml');
|
||||
SSDTProjectBaselineWithCleanTarget = await loadBaseline(baselineFolderPath, 'SSDTProjectBaselineWithCleanTarget.xml');
|
||||
SSDTProjectBaselineWithCleanTargetAfterUpdate = await loadBaseline(baselineFolderPath, 'SSDTProjectBaselineWithCleanTargetAfterUpdate.xml');
|
||||
SSDTProjectBaselineWithBeforeBuildTarget = await loadBaseline(baselineFolderPath, 'SSDTProjectBaselineWithBeforeBuildTarget.xml');
|
||||
SSDTProjectBaselineWithBeforeBuildTargetAfterUpdate = await loadBaseline(baselineFolderPath, 'SSDTProjectBaselineWithBeforeBuildTargetAfterUpdate.xml');
|
||||
publishProfileIntegratedSecurityBaseline = await loadBaseline(baselineFolderPath, 'publishProfileIntegratedSecurityBaseline.publish.xml');
|
||||
publishProfileSqlLoginBaseline = await loadBaseline(baselineFolderPath, 'publishProfileSqlLoginBaseline.publish.xml');
|
||||
openProjectWithProjectReferencesBaseline = await loadBaseline(baselineFolderPath, 'openSqlProjectWithProjectReferenceBaseline.xml');
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
<PostDeploy Include="Script.PostDeployment1.sql"/>
|
||||
<None Include="Tables\Script.PostDeployment1.sql"/>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
<PostDeploy Include="Script.PostDeployment1.sql"/>
|
||||
<None Include="Tables\Script.PostDeployment1.sql"/>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
<PostDeploy Include="Script.PostDeployment1.sql"/>
|
||||
<None Include="Tables\Script.PostDeployment1.sql"/>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
<DatabaseSqlCmdVariable>TestProjectName</DatabaseSqlCmdVariable>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Target Name="AfterClean">
|
||||
<Target Name="BeforeBuild">
|
||||
<Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -590,7 +590,7 @@ describe('Project: round trip updates', function (): void {
|
||||
});
|
||||
|
||||
it('Should update SSDT project to work in ADS handling pre-exsiting targets', async function (): Promise<void> {
|
||||
await testUpdateInRoundTrip(baselines.SSDTProjectBaselineWithCleanTarget, baselines.SSDTProjectBaselineWithCleanTargetAfterUpdate);
|
||||
await testUpdateInRoundTrip(baselines.SSDTProjectBaselineWithBeforeBuildTarget, baselines.SSDTProjectBaselineWithBeforeBuildTargetAfterUpdate);
|
||||
});
|
||||
|
||||
it('Should not update project and no backup file should be created when update to project is rejected', async function (): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user