lesspainful 0.0.2 → 0.0.3
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/Gemfile.lock +21 -0
- data/bin/lesspainful +48 -5
- data/lesspainful.gemspec +1 -0
- data/lib/{GemfileTemplate → GemfileAndroid} +0 -0
- data/lib/GemfileIOS +3 -0
- data/lib/version.rb +1 -1
- metadata +22 -4
data/Gemfile.lock
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
lesspainful (0.0.2)
|
5
|
+
bundler (~> 1.2)
|
6
|
+
json
|
7
|
+
rest-client
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: http://rubygems.org/
|
11
|
+
specs:
|
12
|
+
json (1.7.5)
|
13
|
+
mime-types (1.19)
|
14
|
+
rest-client (1.6.7)
|
15
|
+
mime-types (>= 1.16)
|
16
|
+
|
17
|
+
PLATFORMS
|
18
|
+
ruby
|
19
|
+
|
20
|
+
DEPENDENCIES
|
21
|
+
lesspainful!
|
data/bin/lesspainful
CHANGED
@@ -2,9 +2,10 @@
|
|
2
2
|
require 'digest'
|
3
3
|
require 'rest_client'
|
4
4
|
require 'json'
|
5
|
+
require 'rbconfig'
|
5
6
|
|
6
7
|
def host
|
7
|
-
ENV["
|
8
|
+
ENV["LP_HOST"] || "https://www.lesspainful.com"
|
8
9
|
end
|
9
10
|
|
10
11
|
def digest(file)
|
@@ -41,10 +42,10 @@ end
|
|
41
42
|
def all_files
|
42
43
|
files = Dir.glob("#{workspace}features/**/*")
|
43
44
|
files += Dir.glob("#{workspace}vendor/**/*")
|
44
|
-
files << "Gemfile"
|
45
45
|
if is_android?
|
46
46
|
files << test_server_path
|
47
47
|
end
|
48
|
+
files << "Gemfile"
|
48
49
|
files.find_all { |file_or_dir| File.file? file_or_dir }
|
49
50
|
end
|
50
51
|
|
@@ -53,10 +54,47 @@ def http_post(address, args)
|
|
53
54
|
response.body
|
54
55
|
end
|
55
56
|
|
57
|
+
def is_windows?
|
58
|
+
(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.log(message)
|
62
|
+
puts "#{Time.now } #{message}"
|
63
|
+
$stdout.flush
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.log_header(message)
|
67
|
+
if is_windows?
|
68
|
+
puts "\n### #{message} ###"
|
69
|
+
else
|
70
|
+
puts "\n\e[#{35}m### #{message} ###\e[0m"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
start_at = Time.now
|
75
|
+
|
76
|
+
log_header("Checking for Gemfile")
|
77
|
+
unless File.exist?("Gemfile")
|
78
|
+
log("Gemfile missing.")
|
79
|
+
if is_android?
|
80
|
+
log("Creating Gemfile for Android")
|
81
|
+
tgt = File.join(File.dirname(__FILE__),"..","lib","GemfileAndroid")
|
82
|
+
else
|
83
|
+
log("Creating Gemfile for iOS")
|
84
|
+
tgt = File.join(File.dirname(__FILE__),"..","lib","GemfileIOS")
|
85
|
+
end
|
86
|
+
FileUtils.cp(File.expand_path(tgt), "Gemfile")
|
87
|
+
end
|
88
|
+
|
89
|
+
log_header("Packaging")
|
90
|
+
raise "Bundler failed. Please check command: bundle package" unless system("bundle package")
|
91
|
+
|
92
|
+
log_header("Collecting files")
|
56
93
|
hashes = all_files.collect { |f| digest(f) }
|
57
94
|
hashes << digest(app)
|
58
95
|
|
59
|
-
|
96
|
+
|
97
|
+
log_header("Negotiating upload")
|
60
98
|
response = http_post("check_hash", {"hashes" => hashes})
|
61
99
|
|
62
100
|
cache_status = JSON.parse(response)
|
@@ -77,6 +115,11 @@ end
|
|
77
115
|
|
78
116
|
app_file = cache_status[digest(app)] ? digest(app) : File.new(app)
|
79
117
|
|
80
|
-
|
118
|
+
log_header("Uploading negotiated files")
|
81
119
|
response = http_post("upload", {"files" => files, "paths" => paths, "app" => app_file, "api_key" => api_key, "app_filename" => File.basename(app)})
|
82
|
-
|
120
|
+
|
121
|
+
end_at = Time.now
|
122
|
+
|
123
|
+
log_header("Done (took #{(end_at - start_at).round(1)}s)")
|
124
|
+
log response
|
125
|
+
|
data/lesspainful.gemspec
CHANGED
File without changes
|
data/lib/GemfileIOS
ADDED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lesspainful
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.2'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.2'
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: json
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,10 +69,12 @@ extensions: []
|
|
53
69
|
extra_rdoc_files: []
|
54
70
|
files:
|
55
71
|
- Gemfile
|
72
|
+
- Gemfile.lock
|
56
73
|
- Rakefile
|
57
74
|
- bin/lesspainful
|
58
75
|
- lesspainful.gemspec
|
59
|
-
- lib/
|
76
|
+
- lib/GemfileAndroid
|
77
|
+
- lib/GemfileIOS
|
60
78
|
- lib/version.rb
|
61
79
|
homepage: http://www.lesspainful.com
|
62
80
|
licenses: []
|
@@ -78,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
96
|
version: '0'
|
79
97
|
requirements: []
|
80
98
|
rubyforge_project:
|
81
|
-
rubygems_version: 1.8.
|
99
|
+
rubygems_version: 1.8.23
|
82
100
|
signing_key:
|
83
101
|
specification_version: 3
|
84
102
|
summary: Client for uploading calabash test to www.lesspainful.com
|