Skip to content

Commit dbf1549

Browse files
committed
oh look! we killed the build (again).
1 parent aaffc67 commit dbf1549

5 files changed

Lines changed: 86 additions & 32 deletions

File tree

Build/BuildtSQLtDacpac.ps1

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Param(
2+
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string] $ServerName,
3+
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string] $DatabaseName,
4+
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string] $Login,
5+
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string] $SqlCmdPath,
6+
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string] $SqlPackagePath
7+
);
8+
<#
9+
Technically this should be called by a matrixed job, so that dacpacs are built for all versions (we support, like not 2005, 2008)
10+
#>
11+
12+
$scriptpath = $MyInvocation.MyCommand.Path;
13+
$dir = Split-Path $scriptpath;
14+
15+
.($dir+"\CommonFunctionsAndMethods.ps1");
16+
17+
$OutputPath = $dir + "/output/DacpacBuild/";
18+
$TempPath = $dir + "/temp/DacpacBuild/";
19+
20+
$ServerNameTrimmed = $ServerName.Trim();
21+
$LoginTrimmed = $Login.Trim("'").Trim();
22+
23+
24+
Log-Output "FileLocation: $dir";
25+
Push-Location;
26+
Set-Location $TempPath;
27+
28+
Exec-SqlFileOrQuery -ServerName $ServerNameTrimmed -Login "$LoginTrimmed" -SqlCmdPath $SqlCmdPath -FileNames @("ResetValidationServer.sql","PrepareServer.sql");
29+
Exec-SqlFileOrQuery -ServerName $ServerNameTrimmed -Login "$LoginTrimmed" -SqlCmdPath $SqlCmdPath -FileNames ($dir+"/CreateBuildDb.sql") -Database "tempdb" -AdditionalParameters ('-v NewDbName="'+$DatabaseName+'"');
30+
Exec-SqlFileOrQuery -ServerName $ServerNameTrimmed -Login "$LoginTrimmed" -SqlCmdPath $SqlCmdPath -FileNames "tSQLt.class.sql" -Database "$DatabaseName";
31+
32+
$tSQLtDacpacFileName = "tSQLt."+$FriendlySQLServerVersion+".dacpac";
33+
$tSQLtApplicationName = "tSQLt."+$FriendlySQLServerVersion;
34+
$tSQLtConnectionString = Get-SqlConnectionString -ServerName $ServerNameTrimmed -Login "$LoginTrimmed" -DatabaseName $DatabaseName;
35+
36+
& "$SqlPackagePath\sqlpackage.exe" /a:Extract /scs:"$tSQLtConnectionString" /tf:"$tSQLtDacpacFileName" /p:DacApplicationName="$tSQLtApplicationName" /p:IgnoreExtendedProperties=true /p:DacMajorVersion=0 /p:DacMinorVersion=1 /p:ExtractUsageProperties=false
37+
if($LASTEXITCODE -ne 0) {
38+
throw "error during execution of dacpac " + $tSQLtDacpacFileName;
39+
}
40+
41+
Copy-Item -Path $tSQLtDacpacFileName -Destination $OutputPath;
42+
43+
Pop-Location;

Build/FacadeBuildDacpac.ps1

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,12 @@ $dir = Split-Path $scriptpath;
2020
$OutputPath = $dir + "/output/DacpacBuild/";
2121
$TempPath = $dir + "/temp/DacpacBuild/";
2222

23-
<# Clean #>
24-
Remove-DirectoryQuietly -Path $TempPath;
25-
Remove-DirectoryQuietly -Path $OutputPath;
26-
27-
<# Init #>
28-
$tempDir = New-Item -ItemType "directory" -Path $TempPath;
29-
$outputDir = New-Item -ItemType "directory" -Path $OutputPath;
30-
3123
$ServerNameTrimmed = $ServerName.Trim();
3224
$LoginTrimmed = $Login.Trim("'").Trim();
3325

3426

3527
Log-Output "FileLocation: $dir";
3628
Push-Location;
37-
Set-Location $dir;
38-
39-
Expand-Archive -Path "./output/tSQLtBuild/tSQLtFacade.zip" -DestinationPath $TempPath;
40-
4129
Set-Location $TempPath;
4230

4331
$SourceDatabaseName = $DatabaseName+"_src";
@@ -52,21 +40,11 @@ $FacadeDacpacFileName = "tSQLtFacade."+$FriendlySQLServerVersion+".dacpac";
5240
$FacadeApplicationName = "tSQLtFacade."+$FriendlySQLServerVersion;
5341
$FacadeConnectionString = Get-SqlConnectionString -ServerName $ServerNameTrimmed -Login "$LoginTrimmed" -DatabaseName $TargetDatabaseName;
5442

55-
$tSQLtDacpacFileName = "tSQLt."+$FriendlySQLServerVersion+".dacpac";
56-
$tSQLtApplicationName = "tSQLt."+$FriendlySQLServerVersion;
57-
$tSQLtConnectionString = Get-SqlConnectionString -ServerName $ServerNameTrimmed -Login "$LoginTrimmed" -DatabaseName $SourceDatabaseName;
58-
5943
& "$SqlPackagePath\sqlpackage.exe" /a:Extract /scs:"$FacadeConnectionString" /tf:"$FacadeDacpacFileName" /p:DacApplicationName="$FacadeApplicationName" /p:IgnoreExtendedProperties=true /p:DacMajorVersion=0 /p:DacMinorVersion=1 /p:ExtractUsageProperties=false
6044
if($LASTEXITCODE -ne 0) {
6145
throw "error during execution of dacpac " + $FacadeDacpacFileName;
6246
}
6347

64-
& "$SqlPackagePath\sqlpackage.exe" /a:Extract /scs:"$tSQLtConnectionString" /tf:"$tSQLtDacpacFileName" /p:DacApplicationName="$tSQLtApplicationName" /p:IgnoreExtendedProperties=true /p:DacMajorVersion=0 /p:DacMinorVersion=1 /p:ExtractUsageProperties=false
65-
if($LASTEXITCODE -ne 0) {
66-
throw "error during execution of dacpac " + $tSQLtDacpacFileName;
67-
}
68-
6948
Copy-Item -Path $FacadeDacpacFileName -Destination $OutputPath;
70-
Copy-Item -Path $tSQLtDacpacFileName -Destination $OutputPath;
7149

7250
Pop-Location;

Build/LocalBuild.bat

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,14 @@ IF "%VerboseOutput%"=="ON" @ECHO ON
4343
CALL "%AntHome%\bin\ant" -buildfile Build\tSQLt.build.xml -Dcommit.id="--> LOCALBUILD <--" || goto :error
4444
@ECHO OFF
4545

46-
ECHO +-------------------------+
47-
ECHO : Creating tSQLt Facade :
48-
ECHO +-------------------------+
46+
ECHO +-----------------------------------+
47+
ECHO : Creating tSQLt and Facade dacpacs :
48+
ECHO +-----------------------------------+
4949
IF "%VerboseOutput%"=="ON" @ECHO ON
50+
CALL "powershell.exe" -File Build\SetupDacpacBuild.ps1 -ErrorAction Stop || goto :error
5051
@REM -----------------------------------------------------------------------------This space character is utterly important! --------------v
5152
CALL "powershell.exe" -File Build\FacadeBuildDacpac.ps1 -ErrorAction Stop -ServerName "%SQLInstanceName%" -DatabaseName "%DBName%" -Login " %DBLogin%" -SqlCmdPath "%SQLCMDPath%" -SqlPackagePath "%SQLPackagePath%" || goto :error
53+
CALL "powershell.exe" -File Build\BuildtSQLtDacpac.ps1 -ErrorAction Stop -ServerName "%SQLInstanceName%" -DatabaseName "%DBName%_dacpac_src" -Login " %DBLogin%" -SqlCmdPath "%SQLCMDPath%" -SqlPackagePath "%SQLPackagePath%" || goto :error
5254
@ECHO OFF
5355

5456
ECHO +-------------------------+

Build/SetupDacpacBuild.ps1

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
$scriptpath = $MyInvocation.MyCommand.Path;
2+
$dir = Split-Path $scriptpath;
3+
4+
.($dir+"\CommonFunctionsAndMethods.ps1");
5+
6+
$OutputPath = $dir + "/output/DacpacBuild/";
7+
$TempPath = $dir + "/temp/DacpacBuild/";
8+
9+
<# Clean #>
10+
Remove-DirectoryQuietly -Path $TempPath;
11+
Remove-DirectoryQuietly -Path $OutputPath;
12+
13+
$tempDir = New-Item -ItemType "directory" -Path $TempPath;
14+
$outputDir = New-Item -ItemType "directory" -Path $OutputPath;
15+
16+
17+
Expand-Archive -Path ($dir + "/output/tSQLtBuild/tSQLtFacade.zip") -DestinationPath $TempPath;
18+
Expand-Archive -Path ($dir + "/output/tSQLtBuild/tSQLtFiles.zip") -DestinationPath $TempPath -Force;

Build/tSQLt.validatebuild.xml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,35 @@
2121

2222
<target name="set.database.name.variables">
2323
<property name="run.tSQLt.database" value="${db.name}" />
24-
<property name="run.Dacpac.database" value="${db.name}_dacpac" />
24+
<property name="run.Dacpac.src.database" value="${db.name}_dacpac_src" />
25+
<property name="run.Dacpac.validate.database" value="${db.name}_dacpac_tgt" />
2526
<property name="run.Facade.database" value="${db.name}_facade" />
2627
<property name="run.Example.database" value="tSQLt_Example" /> <!-- do not change, hard coded in deployment -->
2728

2829
<property name="run.Facade.src.database" value="${run.Facade.database}_src" />
29-
<property name="run.Facade.trg.database" value="${run.Facade.database}_trg" />
30+
<property name="run.Facade.tgt.database" value="${run.Facade.database}_tgt" />
3031
<property name="run.Facade.validate.database" value="${run.Facade.database}_validate" />
31-
<echo message="Selected Dacpac Database: [${run.Dacpac.database}]" />
32+
33+
<echo message="Selected tSQLt Database: [${run.tSQLt.database}]" />
34+
35+
<echo message="Selected Dacpac Src Database: [${run.Dacpac.src.database}]" />
36+
<echo message="Selected Dacpac Validate Database: [${run.Dacpac.validate.database}]" />
37+
38+
<echo message="Selected Facade Database Prefix: [${run.Facade.database}]" />
39+
<echo message="Selected Facade Src Database: [${run.Facade.src.database}]" />
40+
<echo message="Selected Facade Tgt Database: [${run.Facade.tgt.database}]" />
41+
<echo message="Selected Facade Validate Database: [${run.Facade.validate.database}]" />
42+
43+
<echo message="Selected Example Database: [${run.Example.database}]" />
44+
3245
</target>
3346

3447
<target name="run.all" depends="set.database.name.variables, Preparation">
3548
<antcall target="deployAndValidate.tSQLt">
3649
<param name="deployAndValidate.tSQLt.database" value="${run.tSQLt.database}" />
3750
</antcall>
3851
<antcall target="deployAndValidate.Dacpac">
39-
<param name="deployAndValidate.Dacpac.database" value="${run.Dacpac.database}" />
52+
<param name="deployAndValidate.Dacpac.database" value="${run.Dacpac.validate.database}" />
4053
</antcall>
4154
<antcall target="deployAndValidate.Facade">
4255
<param name="deployAndValidate.Facade.database" value="${run.Facade.database}" />
@@ -74,12 +87,12 @@
7487
</antcall>
7588
</target>
7689
<target name="run.DacpacOnly" depends="set.database.name.variables, Preparation">
77-
<echo message="Selected Database: [${run.Dacpac.database}]" />
90+
<echo message="Selected Database: [${run.Dacpac.validate.database}]" />
7891
<antcall target="deployAndValidate.Dacpac">
79-
<param name="deployAndValidate.Dacpac.database" value="${run.Dacpac.database}" />
92+
<param name="deployAndValidate.Dacpac.database" value="${run.Dacpac.validate.database}" />
8093
</antcall>
8194
<antcall target="process.testresults">
82-
<param name="process.testresults.database" value="${run.Dacpac.database}" />
95+
<param name="process.testresults.database" value="${run.Dacpac.validate.database}" />
8396
<param name="process.testresults.FileList" value="TestResults_tSQLtDacpac.xml;testresults_tSQLtDacpac_external_access_key_exists.xml;testresults_tSQLtDacpac_external_access.xml;testresults_tSQLtDacpac_sa.xml;TestResults_tSQLtDacpac_TestUtil.xml;" />
8497
</antcall>
8598
</target>

0 commit comments

Comments
 (0)