rucola 0.0.1
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/ChangeLog +628 -0
- data/History.txt +4 -0
- data/License.txt +20 -0
- data/Manifest.txt +106 -0
- data/README.txt +126 -0
- data/Rakefile +32 -0
- data/TODO +28 -0
- data/app_generators/rucola/USAGE +6 -0
- data/app_generators/rucola/rucola_generator.rb +112 -0
- data/app_generators/rucola/templates/Rakefile.erb +12 -0
- data/app_generators/rucola/templates/Rakefile.erb.old +156 -0
- data/app_generators/rucola/templates/app/controllers/application_controller.rb +22 -0
- data/app_generators/rucola/templates/config/Info.plist.erb +28 -0
- data/app_generators/rucola/templates/config/boot.rb +2 -0
- data/app_generators/rucola/templates/config/environment.rb +11 -0
- data/app_generators/rucola/templates/config/environments/debug.rb +3 -0
- data/app_generators/rucola/templates/config/environments/release.rb +3 -0
- data/app_generators/rucola/templates/config/environments/test.rb +3 -0
- data/app_generators/rucola/templates/config/ib_external_class_defs.yml +13 -0
- data/app_generators/rucola/templates/misc/English.lproj/InfoPlist.strings.erb +3 -0
- data/app_generators/rucola/templates/misc/English.lproj/MainMenu.nib/classes.nib +40 -0
- data/app_generators/rucola/templates/misc/English.lproj/MainMenu.nib/info.nib +18 -0
- data/app_generators/rucola/templates/misc/English.lproj/MainMenu.nib/keyedobjects.nib +0 -0
- data/app_generators/rucola/templates/misc/main.m.erb +15 -0
- data/app_generators/rucola/templates/misc/rb_main.rb.erb +13 -0
- data/app_generators/rucola/templates/project.pbxproj.erb +299 -0
- data/app_generators/rucola/templates/script/plugin +84 -0
- data/app_generators/rucola/templates/test/controllers/test_application_controller.rb +10 -0
- data/app_generators/rucola/templates/test/test_helper.rb +10 -0
- data/bin/rucola +12 -0
- data/config/hoe.rb +71 -0
- data/config/requirements.rb +17 -0
- data/lib/rucola.rb +3 -0
- data/lib/rucola/info_plist.rb +37 -0
- data/lib/rucola/initializer.rb +313 -0
- data/lib/rucola/nib.rb +99 -0
- data/lib/rucola/rucola_support.rb +9 -0
- data/lib/rucola/rucola_support/controllers.rb +2 -0
- data/lib/rucola/rucola_support/controllers/rc_controller.rb +7 -0
- data/lib/rucola/rucola_support/controllers/rc_window_controller.rb +12 -0
- data/lib/rucola/rucola_support/core_ext.rb +2 -0
- data/lib/rucola/rucola_support/core_ext/objc.rb +4 -0
- data/lib/rucola/rucola_support/core_ext/objc/nsobject.rb +22 -0
- data/lib/rucola/rucola_support/core_ext/ruby.rb +4 -0
- data/lib/rucola/rucola_support/core_ext/ruby/string.rb +21 -0
- data/lib/rucola/rucola_support/initialize_hooks.rb +21 -0
- data/lib/rucola/rucola_support/models.rb +1 -0
- data/lib/rucola/rucola_support/models/rc_document.rb +10 -0
- data/lib/rucola/rucola_support/notifications.rb +1 -0
- data/lib/rucola/rucola_support/notifications/notifications.rb +146 -0
- data/lib/rucola/rucola_support/rc_app.rb +101 -0
- data/lib/rucola/tasks/freeze.rake +44 -0
- data/lib/rucola/tasks/interface_builder.rake +80 -0
- data/lib/rucola/tasks/main.rake +29 -0
- data/lib/rucola/tasks/xcode.rake +43 -0
- data/lib/rucola/test_helper.rb +57 -0
- data/lib/rucola/version.rb +9 -0
- data/lib/rucola/xcode.rb +148 -0
- data/log/debug.log +0 -0
- data/rucola_generators/controller/USAGE +5 -0
- data/rucola_generators/controller/controller_generator.rb +84 -0
- data/rucola_generators/controller/templates/controller_template.rb.erb +5 -0
- data/rucola_generators/controller/templates/test_controller_template.rb.erb +10 -0
- data/rucola_generators/document_model/USAGE +5 -0
- data/rucola_generators/document_model/document_model_generator.rb +67 -0
- data/rucola_generators/document_model/templates/document_model_template.rb.erb +27 -0
- data/rucola_generators/document_model/templates/test_document_model_template.rb.erb +10 -0
- data/rucola_generators/window_controller/USAGE +6 -0
- data/rucola_generators/window_controller/templates/Window.nib/classes.nib.erb +35 -0
- data/rucola_generators/window_controller/templates/Window.nib/info.nib +16 -0
- data/rucola_generators/window_controller/templates/Window.nib/keyedobjects.nib +0 -0
- data/rucola_generators/window_controller/templates/test_window_controller_template.rb.erb +10 -0
- data/rucola_generators/window_controller/templates/window_controller_template.rb.erb +19 -0
- data/rucola_generators/window_controller/window_controller_generator.rb +74 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +74 -0
- data/setup.rb +1585 -0
- data/tasks/deployment.rake +27 -0
- data/tasks/environment.rake +7 -0
- data/tasks/website.rake +17 -0
- data/test/fixtures/Info.plist +28 -0
- data/test/fixtures/MainMenu.nib/classes.nib +32 -0
- data/test/fixtures/MainMenu.nib/info.nib +18 -0
- data/test/fixtures/MainMenu.nib/keyedobjects.nib +0 -0
- data/test/test_controller_generator.rb +75 -0
- data/test/test_core_ext.rb +15 -0
- data/test/test_document_model_generator.rb +64 -0
- data/test/test_generator_helper.rb +20 -0
- data/test/test_helper.rb +13 -0
- data/test/test_info_plist.rb +31 -0
- data/test/test_nib.rb +73 -0
- data/test/test_notifications.rb +75 -0
- data/test/test_objc_core_ext.rb +37 -0
- data/test/test_rc_app.rb +63 -0
- data/test/test_rc_document.rb +18 -0
- data/test/test_rc_window_controller.rb +13 -0
- data/test/test_rucola.rb +11 -0
- data/test/test_rucola_generator.rb +87 -0
- data/test/test_window_controller_generator.rb +50 -0
- data/test/test_xcode.rb +128 -0
- data/website/index.html +199 -0
- data/website/index.txt +126 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.rhtml +48 -0
- metadata +189 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# -*- mode:ruby; indent-tabs-mode:nil; coding:utf-8 -*-
|
|
2
|
+
# vim:ts=2:sw=2:expandtab:
|
|
3
|
+
require 'rubygems'
|
|
4
|
+
require 'rake'
|
|
5
|
+
require 'rake/clean'
|
|
6
|
+
require 'rake/testtask'
|
|
7
|
+
require 'pathname'
|
|
8
|
+
|
|
9
|
+
# Application own Settings
|
|
10
|
+
APPNAME = "<%= name %>"
|
|
11
|
+
TARGET = "#{APPNAME}.app"
|
|
12
|
+
#APPVERSION = "rev#{`svn info`[/Revision: (\d+)/, 1]}"
|
|
13
|
+
APPVERSION = Time.now.strftime("%Y-%m-%d")
|
|
14
|
+
PUBLISH = 'yourname@yourhost:path'
|
|
15
|
+
DEFAULT_TARGET = APPNAME
|
|
16
|
+
DEFAULT_CONFIGURATION = 'Release'
|
|
17
|
+
RELEASE_CONFIGURATION = 'Release'
|
|
18
|
+
|
|
19
|
+
# Tasks
|
|
20
|
+
task :default => [:run]
|
|
21
|
+
|
|
22
|
+
desc "Build the default and run it."
|
|
23
|
+
task :run => [:build] do
|
|
24
|
+
sh %{open "build/Release/#{APPNAME}.app"}
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
desc 'Build the default target using the default configuration'
|
|
28
|
+
task :build => "xcode:build:#{DEFAULT_TARGET}:#{DEFAULT_CONFIGURATION}"
|
|
29
|
+
|
|
30
|
+
desc 'Deep clean of everything'
|
|
31
|
+
task :clean do
|
|
32
|
+
puts %x{ xcodebuild -alltargets clean }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
desc "Add files to Xcode project"
|
|
36
|
+
task :add do |t|
|
|
37
|
+
files = ARGV[1..-1]
|
|
38
|
+
project = %x{ xcodebuild -list }[/Information about project "([^"]+)":/, 1]
|
|
39
|
+
files << "#{project}.xcodeproj"
|
|
40
|
+
exec("rubycocoa", "add", *files)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
desc "Create ruby skelton and add to Xcode project"
|
|
44
|
+
task :create do |t|
|
|
45
|
+
args = ARGV[1..-1]
|
|
46
|
+
if system("rubycocoa", "create", *args)
|
|
47
|
+
project = %x{ xcodebuild -list }[/Information about project "([^"]+)":/, 1]
|
|
48
|
+
exec("rubycocoa", "add", args.last + ".rb", "#{project}.xcodeproj")
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
desc "Update nib with ruby file"
|
|
53
|
+
task :update do |t|
|
|
54
|
+
args = ARGV[1..-1]
|
|
55
|
+
args.unshift("English.lproj/MainMenu.nib")
|
|
56
|
+
exec("rubycocoa", "update", *args)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
desc "Package the application"
|
|
60
|
+
task :package => ["xcode:build:#{DEFAULT_TARGET}:#{RELEASE_CONFIGURATION}", "pkg"] do
|
|
61
|
+
name = "#{APPNAME}.#{APPVERSION}"
|
|
62
|
+
mkdir "image"
|
|
63
|
+
sh %{rubycocoa standaloneify "build/#{DEFAULT_CONFIGURATION}/#{APPNAME}.app" "image/#{APPNAME}.app"}
|
|
64
|
+
puts 'Creating Image...'
|
|
65
|
+
sh %{
|
|
66
|
+
hdiutil create -volname '#{name}' -srcfolder image '#{name}'.dmg
|
|
67
|
+
rm -rf image
|
|
68
|
+
mv '#{name}.dmg' pkg
|
|
69
|
+
}
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
directory 'pkg'
|
|
73
|
+
|
|
74
|
+
desc 'Make Localized nib from English.lproj and Lang.lproj/nib.strings'
|
|
75
|
+
rule(/.nib$/ => [proc {|tn| File.dirname(tn) + '/nib.strings' }]) do |t|
|
|
76
|
+
p t.name
|
|
77
|
+
lproj = File.dirname(t.name)
|
|
78
|
+
target = File.basename(t.name)
|
|
79
|
+
rm_rf t.name
|
|
80
|
+
sh %{
|
|
81
|
+
nibtool -d #{lproj}/nib.strings -w #{t.name} English.lproj/#{target}
|
|
82
|
+
}
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# [Rubycocoa-devel 906] dynamically xcode rake tasks
|
|
86
|
+
# [Rubycocoa-devel 907]
|
|
87
|
+
#
|
|
88
|
+
def xcode_targets
|
|
89
|
+
out = %x{ xcodebuild -list }
|
|
90
|
+
out.scan(/.*Targets:\s+(.*)Build Configurations:.*/m)
|
|
91
|
+
|
|
92
|
+
targets = []
|
|
93
|
+
$1.each_line do |l|
|
|
94
|
+
l = l.strip.sub(' (Active)', '')
|
|
95
|
+
targets << l unless l.nil? or l.empty?
|
|
96
|
+
end
|
|
97
|
+
targets
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def xcode_configurations
|
|
101
|
+
out = %x{ xcodebuild -list }
|
|
102
|
+
out.scan(/.*Build Configurations:\s+(.*)If no build configuration.*/m)
|
|
103
|
+
|
|
104
|
+
configurations = []
|
|
105
|
+
$1.each_line do |l|
|
|
106
|
+
l = l.strip.sub(' (Active)', '')
|
|
107
|
+
configurations << l unless l.nil? or l.empty?
|
|
108
|
+
end
|
|
109
|
+
configurations
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
namespace :xcode do
|
|
113
|
+
targets = xcode_targets
|
|
114
|
+
configs = xcode_configurations
|
|
115
|
+
|
|
116
|
+
%w{build clean}.each do |action|
|
|
117
|
+
namespace "#{action}" do
|
|
118
|
+
|
|
119
|
+
targets.each do |target|
|
|
120
|
+
desc "#{action} #{target}"
|
|
121
|
+
task "#{target}" do |t|
|
|
122
|
+
puts %x{ xcodebuild -target '#{target}' #{action} }
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# alias the task above using a massaged name
|
|
126
|
+
massaged_target = target.downcase.gsub(/[\s*|\-]/, '_')
|
|
127
|
+
task "#{massaged_target}" => "xcode:#{action}:#{target}"
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
namespace "#{target}" do
|
|
131
|
+
configs.each do |config|
|
|
132
|
+
desc "#{action} #{target} #{config}"
|
|
133
|
+
task "#{config}" do |t|
|
|
134
|
+
puts %x{ xcodebuild -target '#{target}' -configuration '#{config}' #{action} }
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# namespace+task aliases of the above using massaged names
|
|
140
|
+
namespace "#{massaged_target}" do
|
|
141
|
+
configs.each { |conf| task "#{conf.downcase.gsub(/[\s*|\-]/, '_')}" => "xcode:#{action}:#{target}:#{conf}" }
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
if ["update", "add", "create"].include? ARGV[0]
|
|
152
|
+
# dupe rake
|
|
153
|
+
ARGV.map! {|a| a.sub(/^\+/, "-") }
|
|
154
|
+
Rake.application[ARGV[0].to_sym].invoke
|
|
155
|
+
exit # will not reach
|
|
156
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
class ApplicationController < Rucola::RCController
|
|
2
|
+
ib_outlet :main_window
|
|
3
|
+
|
|
4
|
+
def awakeFromNib
|
|
5
|
+
# All the application delegate methods will be called on this object.
|
|
6
|
+
OSX::NSApp.delegate = self
|
|
7
|
+
|
|
8
|
+
puts "ApplicationController awoke."
|
|
9
|
+
puts "Edit: app/controllers/application_controller.rb"
|
|
10
|
+
puts "\nIt's window is: #{@main_window.inspect}"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# NSApplication delegate methods
|
|
14
|
+
def applicationDidFinishLaunching(notification)
|
|
15
|
+
puts "\nApplication finished launching."
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def applicationWillTerminate(notification)
|
|
19
|
+
puts "\nApplication will terminate."
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>English</string>
|
|
7
|
+
<key>CFBundleExecutable</key>
|
|
8
|
+
<string><%= name %></string>
|
|
9
|
+
<key>CFBundleIconFile</key>
|
|
10
|
+
<string></string>
|
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
12
|
+
<string>6.0</string>
|
|
13
|
+
<key>CFBundlePackageType</key>
|
|
14
|
+
<string>APPL</string>
|
|
15
|
+
<key>CFBundleSignature</key>
|
|
16
|
+
<string>????</string>
|
|
17
|
+
<key>CFBundleVersion</key>
|
|
18
|
+
<string>1.0</string>
|
|
19
|
+
<key>NSMainNibFile</key>
|
|
20
|
+
<string>MainMenu</string>
|
|
21
|
+
<key>NSPrincipalClass</key>
|
|
22
|
+
<string>NSApplication</string>
|
|
23
|
+
<key>CFBundleIdentifier</key>
|
|
24
|
+
<string>com.apple.rubycocoa.<%= name %>App</string>
|
|
25
|
+
<key>CFBundleShortVersionString</key>
|
|
26
|
+
<string>1.0</string>
|
|
27
|
+
</dict>
|
|
28
|
+
</plist>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Rucola::Initializer.run do |config|
|
|
2
|
+
# Settings specified in environment/release.rb and environment/debug.rb take precident
|
|
3
|
+
# over these settings.
|
|
4
|
+
#
|
|
5
|
+
# Load any custom Objective-C frameworks
|
|
6
|
+
# config.objc_frameworks = %w(webkit quartz iokit)
|
|
7
|
+
#
|
|
8
|
+
# Use active_record bindings
|
|
9
|
+
# config.use_active_record = true
|
|
10
|
+
#
|
|
11
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Interface Builder Class Definitions
|
|
2
|
+
#
|
|
3
|
+
# Interface Builder doesn't detect your custom classes by default.
|
|
4
|
+
# Identify class heirarchies here and make sure you run `rake ib:update`
|
|
5
|
+
# to notice the changes in Interface Builder.
|
|
6
|
+
#
|
|
7
|
+
# NSObject:
|
|
8
|
+
# - MyController
|
|
9
|
+
# - MyOtherController
|
|
10
|
+
# NSWindowController:
|
|
11
|
+
# - SomeWindowController:
|
|
12
|
+
# - SomeOtherController
|
|
13
|
+
#
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>IBClasses</key>
|
|
6
|
+
<array>
|
|
7
|
+
<dict>
|
|
8
|
+
<key>CLASS</key>
|
|
9
|
+
<string>FirstResponder</string>
|
|
10
|
+
<key>LANGUAGE</key>
|
|
11
|
+
<string>ObjC</string>
|
|
12
|
+
<key>SUPERCLASS</key>
|
|
13
|
+
<string>NSObject</string>
|
|
14
|
+
</dict>
|
|
15
|
+
<dict>
|
|
16
|
+
<key>CLASS</key>
|
|
17
|
+
<string>ApplicationController</string>
|
|
18
|
+
<key>LANGUAGE</key>
|
|
19
|
+
<string>ObjC</string>
|
|
20
|
+
<key>OUTLETS</key>
|
|
21
|
+
<dict>
|
|
22
|
+
<key>main_window</key>
|
|
23
|
+
<string>id</string>
|
|
24
|
+
</dict>
|
|
25
|
+
<key>SUPERCLASS</key>
|
|
26
|
+
<string>RCController</string>
|
|
27
|
+
</dict>
|
|
28
|
+
<dict>
|
|
29
|
+
<key>CLASS</key>
|
|
30
|
+
<string>RCController</string>
|
|
31
|
+
<key>LANGUAGE</key>
|
|
32
|
+
<string>ObjC</string>
|
|
33
|
+
<key>SUPERCLASS</key>
|
|
34
|
+
<string>NSObject</string>
|
|
35
|
+
</dict>
|
|
36
|
+
</array>
|
|
37
|
+
<key>IBVersion</key>
|
|
38
|
+
<string>1</string>
|
|
39
|
+
</dict>
|
|
40
|
+
</plist>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>IBFramework Version</key>
|
|
6
|
+
<string>629</string>
|
|
7
|
+
<key>IBOldestOS</key>
|
|
8
|
+
<integer>5</integer>
|
|
9
|
+
<key>IBOpenObjects</key>
|
|
10
|
+
<array>
|
|
11
|
+
<integer>21</integer>
|
|
12
|
+
</array>
|
|
13
|
+
<key>IBSystem Version</key>
|
|
14
|
+
<string>9A581</string>
|
|
15
|
+
<key>targetFramework</key>
|
|
16
|
+
<string>IBCocoaFramework</string>
|
|
17
|
+
</dict>
|
|
18
|
+
</plist>
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// main.m
|
|
3
|
+
// <%= name %>
|
|
4
|
+
//
|
|
5
|
+
// Created by <%= author %> on <%= Date.today.to_s(:db) %>.
|
|
6
|
+
// Copyright (c) 2007 <%= author %>. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Cocoa/Cocoa.h>
|
|
10
|
+
#import <RubyCocoa/RBRuntime.h>
|
|
11
|
+
|
|
12
|
+
int main(int argc, const char *argv[])
|
|
13
|
+
{
|
|
14
|
+
return RBApplicationMain("rb_main.rb", argc, argv);
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#
|
|
2
|
+
# rb_main.rb
|
|
3
|
+
# <%= name %>
|
|
4
|
+
#
|
|
5
|
+
# Created by <%= author %> on <%= Date.today.to_s(:db) %>.
|
|
6
|
+
# Copyright (c) 2007 <%= author %>. All rights reserved.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'rubygems'
|
|
10
|
+
require 'rucola'
|
|
11
|
+
|
|
12
|
+
# Start the application
|
|
13
|
+
Rucola::Initializer.boot
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
// !$*UTF8*$!
|
|
2
|
+
{
|
|
3
|
+
archiveVersion = 1;
|
|
4
|
+
classes = {
|
|
5
|
+
};
|
|
6
|
+
objectVersion = 42;
|
|
7
|
+
objects = {
|
|
8
|
+
|
|
9
|
+
/* Begin PBXBuildFile section */
|
|
10
|
+
4DDCA7070ACC9A6100E082CE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
|
11
|
+
4DDCA7080ACC9A6100E082CE /* rb_main.rb in Resources */ = {isa = PBXBuildFile; fileRef = E8F5E25803AEB7C803A81C6F /* rb_main.rb */; };
|
|
12
|
+
4DDCA70A0ACC9A6100E082CE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
|
13
|
+
4DDCA70C0ACC9A6100E082CE /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
|
14
|
+
4DDCA70D0ACC9A6100E082CE /* RubyCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E8F5E24E03AEB6EC03A81C6F /* RubyCocoa.framework */; };
|
|
15
|
+
514292CE0CC66CDC00F9CEEF /* app in Resources */ = {isa = PBXBuildFile; fileRef = 514292B90CC66CDC00F9CEEF /* app */; };
|
|
16
|
+
514292CF0CC66CDC00F9CEEF /* config in Resources */ = {isa = PBXBuildFile; fileRef = 514292C10CC66CDC00F9CEEF /* config */; };
|
|
17
|
+
514292D00CC66CDC00F9CEEF /* misc in Resources */ = {isa = PBXBuildFile; fileRef = 514292C40CC66CDC00F9CEEF /* misc */; };
|
|
18
|
+
514292D10CC66CDC00F9CEEF /* test in Resources */ = {isa = PBXBuildFile; fileRef = 514292CA0CC66CDC00F9CEEF /* test */; };
|
|
19
|
+
514292D20CC66CDC00F9CEEF /* vendor in Resources */ = {isa = PBXBuildFile; fileRef = 514292CC0CC66CDC00F9CEEF /* vendor */; };
|
|
20
|
+
514292EF0CC6823A00F9CEEF /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 514292ED0CC6823A00F9CEEF /* MainMenu.nib */; };
|
|
21
|
+
/* End PBXBuildFile section */
|
|
22
|
+
|
|
23
|
+
/* Begin PBXFileReference section */
|
|
24
|
+
089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = misc/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
|
25
|
+
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
|
26
|
+
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = main.m; path = misc/main.m; sourceTree = "<group>"; };
|
|
27
|
+
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
|
28
|
+
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
|
29
|
+
4DDCA7110ACC9A6100E082CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = Info.plist; path = config/Info.plist; sourceTree = "<group>"; };
|
|
30
|
+
4DDCA7120ACC9A6100E082CE /* <%= name %>.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = <%= name %>.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
31
|
+
514292B90CC66CDC00F9CEEF /* app */ = {isa = PBXFileReference; lastKnownFileType = folder; path = app; sourceTree = "<group>"; };
|
|
32
|
+
514292C10CC66CDC00F9CEEF /* config */ = {isa = PBXFileReference; lastKnownFileType = folder; path = config; sourceTree = "<group>"; };
|
|
33
|
+
514292C40CC66CDC00F9CEEF /* misc */ = {isa = PBXFileReference; lastKnownFileType = folder; path = misc; sourceTree = "<group>"; };
|
|
34
|
+
514292CA0CC66CDC00F9CEEF /* test */ = {isa = PBXFileReference; lastKnownFileType = folder; path = test; sourceTree = "<group>"; };
|
|
35
|
+
514292CC0CC66CDC00F9CEEF /* vendor */ = {isa = PBXFileReference; lastKnownFileType = folder; path = vendor; sourceTree = "<group>"; };
|
|
36
|
+
514292EE0CC6823A00F9CEEF /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = misc/English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
|
37
|
+
E8F5E24E03AEB6EC03A81C6F /* RubyCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RubyCocoa.framework; path = /Library/Frameworks/RubyCocoa.framework; sourceTree = "<absolute>"; };
|
|
38
|
+
E8F5E25803AEB7C803A81C6F /* rb_main.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; name = rb_main.rb; path = misc/rb_main.rb; sourceTree = "<group>"; };
|
|
39
|
+
/* End PBXFileReference section */
|
|
40
|
+
|
|
41
|
+
/* Begin PBXFrameworksBuildPhase section */
|
|
42
|
+
4DDCA70B0ACC9A6100E082CE /* Frameworks */ = {
|
|
43
|
+
isa = PBXFrameworksBuildPhase;
|
|
44
|
+
buildActionMask = 2147483647;
|
|
45
|
+
files = (
|
|
46
|
+
4DDCA70C0ACC9A6100E082CE /* Cocoa.framework in Frameworks */,
|
|
47
|
+
4DDCA70D0ACC9A6100E082CE /* RubyCocoa.framework in Frameworks */,
|
|
48
|
+
);
|
|
49
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
50
|
+
};
|
|
51
|
+
/* End PBXFrameworksBuildPhase section */
|
|
52
|
+
|
|
53
|
+
/* Begin PBXGroup section */
|
|
54
|
+
080E96DDFE201D6D7F000001 /* Classes */ = {
|
|
55
|
+
isa = PBXGroup;
|
|
56
|
+
children = (
|
|
57
|
+
);
|
|
58
|
+
name = Classes;
|
|
59
|
+
sourceTree = "<group>";
|
|
60
|
+
};
|
|
61
|
+
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
|
62
|
+
isa = PBXGroup;
|
|
63
|
+
children = (
|
|
64
|
+
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
|
65
|
+
E8F5E24E03AEB6EC03A81C6F /* RubyCocoa.framework */,
|
|
66
|
+
);
|
|
67
|
+
name = "Linked Frameworks";
|
|
68
|
+
sourceTree = "<group>";
|
|
69
|
+
};
|
|
70
|
+
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
|
71
|
+
isa = PBXGroup;
|
|
72
|
+
children = (
|
|
73
|
+
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
|
74
|
+
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
|
75
|
+
);
|
|
76
|
+
name = "Other Frameworks";
|
|
77
|
+
sourceTree = "<group>";
|
|
78
|
+
};
|
|
79
|
+
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
|
80
|
+
isa = PBXGroup;
|
|
81
|
+
children = (
|
|
82
|
+
4DDCA7120ACC9A6100E082CE /* <%= name %>.app */,
|
|
83
|
+
);
|
|
84
|
+
name = Products;
|
|
85
|
+
sourceTree = "<group>";
|
|
86
|
+
};
|
|
87
|
+
29B97314FDCFA39411CA2CEA /* <%= name %> */ = {
|
|
88
|
+
isa = PBXGroup;
|
|
89
|
+
children = (
|
|
90
|
+
080E96DDFE201D6D7F000001 /* Classes */,
|
|
91
|
+
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
|
92
|
+
29B97317FDCFA39411CA2CEA /* Resources */,
|
|
93
|
+
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
|
94
|
+
19C28FACFE9D520D11CA2CBB /* Products */,
|
|
95
|
+
4DDCA7110ACC9A6100E082CE /* Info.plist */,
|
|
96
|
+
);
|
|
97
|
+
name = <%= name %>;
|
|
98
|
+
sourceTree = "<group>";
|
|
99
|
+
};
|
|
100
|
+
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
|
101
|
+
isa = PBXGroup;
|
|
102
|
+
children = (
|
|
103
|
+
29B97316FDCFA39411CA2CEA /* main.m */,
|
|
104
|
+
514292ED0CC6823A00F9CEEF /* MainMenu.nib */,
|
|
105
|
+
E8F5E25803AEB7C803A81C6F /* rb_main.rb */,
|
|
106
|
+
);
|
|
107
|
+
name = "Other Sources";
|
|
108
|
+
sourceTree = "<group>";
|
|
109
|
+
};
|
|
110
|
+
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
|
111
|
+
isa = PBXGroup;
|
|
112
|
+
children = (
|
|
113
|
+
514292B90CC66CDC00F9CEEF /* app */,
|
|
114
|
+
514292C10CC66CDC00F9CEEF /* config */,
|
|
115
|
+
514292C40CC66CDC00F9CEEF /* misc */,
|
|
116
|
+
514292CA0CC66CDC00F9CEEF /* test */,
|
|
117
|
+
514292CC0CC66CDC00F9CEEF /* vendor */,
|
|
118
|
+
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
|
119
|
+
);
|
|
120
|
+
name = Resources;
|
|
121
|
+
sourceTree = "<group>";
|
|
122
|
+
};
|
|
123
|
+
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
|
124
|
+
isa = PBXGroup;
|
|
125
|
+
children = (
|
|
126
|
+
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
|
127
|
+
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
|
128
|
+
);
|
|
129
|
+
name = Frameworks;
|
|
130
|
+
sourceTree = "<group>";
|
|
131
|
+
};
|
|
132
|
+
/* End PBXGroup section */
|
|
133
|
+
|
|
134
|
+
/* Begin PBXHeadersBuildPhase section */
|
|
135
|
+
4DDCA7040ACC9A6100E082CE /* Headers */ = {
|
|
136
|
+
isa = PBXHeadersBuildPhase;
|
|
137
|
+
buildActionMask = 2147483647;
|
|
138
|
+
files = (
|
|
139
|
+
);
|
|
140
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
141
|
+
};
|
|
142
|
+
/* End PBXHeadersBuildPhase section */
|
|
143
|
+
|
|
144
|
+
/* Begin PBXNativeTarget section */
|
|
145
|
+
4DDCA7030ACC9A6100E082CE /* <%= name %> */ = {
|
|
146
|
+
isa = PBXNativeTarget;
|
|
147
|
+
buildConfigurationList = 4DDCA70E0ACC9A6100E082CE /* Build configuration list for PBXNativeTarget "<%= name %>" */;
|
|
148
|
+
buildPhases = (
|
|
149
|
+
4DDCA7040ACC9A6100E082CE /* Headers */,
|
|
150
|
+
4DDCA7050ACC9A6100E082CE /* Resources */,
|
|
151
|
+
4DDCA7090ACC9A6100E082CE /* Sources */,
|
|
152
|
+
4DDCA70B0ACC9A6100E082CE /* Frameworks */,
|
|
153
|
+
);
|
|
154
|
+
buildRules = (
|
|
155
|
+
);
|
|
156
|
+
dependencies = (
|
|
157
|
+
);
|
|
158
|
+
name = <%= name %>;
|
|
159
|
+
productInstallPath = "$(HOME)/Applications";
|
|
160
|
+
productName = <%= name %>;
|
|
161
|
+
productReference = 4DDCA7120ACC9A6100E082CE /* <%= name %>.app */;
|
|
162
|
+
productType = "com.apple.product-type.application";
|
|
163
|
+
};
|
|
164
|
+
/* End PBXNativeTarget section */
|
|
165
|
+
|
|
166
|
+
/* Begin PBXProject section */
|
|
167
|
+
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
|
168
|
+
isa = PBXProject;
|
|
169
|
+
buildConfigurationList = 4D7A7B570ABF745500C2D4C0 /* Build configuration list for PBXProject "<%= name %>" */;
|
|
170
|
+
hasScannedForEncodings = 0;
|
|
171
|
+
mainGroup = 29B97314FDCFA39411CA2CEA /* <%= name %> */;
|
|
172
|
+
projectDirPath = "";
|
|
173
|
+
projectRoot = "";
|
|
174
|
+
targets = (
|
|
175
|
+
4DDCA7030ACC9A6100E082CE /* <%= name %> */,
|
|
176
|
+
);
|
|
177
|
+
};
|
|
178
|
+
/* End PBXProject section */
|
|
179
|
+
|
|
180
|
+
/* Begin PBXResourcesBuildPhase section */
|
|
181
|
+
4DDCA7050ACC9A6100E082CE /* Resources */ = {
|
|
182
|
+
isa = PBXResourcesBuildPhase;
|
|
183
|
+
buildActionMask = 2147483647;
|
|
184
|
+
files = (
|
|
185
|
+
4DDCA7070ACC9A6100E082CE /* InfoPlist.strings in Resources */,
|
|
186
|
+
4DDCA7080ACC9A6100E082CE /* rb_main.rb in Resources */,
|
|
187
|
+
514292CE0CC66CDC00F9CEEF /* app in Resources */,
|
|
188
|
+
514292CF0CC66CDC00F9CEEF /* config in Resources */,
|
|
189
|
+
514292D00CC66CDC00F9CEEF /* misc in Resources */,
|
|
190
|
+
514292D10CC66CDC00F9CEEF /* test in Resources */,
|
|
191
|
+
514292D20CC66CDC00F9CEEF /* vendor in Resources */,
|
|
192
|
+
514292EF0CC6823A00F9CEEF /* MainMenu.nib in Resources */,
|
|
193
|
+
);
|
|
194
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
195
|
+
};
|
|
196
|
+
/* End PBXResourcesBuildPhase section */
|
|
197
|
+
|
|
198
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
199
|
+
4DDCA7090ACC9A6100E082CE /* Sources */ = {
|
|
200
|
+
isa = PBXSourcesBuildPhase;
|
|
201
|
+
buildActionMask = 2147483647;
|
|
202
|
+
files = (
|
|
203
|
+
4DDCA70A0ACC9A6100E082CE /* main.m in Sources */,
|
|
204
|
+
);
|
|
205
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
206
|
+
};
|
|
207
|
+
/* End PBXSourcesBuildPhase section */
|
|
208
|
+
|
|
209
|
+
/* Begin PBXVariantGroup section */
|
|
210
|
+
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
|
211
|
+
isa = PBXVariantGroup;
|
|
212
|
+
children = (
|
|
213
|
+
089C165DFE840E0CC02AAC07 /* InfoPlist.strings */,
|
|
214
|
+
);
|
|
215
|
+
name = InfoPlist.strings;
|
|
216
|
+
sourceTree = "<group>";
|
|
217
|
+
};
|
|
218
|
+
514292ED0CC6823A00F9CEEF /* MainMenu.nib */ = {
|
|
219
|
+
isa = PBXVariantGroup;
|
|
220
|
+
children = (
|
|
221
|
+
514292EE0CC6823A00F9CEEF /* English */,
|
|
222
|
+
);
|
|
223
|
+
name = MainMenu.nib;
|
|
224
|
+
sourceTree = "<group>";
|
|
225
|
+
};
|
|
226
|
+
/* End PBXVariantGroup section */
|
|
227
|
+
|
|
228
|
+
/* Begin XCBuildConfiguration section */
|
|
229
|
+
4D7A7B580ABF745500C2D4C0 /* Debug */ = {
|
|
230
|
+
isa = XCBuildConfiguration;
|
|
231
|
+
buildSettings = {
|
|
232
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
233
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
234
|
+
PREBINDING = NO;
|
|
235
|
+
};
|
|
236
|
+
name = Debug;
|
|
237
|
+
};
|
|
238
|
+
4D7A7B590ABF745500C2D4C0 /* Release */ = {
|
|
239
|
+
isa = XCBuildConfiguration;
|
|
240
|
+
buildSettings = {
|
|
241
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
242
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
243
|
+
PREBINDING = NO;
|
|
244
|
+
};
|
|
245
|
+
name = Release;
|
|
246
|
+
};
|
|
247
|
+
4DDCA70F0ACC9A6100E082CE /* Debug */ = {
|
|
248
|
+
isa = XCBuildConfiguration;
|
|
249
|
+
buildSettings = {
|
|
250
|
+
COPY_PHASE_STRIP = NO;
|
|
251
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
|
252
|
+
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
|
253
|
+
GCC_MODEL_TUNING = G5;
|
|
254
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
|
255
|
+
INFOPLIST_FILE = Info.plist;
|
|
256
|
+
INSTALL_PATH = "$(HOME)/Applications";
|
|
257
|
+
PRODUCT_NAME = <%= name %>;
|
|
258
|
+
WRAPPER_EXTENSION = app;
|
|
259
|
+
ZERO_LINK = YES;
|
|
260
|
+
};
|
|
261
|
+
name = Debug;
|
|
262
|
+
};
|
|
263
|
+
4DDCA7100ACC9A6100E082CE /* Release */ = {
|
|
264
|
+
isa = XCBuildConfiguration;
|
|
265
|
+
buildSettings = {
|
|
266
|
+
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
|
267
|
+
GCC_MODEL_TUNING = G5;
|
|
268
|
+
INFOPLIST_FILE = Info.plist;
|
|
269
|
+
INSTALL_PATH = "$(HOME)/Applications";
|
|
270
|
+
PRODUCT_NAME = <%= name %>;
|
|
271
|
+
WRAPPER_EXTENSION = app;
|
|
272
|
+
};
|
|
273
|
+
name = Release;
|
|
274
|
+
};
|
|
275
|
+
/* End XCBuildConfiguration section */
|
|
276
|
+
|
|
277
|
+
/* Begin XCConfigurationList section */
|
|
278
|
+
4D7A7B570ABF745500C2D4C0 /* Build configuration list for PBXProject "<%= name %>" */ = {
|
|
279
|
+
isa = XCConfigurationList;
|
|
280
|
+
buildConfigurations = (
|
|
281
|
+
4D7A7B580ABF745500C2D4C0 /* Debug */,
|
|
282
|
+
4D7A7B590ABF745500C2D4C0 /* Release */,
|
|
283
|
+
);
|
|
284
|
+
defaultConfigurationIsVisible = 0;
|
|
285
|
+
defaultConfigurationName = Release;
|
|
286
|
+
};
|
|
287
|
+
4DDCA70E0ACC9A6100E082CE /* Build configuration list for PBXNativeTarget "<%= name %>" */ = {
|
|
288
|
+
isa = XCConfigurationList;
|
|
289
|
+
buildConfigurations = (
|
|
290
|
+
4DDCA70F0ACC9A6100E082CE /* Debug */,
|
|
291
|
+
4DDCA7100ACC9A6100E082CE /* Release */,
|
|
292
|
+
);
|
|
293
|
+
defaultConfigurationIsVisible = 0;
|
|
294
|
+
defaultConfigurationName = Release;
|
|
295
|
+
};
|
|
296
|
+
/* End XCConfigurationList section */
|
|
297
|
+
};
|
|
298
|
+
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
|
299
|
+
}
|