xcpfix 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/xcpfix +40 -4
  3. metadata +18 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb1f1e3d10cf7ca89beb02d48c7fa3afc25a5d86
4
- data.tar.gz: 75933b99a0582ad5650d3fe436d76b628e6bb8d9
3
+ metadata.gz: e96604660c071010cfb65c301701b4a3506494bc
4
+ data.tar.gz: 54a766bedf182f284f218845e2dc3327dd6c098b
5
5
  SHA512:
6
- metadata.gz: 6764165acb306c41a4ac93b8ee2fa4d222f866f6f1203ab4eb7fbf5bf02193aec80ca8eb40f22f6d0595169d951b197780f3d71b7561d208dd11d5c05538c08c
7
- data.tar.gz: 8093e3599bb6d10fb255b32cc79be7491371b89f314e65186ae6d8c07e97fae64c83011cc14f60397b9c9384501dd4798553ded79422c429b7579ce794c18081
6
+ metadata.gz: 04af4d4b3a87bec16621ac6e8b4368d709e085a89004f00710d9e7725193a11fa7d8871a199927eb2f4f0724838ff616a273b8eafc4e2d1c555e6bd226777132
7
+ data.tar.gz: 3f59c67980f4cfc2ba261aa928c4a6561f350cadb234defbfcb7cbd25d873f814b7bc27427a807315455597c79890c80f4e824372e6a399506af63bfe14ab21a
data/bin/xcpfix CHANGED
@@ -10,7 +10,7 @@ IGNORE_LIST = ['./Pods']
10
10
 
11
11
  class Xcodeproj::Project
12
12
 
13
- def recurse_node(node, parent, &block)
13
+ def recurse_node(node, parent, node_type, &block)
14
14
  node.augment(parent)
15
15
 
16
16
  # ignore list
@@ -18,18 +18,25 @@ class Xcodeproj::Project
18
18
  return if node.file_path.start_with?(ignore)
19
19
  end
20
20
 
21
- if node.isa == 'PBXFileReference'
21
+ if !node_type || node.isa == node_type
22
22
  yield(node, parent)
23
+ end
24
+
25
+ if node.isa == 'PBXFileReference'
23
26
  return
24
27
  end
25
28
 
26
29
  node.children.each do |child|
27
- recurse_node(child, node, &block)
30
+ recurse_node(child, node, node_type, &block)
28
31
  end
29
32
  end
30
33
 
31
34
  def each_file(&block)
32
- recurse_node(root_object.main_group, root_object, &block)
35
+ recurse_node(root_object.main_group, root_object, 'PBXFileReference', &block)
36
+ end
37
+
38
+ def each(&block)
39
+ recurse_node(root_object.main_group,root_object, nil, &block)
33
40
  end
34
41
 
35
42
  end
@@ -125,6 +132,18 @@ def recurse_print_node(project)
125
132
 
126
133
  end
127
134
 
135
+ def recurse_clean_node(project)
136
+
137
+ project.each do |node,parent|
138
+ node.backup_absolute_path = nil
139
+ node.backup_name = nil
140
+ node.backup_path = nil
141
+ node.file_path = nil
142
+ node.group_path = nil
143
+ end
144
+
145
+ end
146
+
128
147
  # - - - Modes
129
148
 
130
149
  def revert(project)
@@ -181,6 +200,15 @@ def print(project)
181
200
 
182
201
  end
183
202
 
203
+ def clean(project)
204
+
205
+ puts 'Cleaning project...'
206
+ recurse_clean_node(project)
207
+ puts 'Cleaned!'
208
+ project.save
209
+
210
+ end
211
+
184
212
  # - - - Main
185
213
 
186
214
  options = {}
@@ -210,6 +238,12 @@ opt_parser = OptionParser.new do |opts|
210
238
  options[:project_file] = file
211
239
  end
212
240
 
241
+ opts.on('-l', '--clean [PROJECT_FILE]',
242
+ 'clean alien data') do |file|
243
+ options[:mode] = '-l'
244
+ options[:project_file] = file
245
+ end
246
+
213
247
  opts.on('-f', '--force', 'forcibly overwrite backup') do
214
248
  options[:force] = true
215
249
  end
@@ -238,4 +272,6 @@ when '-r'
238
272
  revert(project)
239
273
  when '-p'
240
274
  print(project)
275
+ when '-l'
276
+ clean(project)
241
277
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcpfix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Davison
@@ -9,8 +9,23 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2010-04-28 00:00:00.000000000 Z
12
- dependencies: []
13
- description: Restructures .xcodeproj directory structures to match the .pbxproj tree.
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: xcodeproj
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.14.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.14.1
27
+ description: Executable to restructure .xcodeproj directory structures to match the
28
+ .pbxproj tree.
14
29
  email: zac.developer@gmail.com
15
30
  executables:
16
31
  - xcpfix