xcoderake 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/lib/xcoderake.rb +32 -18
- metadata +18 -23
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 0.1.3 2010-10-05
|
2
|
+
* 1 major enhancement:
|
3
|
+
* Support for specifying -git in dependency list to softlink to ../ProjectName instead of fetching from scp
|
4
|
+
* 1 minor enhancement:
|
5
|
+
* Now deletes the temporary folder after uploading it
|
6
|
+
|
1
7
|
=== 0.1.2 2010-05-07
|
2
8
|
* 1 minor enhancement:
|
3
9
|
* More descriptive output for 'list' target (display remote dependencies)
|
data/lib/xcoderake.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__)) unless
|
2
|
-
|
2
|
+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
3
|
|
4
4
|
module Xcoderake
|
5
5
|
VERSION = '0.1.1'
|
@@ -28,7 +28,7 @@ task :all =>[:clean,:deps, :deploy]
|
|
28
28
|
|
29
29
|
desc "Fetch dependencies for simulator"
|
30
30
|
task :deps =>[:clean,$dep_dir] do
|
31
|
-
|
31
|
+
|
32
32
|
if $dep_list.empty?
|
33
33
|
puts "No dependencies needed for #{$project_name}"
|
34
34
|
else
|
@@ -40,7 +40,7 @@ end
|
|
40
40
|
|
41
41
|
desc "Fetch dependencies for device"
|
42
42
|
task :deps_release =>[:clean,$dep_dir] do
|
43
|
-
|
43
|
+
|
44
44
|
$dep_list.each do |dir|
|
45
45
|
download_dependency dir,$release_iphoneos
|
46
46
|
end
|
@@ -80,17 +80,17 @@ task :release,[:version] do |t,args|
|
|
80
80
|
if system "ssh #{$server} test -d #{$remote_repository}/#{$project_name}-#{version}/#{$release_iphoneos}"
|
81
81
|
raise "There is already a version #{version} on #{$server}, please increment."
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
xcodebuild $project_name,"Release",$iphoneos_sdk
|
85
85
|
prepare_folder $project_name,$release_iphoneos,version
|
86
86
|
upload_dependency $project_name,$release_iphoneos, version
|
87
|
-
|
87
|
+
|
88
88
|
warning_deps = $dep_list.select {|item| item.include? "-SNAPSHOT"}
|
89
89
|
if not warning_deps.empty?
|
90
90
|
puts "WARNING! You're building a release version based on unstable dependencies:"
|
91
91
|
warning_deps.each {|dep| puts "----- "+dep}
|
92
92
|
end
|
93
|
-
|
93
|
+
|
94
94
|
puts "Release done!"
|
95
95
|
end
|
96
96
|
|
@@ -109,7 +109,7 @@ task :list do
|
|
109
109
|
list.each do |dir|
|
110
110
|
match_full = dir.match(/\/([a-z,A-Z]+)-(\S+)\/(\S+)-(\S+)/)
|
111
111
|
if $1!=nil
|
112
|
-
|
112
|
+
insert_into_deps($1,$2,"#{$3}-#{$4}")
|
113
113
|
else
|
114
114
|
match_no_target = dir.match(/\/([a-z,A-Z]+)-(\S+)\/(\S+)/)
|
115
115
|
if $1 != nil
|
@@ -136,7 +136,7 @@ end
|
|
136
136
|
|
137
137
|
def insert_into_deps(name,version,info)
|
138
138
|
if $deps[name] == nil
|
139
|
-
|
139
|
+
$deps[name] = Hash.new
|
140
140
|
end
|
141
141
|
if $deps[name][version] == nil
|
142
142
|
$deps[name][version] = Array.new
|
@@ -162,7 +162,7 @@ def prepare_folder project_name,target,version="SNAPSHOT"
|
|
162
162
|
puts "Creating package"
|
163
163
|
|
164
164
|
target = check_folder $build_folder,target
|
165
|
-
|
165
|
+
|
166
166
|
if File.directory? "#{project_name}-#{version}"
|
167
167
|
system "rm -rf #{project_name}-#{version}"
|
168
168
|
end
|
@@ -184,16 +184,29 @@ end
|
|
184
184
|
|
185
185
|
def download_dependency name,target
|
186
186
|
short_name = name.split("-")[0]
|
187
|
-
version = name.split("-")[1]
|
188
|
-
|
189
|
-
|
190
|
-
|
187
|
+
version = name.split("-")[1]
|
188
|
+
|
189
|
+
if version == "git"
|
190
|
+
begin
|
191
|
+
puts "Linking git dependency #{name} for #{target}"
|
192
|
+
system "ln -s ../../#{short_name}/build/#{target}/ ./#{$dep_dir}/#{short_name}"
|
193
|
+
rescue Exception => e
|
194
|
+
raise "Could not locate #{name} in .. Exception: #{e}"
|
191
195
|
end
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
196
|
+
|
197
|
+
else
|
198
|
+
|
199
|
+
begin
|
200
|
+
if ! system "ssh #{$server} test -d #{$remote_repository}/#{short_name}-#{version}/#{target}"
|
201
|
+
target="Debug"
|
202
|
+
end
|
203
|
+
puts "Fetching dependency #{name} for #{target}"
|
204
|
+
system "scp -qr #{$server}:#{$remote_repository}/#{short_name}-#{version}/#{target} #{$dep_dir}/#{short_name}"
|
205
|
+
rescue
|
206
|
+
raise "Unable to locate version #{version} of dependency #{short_name} for #{target}"
|
207
|
+
end
|
208
|
+
|
209
|
+
end
|
197
210
|
end
|
198
211
|
|
199
212
|
def upload_dependency name,target, version="SNAPSHOT"
|
@@ -204,6 +217,7 @@ def upload_dependency name,target, version="SNAPSHOT"
|
|
204
217
|
system "ssh #{$server} mkdir #{$remote_repository}/#{name}-#{version}"
|
205
218
|
end
|
206
219
|
system "scp -rq #{name}-#{version}/#{target} #{$server}:#{$remote_repository}/#{name}-#{version}/"
|
220
|
+
system "rm -rf #{name}-#{version}"
|
207
221
|
end
|
208
222
|
|
209
223
|
def get_version_to_use version
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcoderake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Christian Hedin
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-05
|
18
|
+
date: 2010-10-05 00:00:00 +02:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: rubyforge
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
27
30
|
segments:
|
28
31
|
- 2
|
29
32
|
- 0
|
@@ -31,34 +34,22 @@ dependencies:
|
|
31
34
|
version: 2.0.4
|
32
35
|
type: :development
|
33
36
|
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: gemcutter
|
36
|
-
prerelease: false
|
37
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 0
|
43
|
-
- 5
|
44
|
-
- 0
|
45
|
-
version: 0.5.0
|
46
|
-
type: :development
|
47
|
-
version_requirements: *id002
|
48
37
|
- !ruby/object:Gem::Dependency
|
49
38
|
name: hoe
|
50
39
|
prerelease: false
|
51
|
-
requirement: &
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
52
42
|
requirements:
|
53
43
|
- - ">="
|
54
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 21
|
55
46
|
segments:
|
56
47
|
- 2
|
57
|
-
-
|
58
|
-
-
|
59
|
-
version: 2.
|
48
|
+
- 6
|
49
|
+
- 1
|
50
|
+
version: 2.6.1
|
60
51
|
type: :development
|
61
|
-
version_requirements: *
|
52
|
+
version_requirements: *id002
|
62
53
|
description: Rake build script for XCode projects to handle dependencies.
|
63
54
|
email:
|
64
55
|
- christian.hedin@jayway.com
|
@@ -93,23 +84,27 @@ rdoc_options:
|
|
93
84
|
require_paths:
|
94
85
|
- lib
|
95
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
96
88
|
requirements:
|
97
89
|
- - ">="
|
98
90
|
- !ruby/object:Gem::Version
|
91
|
+
hash: 3
|
99
92
|
segments:
|
100
93
|
- 0
|
101
94
|
version: "0"
|
102
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
103
97
|
requirements:
|
104
98
|
- - ">="
|
105
99
|
- !ruby/object:Gem::Version
|
100
|
+
hash: 3
|
106
101
|
segments:
|
107
102
|
- 0
|
108
103
|
version: "0"
|
109
104
|
requirements: []
|
110
105
|
|
111
106
|
rubyforge_project: ciryon
|
112
|
-
rubygems_version: 1.3.
|
107
|
+
rubygems_version: 1.3.7
|
113
108
|
signing_key:
|
114
109
|
specification_version: 3
|
115
110
|
summary: Rake build script for XCode projects to handle dependencies.
|