physique 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/FLUENT_MIGRATOR.md +301 -0
- data/Gemfile.lock +2 -1
- data/README.md +338 -15
- data/RUBY_SETUP.md +40 -0
- data/lib/physique/{project.rb → project_path_resolver.rb} +15 -3
- data/lib/physique/task_builders/build.rb +12 -5
- data/lib/physique/task_builders/default.rb +11 -0
- data/lib/physique/task_builders/fluent_migrator.rb +42 -19
- data/lib/physique/task_builders/octopus.rb +5 -5
- data/lib/physique/tool_locator.rb +8 -0
- data/lib/physique/version.rb +1 -1
- data/physique.gemspec +1 -0
- data/spec/fluent_migrator_config_spec.rb +1 -3
- data/spec/project_spec.rb +25 -8
- data/spec/task_builders/build_spec.rb +2 -2
- data/spec/task_builders/fluent_migrator_spec.rb +48 -0
- data/spec/test_data/solutions/fluent-migrator/.semver +6 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/Basic.Migrations.csproj +64 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/TestMigration.cs +19 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/_Scripts/create.sql +2 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/_Scripts/drop.sql +5 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/_Scripts/seed.sql +2 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Migrations/packages.config +4 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Specs/Basic.Specs.csproj +60 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Specs/Class1.cs +12 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Specs/DebuggerShim.cs +42 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Specs/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.Specs/packages.config +4 -0
- data/spec/test_data/solutions/fluent-migrator/Basic.sln +39 -0
- data/spec/test_data/solutions/fluent-migrator/Basic/Basic.csproj +56 -0
- data/spec/test_data/solutions/fluent-migrator/Basic/Class1.cs +12 -0
- data/spec/test_data/solutions/fluent-migrator/Basic/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/fluent-migrator/Basic/packages.config +3 -0
- data/spec/test_data/solutions/fluent-migrator/Rakefile.rb +20 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/.semver +6 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Migrations1/Basic.Migrations1.csproj +53 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Migrations1/Class1.cs +12 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Migrations1/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Migrations2/Basic.Migrations2.csproj +53 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Migrations2/Class1.cs +12 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Migrations2/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Specs/Basic.Specs.csproj +60 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Specs/Class1.cs +12 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Specs/DebuggerShim.cs +42 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Specs/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.Specs/packages.config +4 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic.sln +45 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic/Basic.csproj +56 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic/Class1.cs +12 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic/Properties/AssemblyInfo.cs +36 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Basic/packages.config +3 -0
- data/spec/test_data/solutions/multiple-fluent-migrator/Rakefile.rb +28 -0
- metadata +95 -3
data/RUBY_SETUP.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# Installing Ruby on Windows
|
2
|
+
|
3
|
+
* The [Chocolatey Package Manager](http://chocolatey.org/) makes installing Ruby a breeze. Think of it as NuGet for your machine. To install it, follow the instructions on [their website](http://chocolatey.org/).
|
4
|
+
* Certain Chocolatey packages might not work with older versions of Powershell so update it to the latest version.
|
5
|
+
|
6
|
+
```
|
7
|
+
$ choco install powershell
|
8
|
+
```
|
9
|
+
|
10
|
+
* Install Ruby.
|
11
|
+
|
12
|
+
```
|
13
|
+
$ choco install ruby
|
14
|
+
```
|
15
|
+
|
16
|
+
* Restart your shell to refresh the environment variables.
|
17
|
+
* Install Ruby DevKit.
|
18
|
+
|
19
|
+
```
|
20
|
+
$ choco install ruby2.devkit
|
21
|
+
```
|
22
|
+
|
23
|
+
* Check that ruby is installed by running the following. Note that your version may be slightly different:
|
24
|
+
|
25
|
+
```
|
26
|
+
$ ruby --version
|
27
|
+
ruby 2.1.5p273 (2014-11-13 revision 48405) [x64-mingw32]
|
28
|
+
```
|
29
|
+
|
30
|
+
## Troubleshooting
|
31
|
+
|
32
|
+
When installing Ruby DevKit, it should automatically register itself with the
|
33
|
+
installed ruby version. However, you may need to configure Ruby DevKit manually
|
34
|
+
by running the following.
|
35
|
+
|
36
|
+
```
|
37
|
+
$ cd \tools\DevKit2
|
38
|
+
$ echo "- C:/tools/ruby215" >> config.yml
|
39
|
+
$ ruby dk.rb install --force
|
40
|
+
```
|
@@ -1,12 +1,24 @@
|
|
1
1
|
require 'albacore/project'
|
2
2
|
|
3
3
|
module Physique
|
4
|
-
module
|
4
|
+
module ProjectPathResolver
|
5
5
|
extend self
|
6
6
|
|
7
|
-
|
7
|
+
DEFAULT_PROJECT_FOLDER = 'src'
|
8
|
+
|
9
|
+
@@project_folder = DEFAULT_PROJECT_FOLDER
|
10
|
+
|
11
|
+
def project_dir
|
12
|
+
@@project_folder
|
13
|
+
end
|
14
|
+
|
15
|
+
def project_dir=(val)
|
16
|
+
@@project_folder = val
|
17
|
+
end
|
18
|
+
|
19
|
+
def resolve(name, ext = 'cs')
|
8
20
|
return name if is_full_path name
|
9
|
-
"
|
21
|
+
"#{@@project_folder}/#{name}/#{name}.#{ext}proj"
|
10
22
|
end
|
11
23
|
|
12
24
|
private
|
@@ -1,10 +1,16 @@
|
|
1
1
|
module Physique
|
2
2
|
class CompileConfig
|
3
|
-
attr_writer :
|
4
|
-
:
|
3
|
+
attr_writer :default_targets, # Default build targets for compile task
|
4
|
+
:configuration, # Build configuration (Release, Debug, etc.)
|
5
|
+
:logging # MSBuild Logging level (normal, verbose, etc.)
|
5
6
|
|
6
7
|
def initialize
|
7
|
-
@
|
8
|
+
@default_targets = %w(Clean Rebuild)
|
9
|
+
@targets = %w(Clean Build Rebuild)
|
10
|
+
end
|
11
|
+
|
12
|
+
def clear_targets
|
13
|
+
@targets.clear
|
8
14
|
end
|
9
15
|
|
10
16
|
def add_target(val)
|
@@ -12,9 +18,10 @@ module Physique
|
|
12
18
|
end
|
13
19
|
|
14
20
|
def opts
|
15
|
-
|
21
|
+
raise ArgumentError, 'You must specify the default targets' if @default_targets.blank?
|
16
22
|
|
17
23
|
Map.new({
|
24
|
+
default_targets: @default_targets,
|
18
25
|
configuration: @configuration,
|
19
26
|
logging: @logging,
|
20
27
|
targets: @targets
|
@@ -42,7 +49,7 @@ module Physique
|
|
42
49
|
block = lambda &method(:configure_build)
|
43
50
|
|
44
51
|
desc 'Builds the solution'
|
45
|
-
build :compile => [ :restore ], &block.curry.(
|
52
|
+
build :compile => [ :restore ], &block.curry.(solution.compile.default_targets)
|
46
53
|
|
47
54
|
namespace :compile do
|
48
55
|
solution.compile.targets.each do |t|
|
@@ -1,5 +1,16 @@
|
|
1
1
|
module Physique
|
2
2
|
class DefaultTasksBuilder < TasksBuilder
|
3
|
+
|
4
|
+
def build_phases
|
5
|
+
task :version
|
6
|
+
task :restore => [ :version ]
|
7
|
+
task :compile => [ :restore ]
|
8
|
+
task :test => [ :compile ]
|
9
|
+
task :package => [ :test ]
|
10
|
+
task :publish => [ :package ]
|
11
|
+
task :default => [ :test ]
|
12
|
+
end
|
13
|
+
|
3
14
|
def build_tasks
|
4
15
|
task :default => [ :test ]
|
5
16
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'active_support/core_ext/object/blank'
|
2
|
-
require 'physique/
|
2
|
+
require 'physique/project_path_resolver'
|
3
3
|
|
4
4
|
module Physique
|
5
5
|
class FluentMigratorConfig
|
@@ -25,17 +25,14 @@ module Physique
|
|
25
25
|
validate_config
|
26
26
|
|
27
27
|
Map.new({
|
28
|
+
lang: @lang,
|
28
29
|
instance: @instance,
|
29
30
|
name: @name,
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
task_alias: (@task_alias || @name)
|
34
|
-
})
|
35
|
-
lang: :cs,
|
36
|
-
project_dir: "src/#{@project}",
|
37
|
-
scripts_dir: "src/#{@project}/#{@scripts_dir}"
|
38
|
-
)
|
31
|
+
scripts_dir: @scripts_dir,
|
32
|
+
dialect: @dialect,
|
33
|
+
project_file: Physique::ProjectPathResolver.resolve(@project, @lang),
|
34
|
+
task_alias: (@task_alias || @name),
|
35
|
+
})
|
39
36
|
end
|
40
37
|
|
41
38
|
private
|
@@ -55,6 +52,7 @@ module Physique
|
|
55
52
|
return if dbs.blank?
|
56
53
|
|
57
54
|
dbs.each do |db|
|
55
|
+
expand_project_config db
|
58
56
|
task_namespace = db_task_name(db)
|
59
57
|
|
60
58
|
namespace :db do
|
@@ -86,6 +84,16 @@ module Physique
|
|
86
84
|
|
87
85
|
private
|
88
86
|
|
87
|
+
def expand_project_config(db)
|
88
|
+
project = Albacore::Project.new(db.project_file)
|
89
|
+
db[:project_dir] = project.proj_path_base
|
90
|
+
db[:scripts_dir] = "#{project.proj_path_base}/#{db.scripts_dir}"
|
91
|
+
|
92
|
+
build_conf = solution.compile.configuration
|
93
|
+
db[:output_path] = project.output_path build_conf
|
94
|
+
db[:output_dll] = File.expand_path("#{db.project_dir}/#{project.output_dll(build_conf)}")
|
95
|
+
end
|
96
|
+
|
89
97
|
def add_script_tasks(db, defaults)
|
90
98
|
FileList["#{db.scripts_dir}/*.sql"].each do |f|
|
91
99
|
task_name = File.basename(f, '.*')
|
@@ -152,7 +160,7 @@ module Physique
|
|
152
160
|
config.instance = db.instance
|
153
161
|
config.database = db.name
|
154
162
|
config.task = task
|
155
|
-
config.dll =
|
163
|
+
config.dll = db.output_dll
|
156
164
|
config.exe = locate_tool(tool_in_output_folder(db) || tool_in_nuget_package)
|
157
165
|
config.output_to_file
|
158
166
|
end
|
@@ -167,12 +175,8 @@ module Physique
|
|
167
175
|
task :rebuild => [ :drop, :setup ]
|
168
176
|
end
|
169
177
|
|
170
|
-
def migration_dll(db)
|
171
|
-
"#{db.project_dir}/bin/#{solution.compile.configuration}/#{db.project}.dll"
|
172
|
-
end
|
173
|
-
|
174
178
|
def tool_in_output_folder(db)
|
175
|
-
existing_path "#{db.
|
179
|
+
existing_path "#{db.output_path}/Migrate.exe"
|
176
180
|
end
|
177
181
|
|
178
182
|
def tool_in_nuget_package
|
@@ -249,11 +253,11 @@ TEMPLATE
|
|
249
253
|
|
250
254
|
def alias_default_tasks
|
251
255
|
Rake.application.tasks
|
252
|
-
.select {|t|
|
256
|
+
.select {|t| should_alias_db_task?(t)}
|
253
257
|
.group_by {|t| db_command(t) }
|
254
258
|
.each do |command,tasks|
|
255
|
-
desc
|
256
|
-
task "db:#{command}" => tasks.map {|t| t.name }
|
259
|
+
desc global_task_description(command,tasks)
|
260
|
+
task "db:#{command}", tasks[0].arg_names => tasks.map {|t| t.name }
|
257
261
|
end
|
258
262
|
end
|
259
263
|
|
@@ -261,6 +265,25 @@ TEMPLATE
|
|
261
265
|
task.name.split(':').last.to_sym
|
262
266
|
end
|
263
267
|
|
268
|
+
def should_alias_db_task?(task)
|
269
|
+
task.name.starts_with?('db') &&
|
270
|
+
(only_one_db_configured? ||
|
271
|
+
GLOBAL_TASKS.has_key?(db_command(task)))
|
272
|
+
end
|
273
|
+
|
274
|
+
def global_task_description(command, tasks)
|
275
|
+
return GLOBAL_TASKS[command] unless only_one_db_configured?
|
276
|
+
|
277
|
+
# Blank out the comment to hide the task in the list by default
|
278
|
+
description = tasks[0].comment
|
279
|
+
tasks[0].clear_comments
|
280
|
+
description
|
281
|
+
end
|
282
|
+
|
283
|
+
def only_one_db_configured?
|
284
|
+
solution.fluent_migrator_dbs.length == 1
|
285
|
+
end
|
286
|
+
|
264
287
|
GLOBAL_TASKS = {
|
265
288
|
create: 'Create all databases',
|
266
289
|
drop: 'Drop all databases',
|
@@ -53,7 +53,7 @@ module Physique
|
|
53
53
|
raise ArgumentError, 'You must specify the :type of project to deploy' if @type.blank?
|
54
54
|
raise ArgumentError, "Project :type #{@type} is not supported." unless supported_types.include? @type
|
55
55
|
|
56
|
-
project_file_path = Physique::
|
56
|
+
project_file_path = Physique::ProjectPathResolver.resolve(@project, @lang)
|
57
57
|
_, project_file = File.split project_file_path
|
58
58
|
project_name = File.basename(project_file, '.*')
|
59
59
|
|
@@ -93,9 +93,9 @@ module Physique
|
|
93
93
|
|
94
94
|
def add_octopus_package_tasks
|
95
95
|
@options.apps.each do |a|
|
96
|
-
namespace
|
96
|
+
namespace a.name do
|
97
97
|
desc "Package #{a.project} for Octopus deployment"
|
98
|
-
octopus_pack
|
98
|
+
octopus_pack :package => [:versionizer, :test] do |o|
|
99
99
|
ensure_output_location solution.nuget.build_location
|
100
100
|
|
101
101
|
o.project_file = a.project_file
|
@@ -116,9 +116,9 @@ module Physique
|
|
116
116
|
nuget = solution.nuget
|
117
117
|
|
118
118
|
@options.apps.each do |a|
|
119
|
-
namespace
|
119
|
+
namespace a.name do
|
120
120
|
desc "Publish #{a.project} app to Octopus Server"
|
121
|
-
task
|
121
|
+
task :publish => [ "package:#{a.name}" ] do
|
122
122
|
package_location = Albacore::Paths.normalise_slashes "#{nuget.build_location}/#{a.project}.#{a.metadata.version}.nupkg"
|
123
123
|
sh "#{nuget.exe} push #{package_location} -ApiKey #{@options.api_key} -Source #{@options.server}"
|
124
124
|
end
|
@@ -5,6 +5,14 @@ module Physique
|
|
5
5
|
module ToolLocator
|
6
6
|
include Albacore::Logging
|
7
7
|
|
8
|
+
@@registered_tools = {}
|
9
|
+
|
10
|
+
def register_tool(name, executable, nuget_package = nil, nuget_path = nil)
|
11
|
+
end
|
12
|
+
|
13
|
+
def lookup_tool(name, project, package_folder)
|
14
|
+
end
|
15
|
+
|
8
16
|
# Allows you to locate a tool on disk given a file specification. For example...
|
9
17
|
#
|
10
18
|
# locate_tool 'C:/Program Files/Microsoft SQL Server/**/Tools/Binn/SQLCMD.EXE'
|
data/lib/physique/version.rb
CHANGED
data/physique.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency 'bundler'
|
22
22
|
spec.add_development_dependency 'rspec', '2.14.1'
|
23
23
|
spec.add_dependency 'rake', '~> 10'
|
24
|
+
spec.add_dependency 'semver2', '~> 3.4'
|
24
25
|
spec.add_dependency 'activesupport', '~> 4.1'
|
25
26
|
spec.add_dependency 'map', '~> 6.5'
|
26
27
|
spec.add_dependency 'albacore', '~> 2.3'
|
@@ -14,9 +14,7 @@ describe Physique::FluentMigratorConfig do
|
|
14
14
|
|
15
15
|
it 'should default to the cs programming language' do
|
16
16
|
project_name = 'Test.Database'
|
17
|
-
opts = default_config
|
18
|
-
c.project = 'Test.Database'
|
19
|
-
end
|
17
|
+
opts = default_config
|
20
18
|
expect(opts.project_file).to eq("src/#{project_name}/#{project_name}.csproj")
|
21
19
|
end
|
22
20
|
|
data/spec/project_spec.rb
CHANGED
@@ -1,26 +1,43 @@
|
|
1
|
-
require 'physique/
|
1
|
+
require 'physique/project_path_resolver'
|
2
2
|
|
3
|
-
|
3
|
+
Project = Physique::ProjectPathResolver
|
4
|
+
|
5
|
+
describe Project do
|
4
6
|
it 'should echo the path when full project file name is provided' do
|
5
7
|
project_name = 'test.csproj'
|
6
|
-
expect(
|
8
|
+
expect(resolve(project_name)).to eq(project_name)
|
7
9
|
end
|
8
10
|
|
9
11
|
it 'should return the full path when partial project file name is provided' do
|
10
12
|
project_name = 'TestProject.Domain'
|
11
|
-
expect(
|
13
|
+
expect(resolve(project_name)).to eq("src/#{project_name}/#{project_name}.csproj")
|
12
14
|
end
|
13
15
|
|
14
16
|
it 'should handle multiple languages' do
|
15
17
|
project_name = 'TestProject.Domain'
|
16
18
|
language = 'vb'
|
17
|
-
expect(
|
19
|
+
expect(resolve(project_name, language)).to eq("src/#{project_name}/#{project_name}.vbproj")
|
18
20
|
|
19
21
|
language = 'fs'
|
20
|
-
expect(
|
22
|
+
expect(resolve(project_name, language)).to eq("src/#{project_name}/#{project_name}.fsproj")
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'when overidding the default project dir' do
|
26
|
+
before do
|
27
|
+
Physique::ProjectPathResolver.project_dir = 'projects'
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should return the full path when partial project file name is provided' do
|
31
|
+
project_name = 'TestProject.Domain'
|
32
|
+
expect(resolve(project_name)).to eq("projects/#{project_name}/#{project_name}.csproj")
|
33
|
+
end
|
34
|
+
|
35
|
+
after do
|
36
|
+
Project.project_dir = Project::DEFAULT_PROJECT_FOLDER
|
37
|
+
end
|
21
38
|
end
|
22
39
|
|
23
|
-
def
|
24
|
-
|
40
|
+
def resolve(name, ext = 'cs')
|
41
|
+
Project.resolve(name, ext)
|
25
42
|
end
|
26
43
|
end
|
@@ -3,10 +3,10 @@ require 'support/shared_contexts/rake'
|
|
3
3
|
describe 'basic' do
|
4
4
|
include_context 'rake'
|
5
5
|
|
6
|
-
|
6
|
+
let(:build_tasks) { %w(versionizer compile compile:clean compile:build compile:rebuild) }
|
7
7
|
|
8
8
|
it 'should create the build tasks' do
|
9
|
-
|
9
|
+
build_tasks.each do |name|
|
10
10
|
task_names.should include(name)
|
11
11
|
end
|
12
12
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'support/shared_contexts/rake'
|
2
|
+
|
3
|
+
describe 'fluent-migrator' do
|
4
|
+
include_context 'rake'
|
5
|
+
|
6
|
+
let(:db_build_tasks) { %w(create drop migrate new_migration rebuild rollback seed setup try) }
|
7
|
+
|
8
|
+
let(:db_specific_tasks) { db_build_tasks.map {|t| "db:mydatabase:#{t}" } }
|
9
|
+
|
10
|
+
let(:build_tasks) { db_build_tasks.map {|t| "db:#{t}" } }
|
11
|
+
|
12
|
+
it 'should create all of the db tasks' do
|
13
|
+
build_tasks.each do |name|
|
14
|
+
task_names.should include(name)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should create all of the db specific tasks' do
|
19
|
+
db_specific_tasks.each do |name|
|
20
|
+
task_names.should include(name)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should rebuild the database' do
|
25
|
+
rake['db:rebuild'].invoke
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'multiple-fluent-migrator' do
|
30
|
+
include_context 'rake'
|
31
|
+
|
32
|
+
let(:db_aliases) { %w(client server) }
|
33
|
+
let(:build_tasks) { %w(create drop migrate new_migration rebuild rollback seed setup try) }
|
34
|
+
let(:db_specific_tasks) { db_aliases.product(build_tasks).map {|db_alias, task| "db:#{db_alias}:#{task}"} }
|
35
|
+
let(:global_tasks) { %w(db:create db:drop db:migrate db:rebuild db:seed db:setup) }
|
36
|
+
|
37
|
+
it 'should create the global build tasks' do
|
38
|
+
global_tasks.each do |name|
|
39
|
+
task_names.should include(name)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should create the db specific tasks' do
|
44
|
+
db_specific_tasks.each do |name|
|
45
|
+
task_names.should include(name)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
3
|
+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
4
|
+
<PropertyGroup>
|
5
|
+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
6
|
+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
7
|
+
<ProjectGuid>{C83D38D4-840D-4D0A-A44D-37B31BEF32A7}</ProjectGuid>
|
8
|
+
<OutputType>Library</OutputType>
|
9
|
+
<AppDesignerFolder>Properties</AppDesignerFolder>
|
10
|
+
<RootNamespace>Basic.Migrations</RootNamespace>
|
11
|
+
<AssemblyName>Basic.Migrations</AssemblyName>
|
12
|
+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
13
|
+
<FileAlignment>512</FileAlignment>
|
14
|
+
</PropertyGroup>
|
15
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
16
|
+
<DebugSymbols>true</DebugSymbols>
|
17
|
+
<DebugType>full</DebugType>
|
18
|
+
<Optimize>false</Optimize>
|
19
|
+
<OutputPath>bin\Debug\</OutputPath>
|
20
|
+
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
21
|
+
<ErrorReport>prompt</ErrorReport>
|
22
|
+
<WarningLevel>4</WarningLevel>
|
23
|
+
</PropertyGroup>
|
24
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
25
|
+
<DebugType>pdbonly</DebugType>
|
26
|
+
<Optimize>true</Optimize>
|
27
|
+
<OutputPath>bin\Release\</OutputPath>
|
28
|
+
<DefineConstants>TRACE</DefineConstants>
|
29
|
+
<ErrorReport>prompt</ErrorReport>
|
30
|
+
<WarningLevel>4</WarningLevel>
|
31
|
+
</PropertyGroup>
|
32
|
+
<ItemGroup>
|
33
|
+
<Reference Include="FluentMigrator">
|
34
|
+
<HintPath>..\packages\FluentMigrator.1.4.0.0\lib\40\FluentMigrator.dll</HintPath>
|
35
|
+
</Reference>
|
36
|
+
<Reference Include="System" />
|
37
|
+
<Reference Include="System.Core" />
|
38
|
+
<Reference Include="System.Xml.Linq" />
|
39
|
+
<Reference Include="System.Data.DataSetExtensions" />
|
40
|
+
<Reference Include="Microsoft.CSharp" />
|
41
|
+
<Reference Include="System.Data" />
|
42
|
+
<Reference Include="System.Xml" />
|
43
|
+
</ItemGroup>
|
44
|
+
<ItemGroup>
|
45
|
+
<Compile Include="TestMigration.cs" />
|
46
|
+
<Compile Include="Properties\AssemblyInfo.cs" />
|
47
|
+
</ItemGroup>
|
48
|
+
<ItemGroup>
|
49
|
+
<Content Include="_Scripts\seed.sql" />
|
50
|
+
<Content Include="_Scripts\drop.sql" />
|
51
|
+
<Content Include="_Scripts\create.sql" />
|
52
|
+
</ItemGroup>
|
53
|
+
<ItemGroup>
|
54
|
+
<None Include="packages.config" />
|
55
|
+
</ItemGroup>
|
56
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
57
|
+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
58
|
+
Other similar extension points exist, see Microsoft.Common.targets.
|
59
|
+
<Target Name="BeforeBuild">
|
60
|
+
</Target>
|
61
|
+
<Target Name="AfterBuild">
|
62
|
+
</Target>
|
63
|
+
-->
|
64
|
+
</Project>
|