cint 0.1.5 → 0.1.6

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: 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