magica 0.8.0 → 0.9.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.
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