bozo-scripts 0.6.0 → 0.7.0

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.7.0
@@ -17,7 +17,7 @@ module Bozo::Compilers
17
17
 
18
18
  config = defaults.merge @config
19
19
  config[:targets] = (@targets or default_targets).clone
20
- config[:websites_as_zip] = false
20
+ config[:websites_as_zip] ||= false
21
21
  config
22
22
  end
23
23
 
@@ -47,7 +47,7 @@ module Bozo::Compilers
47
47
  @exclude_projects << project_name
48
48
  end
49
49
 
50
- def websites_as_zip?
50
+ def websites_as_zip
51
51
  @config[:websites_as_zip] = true
52
52
  end
53
53
 
@@ -207,8 +207,12 @@ module Bozo::Compilers
207
207
  path.gsub(/\//, '\\')
208
208
  end
209
209
 
210
+ def temp_project_path
211
+ File.expand_path(File.join('temp', 'msbuild', @project_name))
212
+ end
213
+
210
214
  def location
211
- File.expand_path(File.join('temp', 'msbuild', @project_name, framework_version))
215
+ File.expand_path(File.join(temp_project_path, framework_version))
212
216
  end
213
217
 
214
218
  private
@@ -244,8 +248,12 @@ module Bozo::Compilers
244
248
  def populate_config(config)
245
249
  config[:targets] << :package
246
250
 
247
- config[:properties][:packagelocation] = location + '/Site.zip'
248
- config[:properties][:packageassinglefile] = true
251
+ if config[:websites_as_zip]
252
+ config[:properties][:packagelocation] = location + '/Site.zip'
253
+ config[:properties][:packageassinglefile] = true
254
+ else
255
+ config[:properties][:_packagetempdir] = temp_project_path
256
+ end
249
257
 
250
258
  config[:properties][:solutiondir] = windowsize_path(File.expand_path('.') + '//')
251
259
  end
@@ -3,21 +3,25 @@ require 'nokogiri'
3
3
  module Bozo::Packagers
4
4
 
5
5
  class Nuget
6
-
6
+
7
7
  def initialize
8
8
  @libraries = []
9
9
  @executables = []
10
10
  @websites = []
11
11
  end
12
-
12
+
13
13
  def destination(destination)
14
14
  @destination = destination
15
15
  end
16
-
16
+
17
17
  def library(project, *extfiles)
18
18
  @libraries << LibraryPackage.new(project, extfiles, self)
19
19
  end
20
20
 
21
+ def library_with_option(project, opts = {})
22
+ @libraries << LibraryPackage.new(project, opts[:extfiles], self, opts[:excluded_references])
23
+ end
24
+
21
25
  def executable(project)
22
26
  @executables << ExecutablePackage.new(project)
23
27
  end
@@ -25,7 +29,7 @@ module Bozo::Packagers
25
29
  def website(project)
26
30
  @websites << WebsitePackage.new(project)
27
31
  end
28
-
32
+
29
33
  def required_tools
30
34
  :nuget
31
35
  end
@@ -41,11 +45,11 @@ module Bozo::Packagers
41
45
  def author(author)
42
46
  @author = author
43
47
  end
44
-
48
+
45
49
  def to_s
46
50
  "Publish projects with nuget #{@libraries | @executables | @websites} to #{@destination}"
47
51
  end
48
-
52
+
49
53
  def execute
50
54
  @libraries.each {|project| package project}
51
55
  @executables.each {|project| package project}
@@ -63,7 +67,7 @@ module Bozo::Packagers
63
67
  spec_path = generate_specification(project)
64
68
  create_package(project.name, spec_path, true)
65
69
  end
66
-
70
+
67
71
  def generate_specification(project)
68
72
  log_debug "Generating specification for #{project.name}"
69
73
  builder = Nokogiri::XML::Builder.new do |doc|
@@ -93,27 +97,27 @@ module Bozo::Packagers
93
97
  File.open(spec_path, 'w+') {|f| f.write(builder.to_xml)}
94
98
  spec_path
95
99
  end
96
-
100
+
97
101
  def create_package(project, spec_path, omit_analysis = false)
98
102
  args = []
99
-
103
+
100
104
  dist_dir = File.expand_path(File.join('dist', 'nuget'))
101
-
105
+
102
106
  args << File.expand_path(File.join('build', 'tools', 'nuget', 'NuGet.exe'))
103
107
  args << 'pack'
104
108
  args << "\"#{spec_path}\""
105
109
  args << '-OutputDirectory'
106
110
  args << "\"#{dist_dir}\""
107
111
  args << '-NoPackageAnalysis' if omit_analysis
108
-
112
+
109
113
  # Ensure the directory is there because Nuget won't make it
110
114
  FileUtils.mkdir_p dist_dir
111
-
115
+
112
116
  log_debug "Creating nuget package for #{project}"
113
-
117
+
114
118
  execute_command :nuget, args
115
119
  end
116
-
120
+
117
121
  end
118
122
 
119
123
  private
@@ -133,17 +137,18 @@ module Bozo::Packagers
133
137
  end
134
138
 
135
139
  def files
136
- [{:src => File.expand_path(File.join('temp', 'msbuild', @name, '**', '*.*')).gsub(/\//, '\\'), :target => 'exe'}]
140
+ [{:src => File.expand_path(File.join('temp', 'msbuild', @name, '**', '*.*')).gsub(/\//, '\\')}]
137
141
  end
138
142
 
139
143
  end
140
144
 
141
145
  class LibraryPackage
142
146
 
143
- def initialize(project, extfiles, nuget)
147
+ def initialize(project, extfiles, nuget, excluded_references = [])
144
148
  @name = project
145
149
  @nuget = nuget
146
150
  @extfiles = extfiles
151
+ @excluded_references = excluded_references
147
152
  end
148
153
 
149
154
  def name
@@ -186,7 +191,7 @@ module Bozo::Packagers
186
191
  doc = Nokogiri::XML(File.open(package_file))
187
192
 
188
193
  doc.xpath('//packages/package').map do |node|
189
- {:id => node[:id], :version => "[#{node[:version]}]"}
194
+ {:id => node[:id], :version => "[#{node[:version]}]"} unless @excluded_references.include? node[:id]
190
195
  end
191
196
  end
192
197
 
@@ -221,9 +226,9 @@ module Bozo::Packagers
221
226
  end
222
227
 
223
228
  def files
224
- [{:src => File.expand_path(File.join('temp', 'msbuild', @name, '**', '*.*')).gsub(/\//, '\\'), :target => 'website'}]
229
+ [{:src => File.expand_path(File.join('temp', 'msbuild', @name, '**', '*.*')).gsub(/\//, '\\')}]
225
230
  end
226
231
 
227
232
  end
228
-
233
+
229
234
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bozo-scripts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Garry Shutler
@@ -9,11 +10,12 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2015-08-04 00:00:00.000000000 Z
13
+ date: 2015-10-06 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: nokogiri
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - ~>
19
21
  - !ruby/object:Gem::Version
@@ -21,6 +23,7 @@ dependencies:
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ~>
26
29
  - !ruby/object:Gem::Version
@@ -28,6 +31,7 @@ dependencies:
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: erubis
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
36
  - - ~>
33
37
  - !ruby/object:Gem::Version
@@ -35,6 +39,7 @@ dependencies:
35
39
  type: :runtime
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
44
  - - ~>
40
45
  - !ruby/object:Gem::Version
@@ -42,6 +47,7 @@ dependencies:
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: test-unit
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
52
  - - ~>
47
53
  - !ruby/object:Gem::Version
@@ -49,6 +55,7 @@ dependencies:
49
55
  type: :runtime
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
60
  - - ~>
54
61
  - !ruby/object:Gem::Version
@@ -56,6 +63,7 @@ dependencies:
56
63
  - !ruby/object:Gem::Dependency
57
64
  name: bozo
58
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
59
67
  requirements:
60
68
  - - ~>
61
69
  - !ruby/object:Gem::Version
@@ -63,6 +71,7 @@ dependencies:
63
71
  type: :runtime
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
66
75
  requirements:
67
76
  - - ~>
68
77
  - !ruby/object:Gem::Version
@@ -70,6 +79,7 @@ dependencies:
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: zip
72
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
73
83
  requirements:
74
84
  - - ~>
75
85
  - !ruby/object:Gem::Version
@@ -77,6 +87,7 @@ dependencies:
77
87
  type: :runtime
78
88
  prerelease: false
79
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
80
91
  requirements:
81
92
  - - ~>
82
93
  - !ruby/object:Gem::Version
@@ -89,8 +100,6 @@ executables: []
89
100
  extensions: []
90
101
  extra_rdoc_files: []
91
102
  files:
92
- - LICENSE
93
- - VERSION
94
103
  - lib/bozo/compilers/msbuild.rb
95
104
  - lib/bozo/configuration.rb
96
105
  - lib/bozo/dependency_resolvers/bundler.rb
@@ -110,7 +119,6 @@ files:
110
119
  - lib/bozo/preparers/common_assembly_info.rb
111
120
  - lib/bozo/preparers/file_templating.rb
112
121
  - lib/bozo/preparers/sql_server.rb
113
- - lib/bozo/preparers/sql_server.rb~
114
122
  - lib/bozo/publishers/file_copy.rb
115
123
  - lib/bozo/publishers/nuget.rb
116
124
  - lib/bozo/publishers/rubygems.rb
@@ -122,27 +130,36 @@ files:
122
130
  - lib/bozo/tools/opencover.rb
123
131
  - lib/bozo/version.rb
124
132
  - lib/bozo_scripts.rb
133
+ - VERSION
134
+ - LICENSE
125
135
  homepage: https://github.com/zopaUK/bozo-scripts
126
136
  licenses: []
127
- metadata: {}
128
137
  post_install_message:
129
138
  rdoc_options: []
130
139
  require_paths:
131
140
  - lib
132
141
  required_ruby_version: !ruby/object:Gem::Requirement
142
+ none: false
133
143
  requirements:
134
144
  - - ! '>='
135
145
  - !ruby/object:Gem::Version
136
146
  version: '0'
147
+ segments:
148
+ - 0
149
+ hash: 1042312893
137
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
+ none: false
138
152
  requirements:
139
153
  - - ! '>='
140
154
  - !ruby/object:Gem::Version
141
155
  version: '0'
156
+ segments:
157
+ - 0
158
+ hash: 1042312893
142
159
  requirements: []
143
160
  rubyforge_project: bozo-scripts
144
- rubygems_version: 2.4.8
161
+ rubygems_version: 1.8.29
145
162
  signing_key:
146
- specification_version: 4
163
+ specification_version: 3
147
164
  summary: Zopa build system scripts
148
165
  test_files: []
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NWM1NGNlOTgzNTVjZmM3NzkyMjE1YjZkODkyYmFkMzQwMDI4YmNlZQ==
5
- data.tar.gz: !binary |-
6
- OTJiODk1OWFmN2JkYjI0YjIxMGI3YTFiM2EwZWY1ZGM3NGUxMGRkMA==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- OTZhOTk2M2UxYmVhYjgzMDE3N2FlMWMzNzRjMGRkMzQxZTA0YmViZWZkNTlh
10
- MTYyMzBmY2RjZTBhZTY0OTMxNDZlMzRlYjAwMjdlNzU0YzRlZGIyZDkyYjRh
11
- ZTgyMmQ0NmI2NjkwNDI0MjdjNzQzZGY2OWRkMzFmY2U5NDk4MmQ=
12
- data.tar.gz: !binary |-
13
- NDY2Y2NiYTgyNzY0ODE0Y2FlYmYyMzBhOGQzM2RlY2U5YWZiMDRkNGY0NGFh
14
- ODEwMzFkMjM4NWEwZDFlNWVjMWM2YWUyYWRhZjg0MGQzYWYyNzQwNmMwZTA5
15
- MDg2NWQzNWRhNjRjOWI1YTk0ZWQ2ODQ1N2VkZWM1NzMyZjk0OWM=
@@ -1,93 +0,0 @@
1
- module Bozo::Preparers
2
-
3
- # Executes a sql script
4
- #
5
- # == Hook configuration
6
- #
7
- # prepare :sql_server do |t|
8
- # t.variable 'DatabaseName', 'MyDatabase'
9
- # t.variable 'MySecondVariable', 'HelloWorld'
10
- # t.script 'my/specific/script.sql' # must be a specific file
11
- # t.connection_string { |c| c[:config_value] } # a function taking the configuration as an argument
12
- # end
13
- #
14
- # The variables are accessible via `$(KEY)` in the sql script.
15
- class SqlServer
16
-
17
- def execute
18
- configuration = load_config
19
-
20
- execute_command :sqlcmd, generate_args(configuration)
21
- end
22
-
23
- def variable(key, value)
24
- @variables ||= {}
25
- @variables[key] = value
26
- end
27
-
28
- def script(value)
29
- @script = value
30
- end
31
-
32
- def database_name(name)
33
- @database_name = name
34
- end
35
-
36
- def connection_string(&value)
37
- @connection_string = value
38
- end
39
-
40
- private
41
-
42
- def generate_args(configuration)
43
- connection_string = @connection_string.call(configuration)
44
-
45
- if connection_string.nil? || connection_string.length == 0
46
- raise Exception.new('No connection string specified')
47
- end
48
-
49
- args = []
50
- args << 'sqlcmd'
51
- args << "-S #{connection_string}"
52
- args << "-i #{@script}"
53
- @variables.each do |key, value|
54
- args << "-v #{key}=#{value}"
55
- end
56
-
57
- args
58
- end
59
-
60
- def load_config
61
- default_files = ['default.rb', "#{environment}.rb"]
62
- default_files << "#{env['MACHINENAME']}.rb" if env['MACHINENAME']
63
-
64
- configuration = Bozo::Configuration.new
65
-
66
- default_files.each do |file|
67
- path = File.join('config', file)
68
- configuration.load path if File.exist? path
69
- end
70
-
71
- configuration
72
- end
73
-
74
- def default_script
75
- <<-SQL
76
- IF EXISTS(select * from sys.databases where name='#{@database_name}')
77
- BEGIN
78
- -- handle when the database cannot be dropped because it is currently in use
79
- ALTER DATABASE #{@database_name} SET SINGLE_USER WITH ROLLBACK IMMEDIATE
80
-
81
- DROP DATABASE #{@database_name}
82
- END
83
- GO
84
-
85
- -- Create DB
86
- CREATE DATABASE [#{@database_name}]
87
- GO
88
- SQL
89
- end
90
-
91
- end
92
-
93
- end