go4rake 1.5.6 → 1.5.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/go4rake/new.rb +26 -13
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '029845c95d728b7ba040be28eeae6dc761e1aaca0410fc9ce64e42a18bdc8d38'
|
4
|
+
data.tar.gz: 45f524f451459ef570ab83a479b2760b50e775e3e77e2123045be2928d3ba543
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fd85f9dcc4ad561c5c9747fa5e6d4f3baafdf95c2dace93ad81b3cfd68045bccbf2259090e0a341a5a89d2fdbf72a52ae5a61dbb488d444e967f1e0aa5c8a58
|
7
|
+
data.tar.gz: 020da2972138e0312e4cfdeef7071eaf61fe3db2c1f51fee217c48cdfaef1e25ee261b817b828145022f6cc131d12535e052ef00e22c66a0330e7c79759228a0
|
data/lib/go4rake/new.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require 'rake/tasklib'
|
4
4
|
require 'yaml'
|
5
|
-
require 'zip'
|
6
5
|
require 'zip/filesystem'
|
7
6
|
|
8
7
|
# Rake tasks to cross-compile Go project and ZIP the binaries:
|
@@ -20,9 +19,11 @@ class Go4Rake < ::Rake::TaskLib
|
|
20
19
|
# Load configuration file and initialize Rake tasks for cross-compiling Go programs.
|
21
20
|
def initialize(yml = 'go4rake.yml')
|
22
21
|
begin
|
23
|
-
@
|
22
|
+
@yaml_file = yml
|
23
|
+
@config = YAML.load_file(@yaml_file)
|
24
24
|
@config['out'] ||= '~/Downloads' # Default to ~/Downloads, if 'out' is not specified.
|
25
|
-
|
25
|
+
|
26
|
+
init_tasks
|
26
27
|
rescue(Errno::ENOENT) => e
|
27
28
|
warn "WARNING: Skipping `build` and `zip` tasks: #{e}"
|
28
29
|
end
|
@@ -30,11 +31,19 @@ class Go4Rake < ::Rake::TaskLib
|
|
30
31
|
task_test
|
31
32
|
end
|
32
33
|
|
34
|
+
private
|
35
|
+
|
36
|
+
def init_tasks
|
37
|
+
task_build
|
38
|
+
task_zip
|
39
|
+
task_clean
|
40
|
+
end
|
41
|
+
|
33
42
|
# Initialize `build`, `zip` and `clean` tasks.
|
34
|
-
def
|
35
|
-
desc "Build this project for the platforms in #{
|
43
|
+
def task_build
|
44
|
+
desc "Build this project for the platforms in #{@yaml_file}"
|
36
45
|
task :build do
|
37
|
-
|
46
|
+
@config['platforms'].each { |os|
|
38
47
|
if os['arch'].respond_to?('each')
|
39
48
|
os['arch'].each { |arch|
|
40
49
|
build(os['name'], arch)
|
@@ -44,31 +53,35 @@ class Go4Rake < ::Rake::TaskLib
|
|
44
53
|
end
|
45
54
|
}
|
46
55
|
end
|
56
|
+
end
|
47
57
|
|
58
|
+
def task_zip
|
48
59
|
desc 'ZIP this project binaries'
|
49
|
-
task zip: %i[build test]
|
50
|
-
|
60
|
+
task zip: %i[build test] do
|
61
|
+
@config['platforms'].each { |os|
|
51
62
|
if os['arch'].respond_to?('each')
|
52
63
|
os['arch'].each { |arch|
|
53
|
-
zip(os['name'], arch,
|
64
|
+
zip(os['name'], arch, @config['out'], @config['files'],
|
54
65
|
os['zip'] ? "#{os['zip']}_#{arch}" : "#{os['name']}_#{arch}")
|
55
66
|
}
|
56
67
|
else
|
57
|
-
zip(os['name'], os['arch'],
|
68
|
+
zip(os['name'], os['arch'], @config['out'], @config['files'],
|
58
69
|
os['zip'] || "#{os['name']}_#{os['arch']}")
|
59
70
|
end
|
60
71
|
}
|
61
72
|
end
|
73
|
+
end
|
62
74
|
|
75
|
+
def task_clean
|
63
76
|
desc 'Delete ZIP files'
|
64
77
|
task :clean do
|
65
|
-
|
78
|
+
@config['platforms'].each { |os|
|
66
79
|
if os['arch'].respond_to?('each')
|
67
80
|
os['arch'].each { |arch|
|
68
|
-
clean(
|
81
|
+
clean(@config['out'], os['zip'] ? "#{os['zip']}_#{arch}" : "#{os['name']}_#{arch}")
|
69
82
|
}
|
70
83
|
else
|
71
|
-
clean(
|
84
|
+
clean(@config['out'], os['zip'] || "#{os['name']}_#{os['arch']}")
|
72
85
|
end
|
73
86
|
}
|
74
87
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: go4rake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vasily Korytov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '2.0'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '2.0'
|
47
47
|
description: "`build`, `zip, `test`` and `clean` tasks for cross-compilation of Go
|
48
48
|
programs"
|
49
49
|
email: v.korytov@outlook.com
|
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
requirements: []
|
78
|
-
rubygems_version: 3.
|
78
|
+
rubygems_version: 3.1.2
|
79
79
|
signing_key:
|
80
80
|
specification_version: 4
|
81
81
|
summary: Rake helper for cross-compiling Go programs
|