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.
- data/.gitignore +44 -0
- data/Gemfile +10 -10
- data/Gemfile.lock +11 -21
- data/Rakefile +6 -50
- data/VERSION +1 -1
- data/lib/pbxproject/pbxproject.rb +13 -5
- data/lib/pbxproject/pbxtypes.rb +17 -2
- data/lib/pbxproject/version.rb +3 -0
- data/pbxproject.gemspec +17 -69
- metadata +28 -39
data/.gitignore
ADDED
@@ -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
|
2
|
-
|
3
|
-
#
|
4
|
-
|
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
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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
|
data/Gemfile.lock
CHANGED
@@ -1,28 +1,18 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
pbxproject (0.2.0)
|
5
|
+
thor
|
6
|
+
|
1
7
|
GEM
|
2
|
-
remote:
|
8
|
+
remote: https://rubygems.org/
|
3
9
|
specs:
|
4
|
-
|
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
|
-
|
26
|
-
|
27
|
-
rcov
|
28
|
-
rspec (~> 2.3.0)
|
17
|
+
pbxproject!
|
18
|
+
version
|
data/Rakefile
CHANGED
@@ -1,52 +1,8 @@
|
|
1
|
-
|
2
|
-
require
|
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
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
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.
|
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[
|
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
|
data/lib/pbxproject/pbxtypes.rb
CHANGED
@@ -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
|
data/pbxproject.gemspec
CHANGED
@@ -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 |
|
7
|
-
|
8
|
-
|
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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
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
|
+
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:
|
12
|
+
date: 2012-09-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
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:
|
22
|
-
type: :
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
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:
|
33
|
-
type: :development
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *70275220132760
|
29
|
+
version: '0'
|
36
30
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
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:
|
37
|
+
version: '0'
|
44
38
|
type: :development
|
45
39
|
prerelease: false
|
46
|
-
version_requirements:
|
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
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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/
|
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.
|
95
|
+
rubygems_version: 1.8.23
|
108
96
|
signing_key:
|
109
97
|
specification_version: 3
|
110
|
-
summary: XCode 4 project
|
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:
|