ive 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -5
- data/bin/ive +12 -0
- data/lib/ive/configuration.rb +11 -9
- data/lib/ive/version.rb +1 -1
- data/lib/ive/xcode.rb +23 -6
- 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: d75dcf1acb7cf52a6bdafabce418f15704aa3e7d
|
4
|
+
data.tar.gz: 47d1686cb5f8983869816d2d4365f1237e792187
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33049d8b95e2bd35202800d808a61b6862b44fd6594bc30847b0c884b3991c639f314296c1697baa8b9e9be788e9493cb650ffd2b3d89294ef7a468062da4591
|
7
|
+
data.tar.gz: e6146beb98cd7a80bc0191faf8886a4b6f829b3fe19f22f8beb439e87f09c64f09a981c48f46f892c0518333690b82ee8a494534bc58d6cee7e9bf10f82707e1
|
data/README.md
CHANGED
@@ -47,15 +47,20 @@ You can also supply the path of the project root if needed. Just pass the _-p_ (
|
|
47
47
|
|
48
48
|
You can also specify the target/configuration you want to bump the version by adding an extra _.ive_ file in the project root. This file should contain a valid target and configuration in order to be used.
|
49
49
|
|
50
|
-
Here is an example of the configuration file.
|
51
|
-
|
52
|
-
target: "TheProject"
|
53
|
-
configuration: "Debug"
|
54
|
-
|
55
50
|
If a .ive configuration file is missing you can easlily generate one with his command.
|
56
51
|
|
57
52
|
ive setup
|
58
53
|
|
54
|
+
Choosing the target/configuration to version bump can also be set. There is a _--configuration_ (or _-c_ in short) and a _--target_ (or _-t_) parameter that can be set the same way you set the path.
|
55
|
+
|
56
|
+
ive major -c Release
|
57
|
+
ive major --configuration Release
|
58
|
+
|
59
|
+
The code above will make sure the _Release_ configuration is used by **Ive**. The same can be done for the target as shown below.
|
60
|
+
|
61
|
+
ive major -t AppTargetName
|
62
|
+
ive major --target AppTargetName
|
63
|
+
|
59
64
|
It's also possible to check out the current version.
|
60
65
|
|
61
66
|
ive version
|
data/bin/ive
CHANGED
@@ -14,23 +14,35 @@ class IveRunner < Thor
|
|
14
14
|
%i(major minor patch build).each do |type|
|
15
15
|
desc type, "Perform a #{type} version bump."
|
16
16
|
method_option :path, :aliases => "-p", :desc => "Supply the path where the project is located"
|
17
|
+
method_option :target, :aliases => "-t", :desc => "Supply the target to set the #{type} version"
|
18
|
+
method_option :configuration, :aliases => "-c", :desc => "Supply the configuration to set the #{type} version"
|
17
19
|
define_method type do
|
18
20
|
ENV["IVE_PATH"] = options[:path]
|
21
|
+
ENV["IVE_TARGET"] = options[:target]
|
22
|
+
ENV["IVE_CONFIGURATION"] = options[:configuration]
|
19
23
|
Ive::Base.new.bump type, git?
|
20
24
|
end
|
21
25
|
end
|
22
26
|
|
23
27
|
desc "version", "Show the current project version."
|
24
28
|
method_option :path, :aliases => "-p", :desc => "Supply the path where the project is located"
|
29
|
+
method_option :target, :aliases => "-t", :desc => "Supply the target to read the version"
|
30
|
+
method_option :configuration, :aliases => "-c", :desc => "Supply the configuration to read the version"
|
25
31
|
def version
|
26
32
|
ENV["IVE_PATH"] = options[:path]
|
33
|
+
ENV["IVE_TARGET"] = options[:target]
|
34
|
+
ENV["IVE_CONFIGURATION"] = options[:configuration]
|
27
35
|
Ive::Base.new.version
|
28
36
|
end
|
29
37
|
|
30
38
|
desc "init", "Initialize the version to 1.0.0 for the current project."
|
31
39
|
method_option :path, :aliases => "-p", :desc => "Supply the path where the project is located"
|
40
|
+
method_option :target, :aliases => "-p", :desc => "Supply the target to initialize the version"
|
41
|
+
method_option :configuration, :aliases => "-c", :desc => "Supply the configuration to initialize the version"
|
32
42
|
def init
|
33
43
|
ENV["IVE_PATH"] = options[:path]
|
44
|
+
ENV["IVE_TARGET"] = options[:target]
|
45
|
+
ENV["IVE_CONFIGURATION"] = options[:configuration]
|
34
46
|
Ive::Base.new.initialize_version git?
|
35
47
|
end
|
36
48
|
|
data/lib/ive/configuration.rb
CHANGED
@@ -3,8 +3,8 @@ require "yaml"
|
|
3
3
|
|
4
4
|
module Ive
|
5
5
|
class Configuration
|
6
|
-
attr :
|
7
|
-
attr :
|
6
|
+
attr :targets
|
7
|
+
attr :configurations
|
8
8
|
|
9
9
|
def initialize
|
10
10
|
self.read_config if self.exists?
|
@@ -17,13 +17,18 @@ module Ive
|
|
17
17
|
def read_config
|
18
18
|
params = YAML::load File.open(self.config_path)
|
19
19
|
if params
|
20
|
-
@
|
21
|
-
@
|
20
|
+
@targets = params.keys
|
21
|
+
@configurations = params
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
25
|
def valid?
|
26
|
-
|
26
|
+
return false unless @targets
|
27
|
+
return false unless @targets.count > 0
|
28
|
+
return false unless @configurations
|
29
|
+
values = @configurations.values.select { |v| v.count > 0 }
|
30
|
+
return false if values.empty?
|
31
|
+
true
|
27
32
|
end
|
28
33
|
|
29
34
|
def exists?
|
@@ -35,10 +40,7 @@ module Ive
|
|
35
40
|
end
|
36
41
|
|
37
42
|
def initial_content xcode_params
|
38
|
-
|
39
|
-
target: "#{xcode_params[:target]}"
|
40
|
-
configuration: "#{xcode_params[:configuration]}"
|
41
|
-
TEXT
|
43
|
+
xcode_params.to_yaml
|
42
44
|
end
|
43
45
|
end
|
44
46
|
end
|
data/lib/ive/version.rb
CHANGED
data/lib/ive/xcode.rb
CHANGED
@@ -5,21 +5,38 @@ module Ive
|
|
5
5
|
def config
|
6
6
|
return nil unless Ive.config.valid?
|
7
7
|
|
8
|
-
|
8
|
+
target = ENV["IVE_TARGET"] || Ive.config.targets.first
|
9
|
+
contains_target = !project.targets.detect { |t| t.name == target }.nil?
|
10
|
+
puts "-- Target '#{target}' not found in the project." unless contains_target
|
11
|
+
|
12
|
+
configuration = ENV["IVE_CONFIGURATION"] || Ive.config.configurations[target].first
|
13
|
+
project_target = project.target(target)
|
14
|
+
contains_configuration = !project_target.configs.detect { |c| c.name == configuration }.nil?
|
15
|
+
puts "-- Configuration '#{configuration}' not found for Target '#{target}' in the project." unless contains_configuration
|
16
|
+
|
17
|
+
project_configuration = project_target.config(configuration)
|
18
|
+
puts "-- Used the '#{target}' Target with the '#{configuration}' configuration."
|
19
|
+
project_configuration
|
9
20
|
rescue Exception => e
|
10
|
-
puts "-- #{e.message}"
|
21
|
+
puts "-- #{e.message}" unless e.class == NoMethodError
|
11
22
|
nil
|
12
23
|
end
|
13
24
|
|
14
25
|
def initial_config
|
15
|
-
|
16
|
-
|
17
|
-
|
26
|
+
config_hash = {}
|
27
|
+
project.targets.each do |target|
|
28
|
+
if target.configs.count > 0
|
29
|
+
config_hash[target.name] = target.configs.map(&:name)
|
18
30
|
else
|
19
31
|
puts "-- No configurations found for target '#{target.name}' in the current project"
|
20
32
|
end
|
33
|
+
end
|
34
|
+
|
35
|
+
if config_hash.empty?
|
36
|
+
puts "-- No targets found in the current project"
|
37
|
+
nil
|
21
38
|
else
|
22
|
-
|
39
|
+
config_hash
|
23
40
|
end
|
24
41
|
end
|
25
42
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jelle Vandebeeck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|