pbxproject 0.2.4 → 0.2.5

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