forked from brunomlopes/dbdeploy.net
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdbdeploy.build
executable file
·114 lines (99 loc) · 4.78 KB
/
dbdeploy.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?xml version="1.0"?>
<project name="dbdeploy" default="all" basedir="." xmlns="http://nant.sf.net/release/0.85/nant.xsd">
<property name="configuration" value="Build"/>
<property name="src.dir" value="src"/>
<property name="lib.dir" value="lib" />
<property name="config.dir" value="config" />
<property name="build.dir" value="build" />
<property name="test.dir" value="${build.dir}/"/>
<property name="dist.dir" value="dist" />
<property name="nantcontrib.assembly" value="tools\nant\contrib\NAnt.Contrib.Tasks.dll" />
<!-- DEFAULT CCNET PROPERTIES, to override: create a copy of local.properties.template, rename it local.properties, and modify the values as needed-->
<property name="sql.dir" value="${path::get-full-path('db')}" />
<property name="sql.server" value=".\SQLEXPRESS" />
<property name="sql.db" value="DBDEPLOY" />
<property name="sql.username" value="DBDeployUser"/>
<property name="sql.password" value="Password01"/>
<include buildfile="local.properties" if="${file::exists('local.properties')}" />
<target name="all" depends="clean, db, compile, test, dist" />
<target name="init">
<mkdir dir="${dist.dir}" />
<mkdir dir="${build.dir}" />
</target>
<target name="compile" depends="init">
<loadtasks assembly="${nantcontrib.assembly}" />
<msbuild project="dbdeploy.net.sln">
<property name="Configuration" value="${configuration}" />
</msbuild>
<copy file="dbproviders.xml" todir="${build.dir}" overwrite="true" />
<copy file="${lib.dir}/NAnt.Core.dll" todir="${build.dir}" overwrite="true" />
<copy file="${config.dir}/App.config.template" tofile="${build.dir}/Test.Net.Sf.Dbdeploy.dll.config" overwrite="true">
<filterchain>
<replacetokens>
<token key="DB_SERVER" value="${sql.server}" />
<token key="DB_NAME" value="${sql.db}" />
<token key="DB_USER_NAME" value="${sql.username}" />
<token key="DB_USER_PWD" value="${sql.password}" />
</replacetokens>
</filterchain>
</copy>
</target>
<target name="clean" description="Delete compiled classes etc">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
</target>
<target name="test">
<loadtasks assembly="${lib.dir}/nunit.framework.dll" />
<nunit2>
<formatter type="Xml" usefile="true" extension=".xml" outputdir="${test.dir}" />
<test assemblyname="${test.dir}/Test.Net.Sf.Dbdeploy.dll" appconfig="${test.dir}/Test.Net.Sf.Dbdeploy.dll.config">
<categories>
<exclude name="Oracle" />
</categories>
</test>
</nunit2>
</target>
<target name="test-all">
<loadtasks assembly="${lib.dir}/nunit.framework.dll" />
<nunit2>
<formatter type="Xml" usefile="true" extension=".xml" outputdir="${test.dir}" />
<formatter type="Plain" />
<test assemblyname="${test.dir}/Test.Net.Sf.Dbdeploy.dll" appconfig="${test.dir}/Test.Net.Sf.Dbdeploy.dll.config"/>
</nunit2>
</target>
<target name="dist">
<zip zipfile="${dist.dir}/dbdeploy.net.zip">
<fileset basedir="${build.dir}" prefix="bin/">
<include name="dbproviders.xml" />
<include name="Net.Sf.Dbdeploy.dll" />
<include name="MSBuild.Dbdeploy.Task.dll" />
<include name="NAnt.Core.dll" />
<include name="dbdeploy.exe*" />
</fileset>
<fileset basedir="scripts" prefix="scripts/">
<include name="**/*" />
</fileset>
<fileset basedir="example_scripts" prefix="example/">
<include name="**/*" />
</fileset>
</zip>
</target>
<target name="db">
<loadtasks assembly="tools\nant\contrib\NAnt.Contrib.Tasks.dll"/>
<property name="sql.file" value="db\create.database.sql" />
<copy file="${sql.file}.template" tofile="${sql.file}" overwrite="true">
<filterchain>
<replacetokens>
<token key="DB_DIR" value="${sql.dir}" />
<token key="DB_NAME" value="${sql.db}" />
<token key="DB_USER_NAME" value="${sql.username}" />
<token key="DB_USER_PWD" value="${sql.password}" />
</replacetokens>
</filterchain>
</copy>
<sql connstring="Provider=sqloledb;Data Source=${sql.server};Initial Catalog=master;Integrated Security=SSPI"
source="${sql.file}" output="${sql.file}.output.txt"
delimiter="GO" delimstyle="Line"
transaction="false" batch="false" print="true" />
</target>
</project>