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 +4 -4
- data/lib/magica/application.rb +9 -1
- data/lib/magica/build.rb +1 -1
- data/lib/magica/dependency.rb +18 -5
- data/lib/magica/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0170d95ed71566285f2b7b5d903fa9c2b447f97c
|
4
|
+
data.tar.gz: 1d2cf2541c7910760fb1036b9dd0946bb6d37dff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d5d8bee53d637e8f375507ed1b9b2ad842b19bc4687453594f0325942bbab87b07e075d0c4c3228f5cbea63f747235453ef8637715f7e8e745d3e9c29941f5a
|
7
|
+
data.tar.gz: b8be26e4404c06911c064972d546bd4e9cd18cebf78bdf6188abb00046c000dbbbd0563d09f315c505e9f793423cfebe4fc391151763bfdcc316d1983d70e46c
|
data/lib/magica/application.rb
CHANGED
@@ -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',
|
data/lib/magica/build.rb
CHANGED
@@ -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
|
145
|
+
Dependency[name].build
|
146
146
|
end
|
147
147
|
@dependencies << "#{@name}:dependency:#{name}"
|
148
148
|
@static_libraries.push(*Dependency[name].static_libraries)
|
data/lib/magica/dependency.rb
CHANGED
@@ -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
|
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
|
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
|
-
|
116
|
-
|
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
|
data/lib/magica/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2017-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|