xcoderake 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/History.txt +6 -0
  2. data/lib/xcoderake.rb +32 -18
  3. 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
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
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
- insert_into_deps($1,$2,"#{$3}-#{$4}")
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
- $deps[name] = Hash.new
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
- begin
189
- if ! system "ssh #{$server} test -d #{$remote_repository}/#{short_name}-#{version}/#{target}"
190
- target="Debug"
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
- puts "Fetching #{name} for #{target}"
193
- system "scp -qr #{$server}:#{$remote_repository}/#{short_name}-#{version}/#{target} #{$dep_dir}/#{short_name}"
194
- rescue
195
- raise "Unable to locate version #{version} of dependency #{short_name} for #{target}"
196
- end
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
- - 2
9
- version: 0.1.2
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-07 00:00:00 +02:00
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: &id003 !ruby/object:Gem::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
- - 5
58
- - 0
59
- version: 2.5.0
48
+ - 6
49
+ - 1
50
+ version: 2.6.1
60
51
  type: :development
61
- version_requirements: *id003
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.6
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.