cint 0.1.5 → 0.1.6

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: 93d93cc8deb725d074a3cbaa5134820bc6c95095
4
- data.tar.gz: 71fe765d2f25892469023eed70fe395a133866f1
3
+ metadata.gz: affdf44f9c627e7021bea7c252316a4a00dcd03e
4
+ data.tar.gz: 6e8bc2e0b5dafa8530edc6f2f6e98afba023e775
5
5
  SHA512:
6
- metadata.gz: 906eebe5e24e27aee5382ee7b403003e477d211881dbe591b76ed69a151033223e377adcbaa3ae3158ade217b0aca7887a30cbc4e1344d175d2f80ddd9ec66f7
7
- data.tar.gz: 236b49e362bb0001a52f8321daeb4757369fdb5ae4be62d4394a7207e4ac99a1307b767764f176f885268df4c2cedd1977976ed1af0e9eef196c993db0f89edb
6
+ metadata.gz: d2b7c76c14b543399a7a26f04c9c65a7d0b75e9f0a2cfc55f657a5b3ed4436ed677277ce39ec2b0135c1f88735b5bf72357fdf44981bf04aeb702d7456f78ddd
7
+ data.tar.gz: 1943e0cb0b2b5feb08965a3f453fa07ea2b2516f3a7a0a943c0c47b1df931fb66065c2603277bfdb49a9274cf806917ad6fdd34753c390afe1ce18e6146d919b
data/bin/cint CHANGED
@@ -11,7 +11,7 @@ require 'lib/xcodeproj'
11
11
  require 'lib/cint'
12
12
 
13
13
  program :name, 'integrator'
14
- program :version, '0.0.1'
14
+ program :version, '0.1.6'
15
15
  program :description, 'Integrates Carthage Frameworks'
16
16
  program :help, 'Author', 'Alex Antonyuk <alex@antonyuk.me>'
17
17
 
@@ -59,9 +59,25 @@ def prepare_frameworks(frameworks)
59
59
  end
60
60
  end
61
61
 
62
- def print_report(frameworks)
62
+ def print_report(target, all, integrated)
63
+ all.map! { |f| File.basename(f) }
64
+ integrated.map! { |f| File.basename(f) }
65
+
66
+ puts "Target ".green + target.name.yellow
67
+ puts
68
+
69
+ old = all - integrated
70
+ unless old.empty?
71
+ info 'Existed:'
72
+ puts old.join("\n").yellow
73
+ end
74
+ puts
63
75
  info 'Integrated:'
64
- puts frameworks.map { |f| File.basename(f) }.join("\n").yellow
76
+ if integrated.empty?
77
+ puts 'None'.yellow
78
+ else
79
+ puts integrated.join("\n").yellow
80
+ end
65
81
  end
66
82
 
67
83
  def find_project
@@ -82,6 +98,33 @@ def get_project_name(args)
82
98
  project_name
83
99
  end
84
100
 
101
+ def intergate_frameworks(target, project)
102
+ platform = SDK_TO_PLATFORM[target.sdk]
103
+ frameworks = CarthageFiles.frameworks(platform)
104
+
105
+ if frameworks.empty?
106
+ warning 'No frameworks found'
107
+ return
108
+ end
109
+
110
+ # Add Framework Files
111
+ added_frameworks = project.add_missing_frameworks_to_target(target, frameworks)
112
+
113
+ # Add Frameworks Search Path (FRAMEWORK_SEARCH_PATHS)
114
+ fw_search_path = "$(PROJECT_DIR)/Carthage/Build/#{platform}"
115
+ project.add_path(fw_search_path)
116
+
117
+ # Integrate Shell Script
118
+ phase = target.carthage_build_phase
119
+ prepared_frameworks = prepare_frameworks(frameworks)
120
+ phase.setup_with_frameworks(prepared_frameworks) unless target.sdk == 'macosx'
121
+
122
+ # footer
123
+ say "\n"
124
+ print_report(target, frameworks, added_frameworks)
125
+ say "\n"
126
+ end
127
+
85
128
  # Commands
86
129
  command :install do |c|
87
130
  c.syntax = 'cint install <project_name>'
@@ -98,30 +141,13 @@ command :install do |c|
98
141
  # choose target
99
142
  choice = choose("Choose target:\n", *project.targets.map(&:name))
100
143
  target = project.target_by_name(choice)
101
- platform = SDK_TO_PLATFORM[target.sdk]
102
- frameworks = CarthageFiles.frameworks(platform)
103
-
104
- warning 'No frameworks found' if frameworks.empty?
105
-
106
- # Add Framework Files
107
- project.add_missing_frameworks_to_target(target, frameworks)
108
-
109
- # Add Frameworks Search Path (FRAMEWORK_SEARCH_PATHS)
110
- fw_search_path = "$(PROJECT_DIR)/Carthage/Build/#{platform}"
111
- project.add_path(fw_search_path)
112
-
113
- # Integrate Shell Script
114
- phase = target.carthage_build_phase
115
- prepared_frameworks = prepare_frameworks(frameworks)
116
- phase.setup_with_frameworks(prepared_frameworks) unless target.sdk == 'macosx'
117
-
144
+
145
+ # integrate
146
+ intergate_frameworks(target, project)
147
+
118
148
  # Save Project
119
149
  project.save
120
150
 
121
- # footer
122
- say "\n"
123
- print_report(frameworks)
124
- say "\n"
125
151
  info 'Done. Re-open Project'
126
152
  end
127
153
  end
data/lib/cint/project.rb CHANGED
@@ -25,15 +25,22 @@ module Cint
25
25
  fs = _fix_frameworks_paths(frameworks)
26
26
  fs -= target.frameworks_build_phase.files.map { |f| f.file_ref.path }
27
27
 
28
+ added_frameworks = []
28
29
  files = fs.map do |f|
29
30
  file = @project.frameworks_group.files.find { |ff| ff.path == f}
30
- file = @project.frameworks_group.new_file(f) if file.nil?
31
+ if file.nil?
32
+ file = @project.frameworks_group.new_file(f) if file.nil?
33
+ added_frameworks << f
34
+ end
35
+
31
36
  file
32
37
  end
33
38
 
34
39
  files.each do |f|
35
40
  target.frameworks_build_phase.add_file_reference(f)
36
41
  end
42
+
43
+ return added_frameworks
37
44
  end
38
45
 
39
46
  def _fix_frameworks_paths(frameworks)
data/lib/cint/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cint
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Antonyuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-11 00:00:00.000000000 Z
11
+ date: 2016-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj
@@ -72,20 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '11.1'
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: 11.1.2
75
+ version: '11.2'
79
76
  type: :development
80
77
  prerelease: false
81
78
  version_requirements: !ruby/object:Gem::Requirement
82
79
  requirements:
83
80
  - - "~>"
84
81
  - !ruby/object:Gem::Version
85
- version: '11.1'
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: 11.1.2
82
+ version: '11.2'
89
83
  - !ruby/object:Gem::Dependency
90
84
  name: rspec
91
85
  requirement: !ruby/object:Gem::Requirement
@@ -135,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
129
  version: '0'
136
130
  requirements: []
137
131
  rubyforge_project:
138
- rubygems_version: 2.6.2
132
+ rubygems_version: 2.6.6
139
133
  signing_key:
140
134
  specification_version: 4
141
135
  summary: Simplifies all routines with adding Frameworks built with Carthage into a