magica 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9648f787f745dd428414d6a0df22c41c5cc5c230
4
- data.tar.gz: 5942123320392e91dca6b4dddef6cae2ac19b1f5
3
+ metadata.gz: 0170d95ed71566285f2b7b5d903fa9c2b447f97c
4
+ data.tar.gz: 1d2cf2541c7910760fb1036b9dd0946bb6d37dff
5
5
  SHA512:
6
- metadata.gz: 110f0160763ae847e2cad0c6a10c191d00bf456fc2a9a265160fe4d44e876bf1670c74827902813766e4b2e60bfb605d90d0745d64d3ab9daf87617928667981
7
- data.tar.gz: e9e0031a46b037893bd71ef1e722af4e7c9f1a5119c337af99ed596b6105554ffc2190c9689598ae7c31eb7e987d8bcf45942b4f0a441c23ecef5323a7aba65b
6
+ metadata.gz: 3d5d8bee53d637e8f375507ed1b9b2ad842b19bc4687453594f0325942bbab87b07e075d0c4c3228f5cbea63f747235453ef8637715f7e8e745d3e9c29941f5a
7
+ data.tar.gz: b8be26e4404c06911c064972d546bd4e9cd18cebf78bdf6188abb00046c000dbbbd0563d09f315c505e9f793423cfebe4fc391151763bfdcc316d1983d70e46c
@@ -46,7 +46,7 @@ module Magica
46
46
  switch =~ /--#{Regexp.union(not_applicable_to_magica)}/
47
47
  end
48
48
 
49
- super.push(version, clean, clean_all, target)
49
+ super.push(version, clean, clean_all, rebuild, target)
50
50
  end
51
51
 
52
52
  def top_level_tasks
@@ -99,6 +99,14 @@ module Magica
99
99
  end]
100
100
  end
101
101
 
102
+ def rebuild
103
+ ['--rebuild', '-r',
104
+ 'Rerun all dependency build command',
105
+ lambda do |_value|
106
+ options.rebuild = true
107
+ end]
108
+ end
109
+
102
110
  def target
103
111
  ['--target', '-t TARGET',
104
112
  'Specify the build to use',
@@ -142,7 +142,7 @@ module Magica
142
142
  Dependency.new(self, name, options, &block)
143
143
  desc "The targets #{@name}'s dependency project : #{name}"
144
144
  task "#{@name}:dependency:#{name}" do
145
- Dependency[name].build(self)
145
+ Dependency[name].build
146
146
  end
147
147
  @dependencies << "#{@name}:dependency:#{name}"
148
148
  @static_libraries.push(*Dependency[name].static_libraries)
@@ -27,6 +27,7 @@ module Magica
27
27
  @dir = "lib/#{@name}"
28
28
  @install_dir = "#{@dir}/build"
29
29
  @build_command = 'make'
30
+ @clean_command = ''
30
31
  @environments = {}
31
32
 
32
33
  @static_libraries = []
@@ -66,17 +67,21 @@ module Magica
66
67
  @build_command = command.to_s
67
68
  end
68
69
 
70
+ def clean_command(command)
71
+ @clean_command = command.to_s
72
+ end
73
+
69
74
  def static_library(*name)
70
75
  @static_libraries.push(*name.flatten)
71
76
  end
72
77
 
73
- def build(builder)
78
+ def build
74
79
  clean if @builder.options[:clean_all]
75
80
 
76
81
  return unless exec?
77
82
 
78
83
  setup_environment
79
- clone(builder)
84
+ clone
80
85
  exec
81
86
  end
82
87
 
@@ -100,6 +105,7 @@ module Magica
100
105
 
101
106
  def exec?
102
107
  clean_all = @builder.options[:clean_all]
108
+ return true if @builder.options[:rebuild]
103
109
  return false if !clean_all & File.exist?(@install_dir)
104
110
  return false if !clean_all & @build_command.empty? & File.exist?(@dir)
105
111
  true
@@ -112,8 +118,10 @@ module Magica
112
118
  Dir.chdir root
113
119
  end
114
120
 
115
- def clone(builder)
116
- @vcs = builder.send(@command)
121
+ # rubocop:disable Metrics/MethodLength
122
+ def clone
123
+ return if @builder.options[:rebuild]
124
+ @vcs = @builder.send(@command)
117
125
  @vcs.flags = %w[--quiet]
118
126
 
119
127
  puts "UPDATE DEPENDENCY\t #{[@name, @version].join(' ')}"
@@ -126,6 +134,7 @@ module Magica
126
134
  checkout if @version
127
135
  end
128
136
  end
137
+ # rubocop:enable Metrics/MethodLength
129
138
 
130
139
  def checkout
131
140
  @vcs.checkout(source_dir, @version)
@@ -146,7 +155,11 @@ module Magica
146
155
  end
147
156
 
148
157
  def clean
149
- FileUtils.rm_r(@install_dir, force: true)
158
+ return FileUtils.rm_r(@install_dir, force: true) if @clean_command.empty?
159
+ root = Dir.pwd
160
+ Dir.chdir source_dir
161
+ sh @clean_command, verbose: false
162
+ Dir.chdir root
150
163
  end
151
164
  end
152
165
  end
@@ -1,3 +1,3 @@
1
1
  module Magica
2
- VERSION = '0.8.0'.freeze
2
+ VERSION = '0.9.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magica
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 蒼時弦也
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-05 00:00:00.000000000 Z
11
+ date: 2017-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake