xcpfix 0.0.1 → 0.0.2

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