pbxproject 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,44 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+
14
+ # jeweler generated
15
+ pkg
16
+
17
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
18
+ #
19
+ # * Create a file at ~/.gitignore
20
+ # * Include files you want ignored
21
+ # * Run: git config --global core.excludesfile ~/.gitignore
22
+ #
23
+ # After doing this, these files will be ignored in all your git projects,
24
+ # saving you from having to 'pollute' every project you touch with them
25
+ #
26
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
27
+ #
28
+ # For MacOS:
29
+ #
30
+ #.DS_Store
31
+ #
32
+ # For TextMate
33
+ #*.tmproj
34
+ #tmtags
35
+ #
36
+ # For emacs:
37
+ #*~
38
+ #\#*
39
+ #.\#*
40
+ #
41
+ # For vim:
42
+ #*.swp
43
+
44
+ *.gem
data/Gemfile CHANGED
@@ -1,13 +1,13 @@
1
- source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in pbxproject.gemspec
4
+ gemspec
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
- group :development do
9
- gem "rspec", "~> 2.3.0"
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
12
- gem "rcov", ">= 0"
13
- end
8
+ # group :development do
9
+ # gem "rspec", "~> 2.3.0"
10
+ # gem "bundler", "~> 1.0.0"
11
+ # gem "jeweler", "~> 1.5.2"
12
+ # gem "rcov", ">= 0"
13
+ # end
@@ -1,28 +1,18 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pbxproject (0.2.0)
5
+ thor
6
+
1
7
  GEM
2
- remote: http://rubygems.org/
8
+ remote: https://rubygems.org/
3
9
  specs:
4
- diff-lcs (1.1.2)
5
- git (1.2.5)
6
- jeweler (1.5.2)
7
- bundler (~> 1.0.0)
8
- git (>= 1.2.5)
9
- rake
10
- rake (0.8.7)
11
- rcov (0.9.9)
12
- rspec (2.3.0)
13
- rspec-core (~> 2.3.0)
14
- rspec-expectations (~> 2.3.0)
15
- rspec-mocks (~> 2.3.0)
16
- rspec-core (2.3.1)
17
- rspec-expectations (2.3.0)
18
- diff-lcs (~> 1.1.2)
19
- rspec-mocks (2.3.0)
10
+ thor (0.16.0)
11
+ version (1.0.0)
20
12
 
21
13
  PLATFORMS
22
14
  ruby
23
15
 
24
16
  DEPENDENCIES
25
- bundler (~> 1.0.0)
26
- jeweler (~> 1.5.2)
27
- rcov
28
- rspec (~> 2.3.0)
17
+ pbxproject!
18
+ version
data/Rakefile CHANGED
@@ -1,52 +1,8 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'rake'
11
-
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
- gem.name = "pbxproject"
16
- gem.homepage = "http://github.com/owl-forestry/pbxproject"
17
- gem.license = "MIT"
18
- gem.summary = %Q{XCode 4 project management}
19
- gem.description = %Q{makes managing XCode 4 project files as easy as modifying ruby classes.}
20
- gem.email = "mikko.kokkonen@me.com"
21
- gem.authors = ["Mikko Kokkonen"]
22
- gem.executables = ["pbxproject"]
23
- # Include your dependencies below. Runtime dependencies are required when using your gem,
24
- # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
25
- # gem.add_runtime_dependency 'jabber4r', '> 0.1'
26
- # gem.add_development_dependency 'rspec', '> 1.2.3'
27
- gem.requirements << 'thor, if CLI wanted'
28
- end
29
- Jeweler::RubygemsDotOrgTasks.new
30
-
31
- require 'rspec/core'
32
- require 'rspec/core/rake_task'
33
- RSpec::Core::RakeTask.new(:spec) do |spec|
34
- spec.pattern = FileList['spec/**/*_spec.rb']
35
- end
36
-
37
- RSpec::Core::RakeTask.new(:rcov) do |spec|
38
- spec.pattern = 'spec/**/*_spec.rb'
39
- spec.rcov = true
40
- end
41
-
42
- task :default => :spec
43
-
44
- require 'rake/rdoctask'
45
- Rake::RDocTask.new do |rdoc|
46
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
47
3
 
48
- rdoc.rdoc_dir = 'rdoc'
49
- rdoc.title = "pbxproject #{version}"
50
- rdoc.rdoc_files.include('README*')
51
- rdoc.rdoc_files.include('lib/**/*.rb')
4
+ # Versioning
5
+ require 'rake/version_task'
6
+ Rake::VersionTask.new do |task|
7
+ task.with_git_tag = false
52
8
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.5
@@ -20,10 +20,13 @@ module PBXProject
20
20
  # make sure that our sections are on proper order
21
21
  @sections = {
22
22
  # "PBXBuildFile" => nil,
23
+ # "PBXReferenceProxy" => nil,
23
24
  # "PBXContainerItemProxy" => nil,
24
25
  # "PBXFileReference" => nil,
25
26
  # "PBXFrameworksBuildPhase" => nil,
26
27
  # "PBXGroup" => nil,
28
+ # "PBXHeadersBuildPhase" => nil,
29
+ # "PBSLegacyTarget" => nil,
27
30
  # "PBXNativeTarget" => nil,
28
31
  # "PBXProject" => nil,
29
32
  # "PBXResourcesBuildPhase" => nil,
@@ -97,7 +100,7 @@ module PBXProject
97
100
  end
98
101
 
99
102
  # One line section data, simple. huh?
100
- if (section_type && group_name.count < 3 && m = line.match(/\s+(.*?) (\/\* (.*?) \*\/ )?= \{(.*?)\};/))
103
+ if (section_type && group_name.count < 3 && m = line.match(/\s+(.*?) (\/\* (.*?) \*\/ )?= \{(.*)\};/))
101
104
  begin
102
105
  # cls = PBXProject::PBXProject::const_get(section_type)
103
106
  # item = cls.new
@@ -105,12 +108,17 @@ module PBXProject
105
108
 
106
109
  item.guid = m[1]
107
110
  item.comment = m[3]
108
- m[4].scan(/(.*?) = (.*?)( \/\* (.*) \*\/)?; ?/).each do |v|
111
+ # m[4].scan(/(.*?) = (.*?)( \/\* (.*) \*\/)?; ?/).each do |v|
112
+ # 1: name
113
+ # 2: value
114
+ # 3: /* comment */
115
+ # 4: comment
116
+ m[4].scan(/(\S*?) = (\s*?(.*?)(?:(?={){[^}]*}|(?: \/\* (.*?) \*\/)?(?=;)))/).each do |v|
109
117
  if (v[3])
110
118
  # d = { :value => v[1], :comment => v[3]}
111
- item.instance_variable_set("@#{v[0]}", PBXTypes::BasicValue.new(:value => v[1], :comment => v[3]))
119
+ item.instance_variable_set("@#{v[0]}", PBXTypes::BasicValue.new(:value => v[2], :comment => v[3]))
112
120
  else
113
- item.instance_variable_set("@#{v[0]}", v[1])
121
+ item.instance_variable_set("@#{v[0]}", v[1][/^{/] ? v[1] : v[2])
114
122
  end
115
123
  end
116
124
 
@@ -295,4 +303,4 @@ module PBXProject
295
303
  end
296
304
 
297
305
  end
298
- end
306
+ end
@@ -157,10 +157,25 @@ module PBXProject
157
157
  end
158
158
 
159
159
  class PBXBuildFile < ISAType
160
- has_fields :isa, :fileRef
160
+ has_fields :isa, :fileRef, :settings
161
161
  has_format :oneline
162
162
  end
163
163
 
164
+ class PBXReferenceProxy < ISAType
165
+ has_fields :isa, :fileType, :path, :remoteRef, :sourceTree
166
+ has_format :multiline
167
+ end
168
+
169
+ class PBXHeadersBuildPhase < ISAType
170
+ has_fields :isa, :buildActionMask, :files, :runOnlyForDeploymentPostprocessing
171
+ has_format :multiline
172
+ end
173
+
174
+ class PBXLegacyTarget < ISAType
175
+ has_fields :isa, :buildArgumentsString, :buildConfigurationList, :buildPhases, :buildToolPath, :dependencies, :name, :passBuildSettingsInEnvironment, :productName
176
+ has_format :multiline
177
+ end
178
+
164
179
  class PBXContainerItemProxy < ISAType
165
180
  has_fields :isa, :containerPortal, :proxyType, :remoteGlobalIDString, :remoteInfo
166
181
  has_format :multiline
@@ -257,4 +272,4 @@ module PBXProject
257
272
  has_format :multiline
258
273
  end
259
274
  end
260
- end
275
+ end
@@ -0,0 +1,3 @@
1
+ module PBXProject
2
+ VERSION = File.read(File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "VERSION"))).strip
3
+ end
@@ -1,73 +1,21 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/pbxproject/version', __FILE__)
5
3
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{pbxproject}
8
- s.version = "0.2.4"
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Mikko Kokkonen"]
6
+ gem.email = ["mikko@owlforestry.com"]
7
+ gem.description = %q{Pure ruby -interface to XCode 4 project files. Read and modify pbxproject
8
+ files with ease.}
9
+ gem.summary = %q{Manage XCode 4 project files with pure-ruby library.}
10
+ gem.homepage = "http://github.com/owlforestry/pbxproject"
9
11
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Mikko Kokkonen"]
12
- s.date = %q{2011-05-14}
13
- s.default_executable = %q{pbxproject}
14
- s.description = %q{makes managing XCode 4 project files as easy as modifying ruby classes.}
15
- s.email = %q{mikko.kokkonen@me.com}
16
- s.executables = ["pbxproject"]
17
- s.extra_rdoc_files = [
18
- "LICENSE.txt",
19
- "README.md"
20
- ]
21
- s.files = [
22
- ".document",
23
- ".rspec",
24
- "Gemfile",
25
- "Gemfile.lock",
26
- "LICENSE.txt",
27
- "README.md",
28
- "Rakefile",
29
- "VERSION",
30
- "bin/pbxproject",
31
- "examples/project.pbxproj",
32
- "examples/project.pbxproj.new",
33
- "lib/pbxproject.rb",
34
- "lib/pbxproject/cli.rb",
35
- "lib/pbxproject/pbxproject.rb",
36
- "lib/pbxproject/pbxtypes.rb",
37
- "pbxproject.gemspec",
38
- "spec/pbxproject_spec.rb",
39
- "spec/spec_helper.rb"
40
- ]
41
- s.homepage = %q{http://github.com/owl-forestry/pbxproject}
42
- s.licenses = ["MIT"]
43
- s.require_paths = ["lib"]
44
- s.requirements = ["thor, if CLI wanted"]
45
- s.rubygems_version = %q{1.6.2}
46
- s.summary = %q{XCode 4 project management}
47
- s.test_files = [
48
- "spec/pbxproject_spec.rb",
49
- "spec/spec_helper.rb"
50
- ]
51
-
52
- if s.respond_to? :specification_version then
53
- s.specification_version = 3
54
-
55
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
57
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
58
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
59
- s.add_development_dependency(%q<rcov>, [">= 0"])
60
- else
61
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
62
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
63
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
64
- s.add_dependency(%q<rcov>, [">= 0"])
65
- end
66
- else
67
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
68
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
69
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
70
- s.add_dependency(%q<rcov>, [">= 0"])
71
- end
12
+ gem.files = `git ls-files`.split($\)
13
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
+ gem.name = "pbxproject"
16
+ gem.require_paths = ["lib"]
17
+ gem.version = PBXProject::VERSION
18
+
19
+ gem.add_dependency 'thor'
20
+ gem.add_development_dependency 'version'
72
21
  end
73
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pbxproject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,62 +9,51 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-05-14 00:00:00.000000000 Z
12
+ date: 2012-09-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: &70275220133840 !ruby/object:Gem::Requirement
15
+ name: thor
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.3.0
22
- type: :development
21
+ version: '0'
22
+ type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70275220133840
25
- - !ruby/object:Gem::Dependency
26
- name: bundler
27
- requirement: &70275220132760 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
- - - ~>
27
+ - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
- version: 1.0.0
33
- type: :development
34
- prerelease: false
35
- version_requirements: *70275220132760
29
+ version: '0'
36
30
  - !ruby/object:Gem::Dependency
37
- name: jeweler
38
- requirement: &70275220131720 !ruby/object:Gem::Requirement
31
+ name: version
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
- - - ~>
35
+ - - ! '>='
42
36
  - !ruby/object:Gem::Version
43
- version: 1.5.2
37
+ version: '0'
44
38
  type: :development
45
39
  prerelease: false
46
- version_requirements: *70275220131720
47
- - !ruby/object:Gem::Dependency
48
- name: rcov
49
- requirement: &70275220130940 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
50
41
  none: false
51
42
  requirements:
52
43
  - - ! '>='
53
44
  - !ruby/object:Gem::Version
54
45
  version: '0'
55
- type: :development
56
- prerelease: false
57
- version_requirements: *70275220130940
58
- description: makes managing XCode 4 project files as easy as modifying ruby classes.
59
- email: mikko.kokkonen@me.com
46
+ description: ! "Pure ruby -interface to XCode 4 project files. Read and modify pbxproject\n
47
+ \ files with ease."
48
+ email:
49
+ - mikko@owlforestry.com
60
50
  executables:
61
51
  - pbxproject
62
52
  extensions: []
63
- extra_rdoc_files:
64
- - LICENSE.txt
65
- - README.md
53
+ extra_rdoc_files: []
66
54
  files:
67
55
  - .document
56
+ - .gitignore
68
57
  - .rspec
69
58
  - Gemfile
70
59
  - Gemfile.lock
@@ -79,12 +68,12 @@ files:
79
68
  - lib/pbxproject/cli.rb
80
69
  - lib/pbxproject/pbxproject.rb
81
70
  - lib/pbxproject/pbxtypes.rb
71
+ - lib/pbxproject/version.rb
82
72
  - pbxproject.gemspec
83
73
  - spec/pbxproject_spec.rb
84
74
  - spec/spec_helper.rb
85
- homepage: http://github.com/owl-forestry/pbxproject
86
- licenses:
87
- - MIT
75
+ homepage: http://github.com/owlforestry/pbxproject
76
+ licenses: []
88
77
  post_install_message:
89
78
  rdoc_options: []
90
79
  require_paths:
@@ -101,13 +90,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
90
  - - ! '>='
102
91
  - !ruby/object:Gem::Version
103
92
  version: '0'
104
- requirements:
105
- - thor, if CLI wanted
93
+ requirements: []
106
94
  rubyforge_project:
107
- rubygems_version: 1.8.10
95
+ rubygems_version: 1.8.23
108
96
  signing_key:
109
97
  specification_version: 3
110
- summary: XCode 4 project management
98
+ summary: Manage XCode 4 project files with pure-ruby library.
111
99
  test_files:
112
100
  - spec/pbxproject_spec.rb
113
101
  - spec/spec_helper.rb
102
+ has_rdoc: