juretta-ipt 1.0.7 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -16,7 +16,7 @@ Installation
16
16
  2. Adde the following lines to your Rakefile:
17
17
 
18
18
  require 'rubygems'
19
- gem 'ipt'
19
+ gem 'juretta-ipt'
20
20
  load 'iphone_tools.rake'
21
21
 
22
22
  CLANG
@@ -52,10 +52,7 @@ to show the available tasks:
52
52
  rake ipt:clean # Clean build artifacts
53
53
  rake ipt:dist:info # Info
54
54
  rake ipt:dist:show # Show all bundle identifier
55
- rake ipt:git:changelog # Create a changelog (doc/changelog.html and doc/changelog.xml) based on your git commits.
56
- rake ipt:optimize_images # Reduce image filesize using pngcrush
57
- rake ipt:readme # Create README.html from existing README.* text file (markdown, textile, rdoc support).
58
- rake ipt:todo # List TODO|FIXME|IMPROVE tags
55
+ [...]
59
56
 
60
57
 
61
58
  Static code analysis
@@ -100,7 +97,7 @@ Unit testing with rbiphonetest
100
97
  ------------------------------
101
98
 
102
99
  This is not included in this Rakefile. Have a look at [rbiphonetest][6] if you want to easily test your Foundation classes.
103
- The rbiphonetest git repository lives here: (http://github.com/drnic/rbiphonetest/tree/master)
100
+ The rbiphonetest git repository lives here: [http://github.com/drnic/rbiphonetest/tree/master](http://github.com/drnic/rbiphonetest/tree/master)
104
101
 
105
102
  [6]: http://drnicwilliams.com/2008/07/04/unit-testing-iphone-apps-with-ruby-rbiphonetest/
106
103
 
@@ -151,7 +148,7 @@ I use the following workflow to set version numbers for my Xcode project:
151
148
 
152
149
  1. tag the current release snapshot using
153
150
 
154
- git tag 1.0.1
151
+ git tag -a -m "Tagging current version as 1.0.1" 1.0.1
155
152
 
156
153
  You can list all you tags using:
157
154
 
@@ -159,14 +156,12 @@ I use the following workflow to set version numbers for my Xcode project:
159
156
 
160
157
  To check which tag is going to be used as you version numer use:
161
158
 
162
- git describe --tags
163
- 2. run Xcode build with the script that follows (which basically uses 'git describe --tags' to determine the most recent tag that is reachable from a commit)
159
+ git describe --tags --always
160
+ 2. run Xcode build with the script that follows (which basically uses 'git describe --tags --always' to determine the most recent tag that is reachable from a commit)
164
161
  3. check CFBundleVersion value in all build artifacts using the rake task 'dist:show'
165
162
 
166
163
  rake ipt:dist:show
167
164
 
168
-
169
-
170
165
  In Xcode add a new script build phase:
171
166
  Targets > Add > New Build Phase > New Run Script Build Phase
172
167
 
@@ -193,7 +188,7 @@ executable.
193
188
  if File.file?(PLIST_FILE)
194
189
  pl = Plist::parse_xml(PLIST_FILE)
195
190
  if pl
196
- pl["CFBundleVersion"] = `#{GIT} git describe --tags`.to_s
191
+ pl["CFBundleVersion"] = `#{GIT} describe --tags --always`.to_s
197
192
  pl.save_plist(PLIST_FILE)
198
193
  end
199
194
  end
data/lib/ipt/plist.rb ADDED
@@ -0,0 +1,18 @@
1
+ module IPT
2
+
3
+ module Plist
4
+ class Parser
5
+ def initialize(path)
6
+ if File.file?(path)
7
+ type = `file '#{path}'`
8
+ @xml = type =~ /Apple binary property list/ ? `plutil -convert xml1 -o - '#{path}'` : path
9
+ end
10
+ end
11
+
12
+ def parse
13
+ Plist::parse_xml(@xml) if @xml
14
+ end
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,30 @@
1
+
2
+
3
+ module RakeHelper
4
+ # Tries to determine the absolute path to the given binary.
5
+ def find_binary(name)
6
+ ENV["PATH"].split(":").each do |dir| # we are on a mac anyway
7
+ path = File.join(dir, name)
8
+ if File.executable?(path)
9
+ puts "Found '#{name}' in #{dir}" if $DEBUG
10
+ return File.expand_path(path)
11
+ end
12
+ end
13
+ raise "Unable to find #{name} in the system PATH. Add /path/to/#{name} to your $PATH"
14
+ end
15
+
16
+ def find_current_project_name
17
+ # Run xcodebuile in the current directory
18
+ info = `xcodebuild -list`
19
+ if info =~ /Targets:(.*?)Build Configurations/m
20
+ return $1.dup.gsub(/\(Active\)/, '').strip
21
+ end
22
+ nil
23
+ end
24
+
25
+ def resolve_tag
26
+ last_tag = `#{GIT} describe --tags --always`
27
+ last_tag = last_tag.split('-').first if last_tag =~ /-/
28
+ IPT::Version.parse(last_tag)
29
+ end
30
+ end
data/lib/ipt/readme.rb ADDED
@@ -0,0 +1,110 @@
1
+ module IPT
2
+
3
+
4
+ module README
5
+
6
+ class AbstractFormatter
7
+ def self.supports(ext)
8
+ return supported_formats.include?(ext)
9
+ end
10
+ end
11
+
12
+ class PlainFormatter < AbstractFormatter
13
+ def self.supported_formats
14
+ %w(txt)
15
+ end
16
+
17
+ def to_html(input)
18
+ input
19
+ end
20
+ end
21
+
22
+ class MarkdownFormatter < AbstractFormatter
23
+ def self.supported_formats
24
+ %w(md markdown)
25
+ end
26
+
27
+ def initialize
28
+ begin
29
+ require 'bluecloth'
30
+ rescue LoadError => e
31
+ puts "The bluecloth gem is required if you want to create HTML Readme files."
32
+ puts "Install using: sudo gem install BlueCloth"
33
+ end
34
+ end
35
+
36
+ def to_html(input)
37
+ BlueCloth.new(input).to_html
38
+ end
39
+ end
40
+
41
+ class TextileFormatter < AbstractFormatter
42
+ def self.supported_formats
43
+ %w(text textile)
44
+ end
45
+
46
+ def initialize
47
+ begin
48
+ require 'RedCloth'
49
+ rescue LoadError => e
50
+ puts "The RedCloth gem is required if you want to create HTML Readme files."
51
+ puts "Install using: sudo gem install RedCloth"
52
+ end
53
+ end
54
+
55
+ def to_html(input)
56
+ RedCloth.new(input).to_html
57
+ end
58
+ end
59
+
60
+ class RdocFormatter < AbstractFormatter
61
+ def self.supported_formats
62
+ %w(rdoc)
63
+ end
64
+
65
+ def initialize
66
+ require 'rdoc/markup/simple_markup'
67
+ require 'rdoc/markup/simple_markup/to_html'
68
+ end
69
+
70
+ def to_html(input)
71
+ p = SM::SimpleMarkup.new
72
+ h = SM::ToHtml.new
73
+ p.convert(input, h)
74
+ end
75
+ end
76
+
77
+ class Formatter
78
+ PATTERN = "README.{text,textile,rdoc,md,markdown}"
79
+ FORMATTER = [MarkdownFormatter, TextileFormatter, RdocFormatter]
80
+ def initialize(root_dir)
81
+ @dir = root_dir
82
+ end
83
+
84
+ def find_readme
85
+ Dir["#{@dir}/#{PATTERN}"].first
86
+ end
87
+
88
+ def find_formatter(file)
89
+ ext = file.split(/\./).last
90
+ FORMATTER.each do |f|
91
+ if f.supports(ext)
92
+ return f
93
+ end
94
+ end
95
+ PlainFormatter # Default formatter
96
+ end
97
+
98
+ def to_html
99
+ readme_file = find_readme
100
+ if readme_file && File.file?(readme_file)
101
+ File.open("readme.html", "w") do |f|
102
+ f << find_formatter(readme_file).new.to_html(IO.readlines(readme_file).join)
103
+ end
104
+ else
105
+ puts "No #{PATTERN}s file could be found."
106
+ end
107
+ end
108
+ end # class Formatter
109
+ end # module README
110
+ end # module IPT
@@ -0,0 +1,60 @@
1
+ module IPT
2
+
3
+ class TagExtraction
4
+ def grep(pattern, ignore = /Auto-generated/)
5
+ output = []
6
+ formatter = Formatter.new
7
+ traverse do |file|
8
+ count, match, buffer = 0, false, []
9
+ open(file) do |f|
10
+ while line = f.gets
11
+ count += 1
12
+ if line =~ pattern && line !~ ignore
13
+ match = true
14
+ buffer << "#{count.to_s.rjust(8)}: #{line.strip}"
15
+ end
16
+ end
17
+ if match
18
+ output << "\n#{formatter.yellow(file)}"
19
+ output << buffer.join("\n")
20
+ output << "\n"
21
+ formatter.reset!
22
+ end
23
+ match = false
24
+ end
25
+ end
26
+ output.join("\n")
27
+ end
28
+
29
+ def traverse
30
+ Dir['**/*.{m,h,txt,md,markdown,rdoc,text}'].each do |fn|
31
+ yield fn
32
+ end
33
+ end
34
+ end # TagExtraction
35
+
36
+ class Formatter
37
+ def initialize
38
+ reset!
39
+ end
40
+
41
+ def yellow(txt)
42
+ @buffer << "\033[33m#{txt}\033[0m"
43
+ self
44
+ end
45
+
46
+ def clear(txt)
47
+ @buffer << txt
48
+ self
49
+ end
50
+
51
+ def reset!
52
+ @buffer = []
53
+ end
54
+
55
+ def to_s
56
+ @buffer.join('')
57
+ end
58
+ end
59
+
60
+ end
@@ -0,0 +1,59 @@
1
+ module IPT
2
+ # Basic version implementation
3
+ #
4
+ # A version has one of the following forms:
5
+ #
6
+ # * MAJOR
7
+ # * MAJOR.MINOR
8
+ # * MAJOR.MINOR.PATCH
9
+ # * MAJOR.MINOR.PATCH.BUILD
10
+ #
11
+ # = Usage
12
+ #
13
+ # version = Version.parse("2.3.9")
14
+ # version.major # => 2
15
+ #
16
+ # puts version # => "2.3.9"
17
+ class Version
18
+ class << self
19
+ def parse(str)
20
+ raise ArgumentError.new("Invalid version string: #{str}") unless str && str =~ /[0-9]+(\.[0-9]+)?/
21
+ Version.new(*str.split("."))
22
+ end
23
+ end
24
+
25
+ PARTS = [:major, :minor, :patch, :build]
26
+
27
+ PARTS.each {|p| attr_accessor p}
28
+
29
+ def initialize(major, minor = nil, patch = nil, build = nil)
30
+ @major, @minor, @patch, @build = major.to_i, minor ? minor.to_i : nil, patch ? patch.to_i : nil, build ? build.to_i : nil
31
+ end
32
+
33
+ def increase!(what = nil)
34
+ change(what){|old| old + 1}
35
+ end
36
+
37
+ def decrease!(what = nil)
38
+ change(what){|old| old - 1}
39
+ end
40
+
41
+ def to_s
42
+ PARTS.map{|part| self.send(part)}.join('.')
43
+ end
44
+
45
+ private
46
+ def change(what, &op)
47
+ unless what
48
+ what = :major if @major
49
+ what = :minor if @minor
50
+ what = :patch if @patch
51
+ what = :build if @build
52
+ end
53
+ raise ArgumentError("Invalid version part") unless PARTS.include?(what)
54
+ self.send("#{what}=", yield(self.send(what)))
55
+ self
56
+ end
57
+ end
58
+
59
+ end
data/lib/ipt.rb ADDED
@@ -0,0 +1,9 @@
1
+ #--
2
+ # Copyright (C) 2005, 2009 by Stefan Saasen <stefan@coravy.com>
3
+ # == Usage
4
+ #:include:README.md
5
+
6
+ Dir[File.join(File.dirname(__FILE__), 'ipt/**/*.rb')].sort.each { |lib| require lib }
7
+ module IPT
8
+
9
+ end
@@ -1,22 +1,20 @@
1
1
  # Author Stefan Saasen (coravy.com)
2
2
 
3
3
  require 'fileutils'
4
+ require 'rubygems'
5
+ require 'ipt'
4
6
  include FileUtils
5
7
 
6
8
  BUILD_DIR = "./build"
9
+ API_DOC_DIR = "./docs"
7
10
 
11
+ # Name of the AdHoc configuration in Xcode
12
+ ADHOC_CONFIGURATION_NAME = 'Distribution (AdHoc)'
8
13
 
9
- # Tries to determine the absolute path to the given binary.
10
- def find_binary(name)
11
- ENV["PATH"].split(":").each do |dir| # we are on a mac anyway
12
- path = File.join(dir, name)
13
- if File.executable?(path)
14
- puts "Found '#{name}' in #{dir}" if $DEBUG
15
- return File.expand_path(path)
16
- end
17
- end
18
- raise "Unable to find #{name} in the system PATH. Add /path/to/#{name} to your $PATH"
19
- end
14
+ # Directory for release archive files (tar.gz)
15
+ RELEASES_DIR = "../releases"
16
+
17
+ ADHOC_PROVISION_FILE = "fail"
20
18
 
21
19
  module Kernel
22
20
  def with(binary)
@@ -28,191 +26,90 @@ module Kernel
28
26
  end
29
27
  end
30
28
 
31
- module IPT
29
+ include RakeHelper
32
30
 
33
- module Plist
34
- class Parser
35
- def initialize(path)
36
- if File.file?(path)
37
- type = `file '#{path}'`
38
- @xml = type =~ /Apple binary property list/ ? `plutil -convert xml1 -o - '#{path}'` : path
39
- end
40
- end
41
-
42
- def parse
43
- Plist::parse_xml(@xml) if @xml
44
- end
31
+ namespace :ipt do
32
+
33
+ namespace :doc do
34
+ desc "Generate api docs (using headerdoc) in #{API_DOC_DIR}"
35
+ task :app do
36
+ sh "headerdoc2html -u -t -o #{API_DOC_DIR} ./Classes"
37
+ sh "gatherheaderdoc #{API_DOC_DIR} index.html"
45
38
  end
46
39
  end
47
-
48
- module README
49
40
 
50
- class AbstractFormatter
51
- def self.supports(ext)
52
- return supported_formats.include?(ext)
53
- end
41
+ namespace :adhoc do
42
+ #desc "Create an AdHoc distriution build"
43
+ task :build => :prepare do
44
+ rm_r BUILD_DIR if File.directory?(BUILD_DIR)
45
+ target = find_current_project_name
46
+ sh "xcodebuild -target '#{target}' -configuration '#{ADHOC_CONFIGURATION_NAME}'"
54
47
  end
55
48
 
56
- class PlainFormatter < AbstractFormatter
57
- def self.supported_formats
58
- %w(txt)
59
- end
60
-
61
- def to_html(input)
62
- input
63
- end
64
- end
65
-
66
- class MarkdownFormatter < AbstractFormatter
67
- def self.supported_formats
68
- %w(md markdown)
69
- end
70
-
71
- def initialize
72
- begin
73
- require 'bluecloth'
74
- rescue LoadError => e
75
- puts "The bluecloth gem is required if you want to create HTML Readme files."
76
- puts "Install using: sudo gem install BlueCloth"
77
- end
78
- end
79
-
80
- def to_html(input)
81
- BlueCloth.new(input).to_html
82
- end
83
- end
84
-
85
- class TextileFormatter < AbstractFormatter
86
- def self.supported_formats
87
- %w(text textile)
88
- end
89
-
90
- def initialize
91
- begin
92
- require 'RedCloth'
93
- rescue LoadError => e
94
- puts "The RedCloth gem is required if you want to create HTML Readme files."
95
- puts "Install using: sudo gem install RedCloth"
96
- end
97
- end
98
-
99
- def to_html(input)
100
- RedCloth.new(input).to_html
101
- end
49
+ #desc "Inject version into source"
50
+ task :inject do
51
+ # NOOP - can be overriden
102
52
  end
53
+
54
+ # The Adhoc build depends on git
55
+ with('git') do
56
+ #desc "Prepare a release"
57
+ task :prepare => :inject do
58
+ last_tag = resolve_tag
59
+ puts "Previous tag: #{last_tag}"
60
+ NEW_TAG = last_tag.increase!.to_s
61
+ puts "New tag/version: #{NEW_TAG}"
62
+
63
+ # Info.plist
64
+ PLIST_FILE = File.join(Dir.pwd, "Info.plist")
65
+ if File.file?(PLIST_FILE)
66
+ pl = Plist::parse_xml(PLIST_FILE)
67
+ if pl
68
+ pl["CFBundleVersion"] = NEW_TAG
69
+ pl.save_plist(PLIST_FILE)
70
+ end
71
+ end
103
72
 
104
- class RdocFormatter < AbstractFormatter
105
- def self.supported_formats
106
- %w(rdoc)
107
- end
108
-
109
- def initialize
110
- require 'rdoc/markup/simple_markup'
111
- require 'rdoc/markup/simple_markup/to_html'
73
+ # Commit changes
74
+ `#{GIT} add #{PLIST_FILE}`
75
+ `#{GIT} commit -m "Preparing release for version '#{NEW_TAG}'."`
76
+
77
+ # Tag new release
78
+ `#{GIT} tag -a -m "Preparing release for version '#{NEW_TAG}'." #{NEW_TAG}`
112
79
  end
113
80
 
114
- def to_html(input)
115
- p = SM::SimpleMarkup.new
116
- h = SM::ToHtml.new
117
- p.convert(input, h)
118
- end
119
- end
120
-
121
- class Formatter
122
- PATTERN = "README.{text,textile,rdoc,md,markdown}"
123
- FORMATTER = [MarkdownFormatter, TextileFormatter, RdocFormatter]
124
- def initialize(root_dir)
125
- @dir = root_dir
126
- end
127
-
128
- def find_readme
129
- Dir["#{@dir}/#{PATTERN}"].first
130
- end
81
+ desc "Create an Ad-Hoc bundle in #{RELEASES_DIR} based on the current git tag"
82
+ task :release => :build do
83
+ target = find_current_project_name
84
+ src = File.join(BUILD_DIR, "#{ADHOC_CONFIGURATION_NAME}-iphoneos", "#{target}.app")
85
+ raise "Release build does not exist" unless File.directory?(src)
86
+ raise "Invalid provision file" unless File.file?(ADHOC_PROVISION_FILE)
87
+ dir_name = `#{GIT} describe --tags --always`.strip
88
+ path = File.expand_path(File.join(RELEASES_DIR, "#{dir_name}-adhoc"))
89
+ rm_r path if File.directory?(path)
90
+ mkdir_p path
91
+
92
+ current_tag = resolve_tag
93
+ previous_tag = current_tag.dup.decrease!
131
94
 
132
- def find_formatter(file)
133
- ext = file.split(/\./).last
134
- FORMATTER.each do |f|
135
- if f.supports(ext)
136
- return f
137
- end
138
- end
139
- PlainFormatter # Default formatter
140
- end
95
+ puts "Creating changelog.txt (#{previous_tag} -> #{current_tag})"
141
96
 
142
- def to_html
143
- readme_file = find_readme
144
- if readme_file && File.file?(readme_file)
145
- File.open("readme.html", "w") do |f|
146
- f << find_formatter(readme_file).new.to_html(IO.readlines(readme_file).join)
147
- end
148
- else
149
- puts "No #{PATTERN}s file could be found."
150
- end
151
- end
152
- end # class Formatter
153
- end # module Formatter
97
+ `echo 'Changelog: #{previous_tag} -> #{current_tag}\n' > #{path}/changelog.txt`
98
+ `#{GIT} log --abbrev-commit --pretty=medium #{previous_tag}..#{current_tag} >> #{path}/changelog.txt`
154
99
 
155
- class TagExtraction
156
- def grep(pattern, ignore = /Auto-generated/)
157
- formatter = Formatter.new
158
- traverse do |file|
159
- count, match, buffer = 0, false, []
160
- open(file) do |f|
161
- while line = f.gets
162
- count += 1
163
- if line =~ pattern && line !~ ignore
164
- match = true
165
- buffer << "#{count.to_s.rjust(8)}: #{line.strip}"
166
- end
167
- end
168
- if match
169
- puts "\n#{formatter.yellow(file)}"
170
- puts buffer.join("\n")
171
- puts "\n"
172
- formatter.reset!
173
- end
174
- match = false
175
- end
100
+ puts "Copying provision file..."
101
+ cp ADHOC_PROVISION_FILE, path
102
+
103
+ puts "Copying application"
104
+ cp_r src, path
105
+ puts 'Creating tar.gz'
106
+ `tar czf #{RELEASES_DIR}/#{dir_name}.tgz -C #{path} .`
176
107
  end
177
108
  end
178
109
 
179
- def traverse
180
- Dir['**/*.{m,h,txt,md,markdown,rdoc,text}'].each do |fn|
181
- yield fn
182
- end
183
- end
184
- end # TagExtraction
185
-
186
- class Formatter
187
- def initialize
188
- reset!
189
- end
190
-
191
- def yellow(txt)
192
- @buffer << "\033[33m#{txt}\033[0m"
193
- self
194
- end
195
-
196
- def clear(txt)
197
- @buffer << txt
198
- self
199
- end
200
-
201
- def reset!
202
- @buffer = []
203
- end
204
-
205
- def to_s
206
- @buffer.join('')
207
- end
208
110
  end
209
111
 
210
- end
211
-
212
- namespace :ipt do
213
-
214
- namespace :dist do
215
-
112
+ namespace :dist do
216
113
  desc "Show all bundle identifier"
217
114
  task :show do
218
115
  puts "No build artifacts" unless File.directory?(BUILD_DIR)
@@ -245,12 +142,12 @@ namespace :ipt do
245
142
 
246
143
  desc "Reduce image filesize using pngcrush"
247
144
  task :optimize_images do
248
- puts "PNG image optimization is not necessary as Xcode will optimize PNG files during the build phase.\nThis target is deprecated and will be released in future releases."
145
+ puts "PNG image optimization is not necessary as Xcode will optimize PNG files during the build phase.\nThis target is deprecated and will be removed in future releases."
249
146
  end
250
147
 
251
148
  desc "List TODO|FIXME|IMPROVE tags"
252
149
  task :todo do
253
- IPT::TagExtraction.new.grep(/TODO|FIXME|IMPROVE/i)
150
+ print IPT::TagExtraction.new.grep(/TODO|FIXME|IMPROVE/i)
254
151
  end
255
152
 
256
153
  desc "Create README.html from existing README.* text file (markdown, textile, rdoc support)."
@@ -280,6 +177,11 @@ namespace :ipt do
280
177
 
281
178
  with('git') do
282
179
  namespace :git do
180
+ desc "Create a .gitignore file or add XCode related ignore pattern to your existing .gitignore file."
181
+ task :ignore do
182
+ raise "Implement"
183
+ end
184
+
283
185
  desc "Create a changelog (doc/changelog.html and doc/changelog.xml) based on your git commits."
284
186
  task :changelog do
285
187
  require 'time'
@@ -1,9 +1,8 @@
1
1
  #
2
- # Author Stefan Saasen (coravy.com)
3
2
  #
4
3
  # ============== Load rake tasks ================
5
4
  Dir['tasks/**/*.rake'].each { |rake| load rake }
6
-
5
+
7
6
  # or (if you've installed the ipt gem)
8
7
  # require 'rubygems'
9
8
  # gem 'ipt'
@@ -11,6 +10,3 @@ Dir['tasks/**/*.rake'].each { |rake| load rake }
11
10
 
12
11
  # =========== Your custom rake tasks ============
13
12
 
14
-
15
-
16
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: juretta-ipt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Saasen
@@ -9,12 +9,12 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-11-21 00:00:00 -08:00
12
+ date: 2009-03-02 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
16
- description: Useful rake tasks and scripts for iPhone development using Xcode.
17
- email: s@juretta.com
16
+ description: Useful rake tasks and scripts for iPhone development using Xcode. Some tasks rely on external software. Please read the installation instructions. The scm related tasks assume that you are using git. You can just ignore those tasks and scripts if you are using a different scm.
17
+ email: stefan@coravy.com
18
18
  executables: []
19
19
 
20
20
  extensions: []
@@ -22,17 +22,25 @@ extensions: []
22
22
  extra_rdoc_files:
23
23
  - README.md
24
24
  files:
25
- - README.md
26
- - Rakefile
27
- - ipt.gemspec
25
+ - lib/ipt
26
+ - lib/ipt/plist.rb
27
+ - lib/ipt/rake_helper.rb
28
+ - lib/ipt/readme.rb
29
+ - lib/ipt/tag_extraction.rb
30
+ - lib/ipt/version.rb
31
+ - lib/ipt.rb
28
32
  - tasks/changelog.tmpl
29
33
  - tasks/iphone_tools.rake
30
- has_rdoc: false
34
+ - tasks/rakefile.tmpl
35
+ - README.md
36
+ has_rdoc: true
31
37
  homepage: http://github.com/juretta/iphone-project-tools
32
38
  post_install_message:
33
- rdoc_options: []
34
-
39
+ rdoc_options:
40
+ - --inline-source
41
+ - --charset=UTF-8
35
42
  require_paths:
43
+ - lib
36
44
  - tasks
37
45
  required_ruby_version: !ruby/object:Gem::Requirement
38
46
  requirements:
@@ -52,6 +60,6 @@ rubyforge_project:
52
60
  rubygems_version: 1.2.0
53
61
  signing_key:
54
62
  specification_version: 2
55
- summary: iPhone Project Tools
63
+ summary: Useful rake tasks and scripts for iPhone development using Xcode.
56
64
  test_files: []
57
65
 
data/ipt.gemspec DELETED
@@ -1,19 +0,0 @@
1
- Gem::Specification.new do |s|
2
- s.name = "ipt"
3
- s.version = "1.0.7"
4
- s.date = "2008-11-21"
5
- s.summary = "iPhone Project Tools"
6
- s.email = "s@juretta.com"
7
- s.homepage = "http://github.com/juretta/iphone-project-tools"
8
- s.description = "Useful rake tasks and scripts for iPhone development using Xcode."
9
- s.has_rdoc = false
10
- s.require_path = 'tasks'
11
- s.authors = ["Stefan Saasen"]
12
- s.files = [
13
- "README.md",
14
- "Rakefile",
15
- "ipt.gemspec",
16
- "tasks/changelog.tmpl",
17
- "tasks/iphone_tools.rake"]
18
- s.extra_rdoc_files = ["README.md"]
19
- end