go4rake 1.0.8 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f771ae426febcac53569eb33ee53a1d8b51292f
4
- data.tar.gz: 2b7d73848d395c4b9db4517b18f380c9b5bcea79
3
+ metadata.gz: 455f818a6f079a3cb892cb93380be91456695c3e
4
+ data.tar.gz: 5e9ced2f3f03c1be18d385bd94a6645e05807ffd
5
5
  SHA512:
6
- metadata.gz: 6a2d67a7044c63c2ee863a5f715e08a3806f710c1db140f1bdded1237cfe3fa348d538054c2d7e7327041808edf9794fcf63ddebe0fb326bc22a4221b476da40
7
- data.tar.gz: 2efc6c0329bf83a17c2162e42630e8fb42a3dc748e83c593d317f897686af1db869396114f10b90d6f57faacb8780f5c0609da3fd19885f417f72adf3efe71ce
6
+ metadata.gz: 1e0f1cb18d4c6edf2a8605d54becc82c3d1521df9978b3ae4f4c25d144f67e6963862f7e23e6d570d19ec5e87ff9204aab103417d4fe82c999492d241b2b5dfa
7
+ data.tar.gz: 880d0b31f8411a4a722d2bcd7b1117dd7c7fdc402db64d5ef59b18f5e4eade2a711b000b11f530edfaa3c123486933f8b310731a79481953c1063319ea72e318
data/NOTICE ADDED
@@ -0,0 +1,15 @@
1
+ go4rake: https://github.com/chillum/go4rake
2
+
3
+ Copyright 2014-2015 Vasily Korytov
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this software except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
data/README.md CHANGED
@@ -12,20 +12,13 @@ This gem provides the following tasks:
12
12
 
13
13
  The reason only the native runtime is supported in `test` is that `go test` for a different operating system does not work. That's a pity.
14
14
 
15
- Note: when used on Windows, ZIP files for Mac/Linux/Unix will contain
16
- incorrect permissions (after extracting them one needs to do `chmod +x
17
- executable_file`). Probably, that means, we need a different archiver
18
- on Windows (7-zip? Don't know).
19
-
20
15
  ### To install and use go4rake you need:
21
16
 
22
17
  * Go cross-compilation toolchain for all the platforms, you need.
23
18
  (Mac and [Homebrew](http://brew.sh/) users can run `brew install go --cross-compile-common`
24
19
  or `brew install go --cross-compile-all` for this, on other Unix and Windows you should
25
20
  [build Go from source](http://dave.cheney.net/2013/07/09/an-introduction-to-cross-compilation-with-go-1-1).)
26
- * [Info-ZIP](http://www.info-zip.org/Zip.html) `zip` binary in path
27
- (ships with MacOS X and most Unix systems).
28
- * Install [Ruby](https://www.ruby-lang.org). `rake` and `gem` come with it.
21
+ * Install [Ruby](https://www.ruby-lang.org). `gem` utility comes with it.
29
22
  * Install go4rake: `gem install go4rake`.
30
23
  * Enable go4rake in `Rakefile`: include `require 'go4rake'` in it (create the file, if missing).
31
24
  (Unix users can do: `echo "require 'go4rake'" >> Rakefile`.)
@@ -35,7 +28,7 @@ on Windows (7-zip? Don't know).
35
28
  ### Configuration
36
29
 
37
30
  `zip` and `build` tasks expect a YAML config, `go4rake.yml`. Say, we
38
- have [this config](https://github.com/chillum/httpstress-go/blob/master/go4rake.yml).
31
+ have [this config](https://github.com/chillum/go4rake/blob/master/examples/go4rake.yml).
39
32
 
40
33
  This way, you run `rake zip` and you get the following ZIP files
41
34
  containing the static binary builds in your `~/Downloads` directory:
@@ -54,6 +47,9 @@ For each platform:
54
47
 
55
48
  Please note that:
56
49
 
50
+ * ZIP files include a `NOTICE` file, if it's found in the project directory
57
51
  * If `out` is specified, ZIP files will appear in the specified
58
52
  directory; if not, they will be in current directory
53
+ * ZIP file permissions default to `0600`, this is due to
54
+ [bug in rubyzip](https://github.com/rubyzip/rubyzip/issues/204)
59
55
  * `arch` is appended to the file name if `arch` is a list
data/examples/go4rake.yml CHANGED
@@ -1,3 +1,6 @@
1
+ # go4rake config
2
+ # Public domain
3
+
1
4
  out: ~/Downloads
2
5
 
3
6
  platforms:
data/lib/go4rake.rb CHANGED
@@ -1,17 +1,3 @@
1
- # Copyright 2014 Vasily Korytov
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
1
  require_relative 'go4rake/new'
16
2
 
17
3
  Go4Rake.new
data/lib/go4rake/new.rb CHANGED
@@ -1,19 +1,7 @@
1
- # Copyright 2014 Vasily Korytov
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
1
  require 'rake/tasklib'
16
2
  require 'yaml'
3
+ require 'zip'
4
+ require 'zip/filesystem'
17
5
 
18
6
  # Rake tasks to cross-compile Go project and ZIP the binaries:
19
7
  # `rake build`, `rake test` and `rake zip`.
@@ -26,43 +14,51 @@ require 'yaml'
26
14
  #
27
15
  # Offline copies of README and example config are also included in this gem.
28
16
  class Go4Rake < ::Rake::TaskLib
29
- # Initialize Rake tasks for cross-compiling Go programs.
17
+ # Load configuration file and initialize Rake tasks for cross-compiling Go programs.
30
18
  def initialize(yml = 'go4rake.yml')
31
- # `build` and `zip` depend on config, `test` doesn't.
32
19
  begin
33
20
  @config = YAML.load_file(yml)
21
+ tasks(@config, yml)
22
+ rescue => e
23
+ $stderr.puts("WARNING: Skipping `build` and `zip` tasks: #{e}")
24
+ end
25
+ # `build` and `zip` depend on config, `test` doesn't.
26
+ task_test
27
+ end
34
28
 
35
- desc "Build this project for the platforms in #{yml}"
36
- task :build do
37
- @config['platforms'].each { |os|
38
- if os['arch'].respond_to?('each')
39
- os['arch'].each { |arch|
40
- build(os['name'], arch)
41
- }
42
- else
43
- build(os['name'], os['arch'])
44
- end
45
- }
46
- end
29
+ # Initialize `build` and `zip` tasks.
30
+ def tasks(cfg, yml)
31
+ desc "Build this project for the platforms in #{yml}"
32
+ task :build do
33
+ cfg['platforms'].each { |os|
34
+ if os['arch'].respond_to?('each')
35
+ os['arch'].each { |arch|
36
+ build(os['name'], arch)
37
+ }
38
+ else
39
+ build(os['name'], os['arch'])
40
+ end
41
+ }
42
+ end
47
43
 
48
- desc 'ZIP this project binaries'
49
- task :zip => [:build, :test] do
50
- @config['out'] ||= '.' # Default to the current directory, if 'out' is not specified.
44
+ desc 'ZIP this project binaries'
45
+ task :zip => [:build, :test] do
46
+ cfg['out'] ||= '.' # Default to the current directory, if 'out' is not specified.
51
47
 
52
- @config['platforms'].each { |os|
53
- if os['arch'].respond_to?('each')
54
- os['arch'].each { |arch|
55
- zip(os['name'], arch, @config['out'], os['zip'] ? "#{os['zip']}_#{arch}" : "#{os['name']}_#{arch}")
56
- }
57
- else
58
- zip(os['name'], os['arch'], @config['out'], os['zip'] || "#{os['name']}_#{os['arch']}")
59
- end
60
- }
61
- end
62
- rescue => e
63
- $stderr.puts("WARNING: Skipping `build` and `zip` tasks: #{e}")
48
+ cfg['platforms'].each { |os|
49
+ if os['arch'].respond_to?('each')
50
+ os['arch'].each { |arch|
51
+ zip(os['name'], arch, cfg['out'], os['zip'] ? "#{os['zip']}_#{arch}" : "#{os['name']}_#{arch}")
52
+ }
53
+ else
54
+ zip(os['name'], os['arch'], cfg['out'], os['zip'] || "#{os['name']}_#{os['arch']}")
55
+ end
56
+ }
64
57
  end
58
+ end
65
59
 
60
+ # Initialize `test` task.
61
+ def task_test
66
62
  desc 'Run `go test` for the native platform'
67
63
  task :test do
68
64
  setenv(nil, nil)
@@ -70,27 +66,48 @@ class Go4Rake < ::Rake::TaskLib
70
66
  end
71
67
  end
72
68
 
73
- # Sets GOARCH and GOOS.
69
+ # Set GOARCH and GOOS.
74
70
  def setenv(os, arch)
75
71
  ENV['GOARCH'] = arch ? arch.to_s : nil
76
72
  ENV['GOOS'] = os
77
73
  end
78
74
 
79
- # Exits with an error.
75
+ # Exit with an error.
80
76
  def die(task)
81
77
  abort("#{task} failed. Exiting") # Rake returns 1 in something fails.
82
78
  end
83
79
 
84
- # Executes `go install` for the specified os/arch.
80
+ # Execute `go install` for the specified os/arch.
85
81
  def build(os, arch)
86
82
  setenv(os, arch)
87
83
  puts("Building #{os}_#{arch}")
88
84
  system('go install') || die('Build')
89
85
  end
90
86
 
91
- # Zips the compiled files.
87
+ # Zip the compiled files.
92
88
  def zip(os, arch, dir, file)
93
89
  setenv(os, arch)
94
- system("zip -qj #{dir}/#{file}.zip #{`go list -f '{{.Target}}'`}") && puts("Wrote #{dir}/#{file}.zip")
90
+ bin = `go list -f '{{.Target}}'`.chomp
91
+ return unless bin
92
+ zip_file = File.expand_path(dir) + '/' + file + '.zip'
93
+ name = File.basename(bin)
94
+
95
+ Zip::File.open(zip_file, Zip::File::CREATE) do |zip|
96
+ # `NOTICE` file is required by Apache license.
97
+ begin
98
+ zip.add('NOTICE', 'NOTICE') if File.exists?('NOTICE')
99
+ rescue Zip::ZipEntryExistsError
100
+ zip.replace('NOTICE', 'NOTICE')
101
+ end
102
+
103
+ # The executable file.
104
+ begin
105
+ zip.add(name, bin)
106
+ rescue Zip::ZipEntryExistsError
107
+ zip.replace(name, bin)
108
+ end
109
+ zip.file.chmod(0755, name)
110
+ end
111
+ puts("Wrote #{zip_file}")
95
112
  end
96
113
  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.0.8
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vasily Korytov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-09 00:00:00.000000000 Z
11
+ date: 2015-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,16 +24,29 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '10.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubyzip
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.1'
27
41
  description: "`build`, `test` and `zip` tasks for cross-compilation of Go programs"
28
42
  email: vasily.korytov@yahoo.com
29
43
  executables: []
30
44
  extensions: []
31
45
  extra_rdoc_files: []
32
46
  files:
33
- - LICENSE.txt
47
+ - NOTICE
34
48
  - README.md
35
49
  - examples/go4rake.yml
36
- - go4rake.gemspec
37
50
  - lib/go4rake.rb
38
51
  - lib/go4rake/new.rb
39
52
  homepage: https://github.com/chillum/go4rake
@@ -56,8 +69,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
69
  version: '0'
57
70
  requirements: []
58
71
  rubyforge_project:
59
- rubygems_version: 2.2.2
72
+ rubygems_version: 2.4.5
60
73
  signing_key:
61
74
  specification_version: 4
62
- summary: go4rake is a Rake helper for cross-compiling Go programs
75
+ summary: Rake helper for cross-compiling Go programs
63
76
  test_files: []
data/LICENSE.txt DELETED
@@ -1,202 +0,0 @@
1
-
2
- Apache License
3
- Version 2.0, January 2004
4
- http://www.apache.org/licenses/
5
-
6
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
-
8
- 1. Definitions.
9
-
10
- "License" shall mean the terms and conditions for use, reproduction,
11
- and distribution as defined by Sections 1 through 9 of this document.
12
-
13
- "Licensor" shall mean the copyright owner or entity authorized by
14
- the copyright owner that is granting the License.
15
-
16
- "Legal Entity" shall mean the union of the acting entity and all
17
- other entities that control, are controlled by, or are under common
18
- control with that entity. For the purposes of this definition,
19
- "control" means (i) the power, direct or indirect, to cause the
20
- direction or management of such entity, whether by contract or
21
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
- outstanding shares, or (iii) beneficial ownership of such entity.
23
-
24
- "You" (or "Your") shall mean an individual or Legal Entity
25
- exercising permissions granted by this License.
26
-
27
- "Source" form shall mean the preferred form for making modifications,
28
- including but not limited to software source code, documentation
29
- source, and configuration files.
30
-
31
- "Object" form shall mean any form resulting from mechanical
32
- transformation or translation of a Source form, including but
33
- not limited to compiled object code, generated documentation,
34
- and conversions to other media types.
35
-
36
- "Work" shall mean the work of authorship, whether in Source or
37
- Object form, made available under the License, as indicated by a
38
- copyright notice that is included in or attached to the work
39
- (an example is provided in the Appendix below).
40
-
41
- "Derivative Works" shall mean any work, whether in Source or Object
42
- form, that is based on (or derived from) the Work and for which the
43
- editorial revisions, annotations, elaborations, or other modifications
44
- represent, as a whole, an original work of authorship. For the purposes
45
- of this License, Derivative Works shall not include works that remain
46
- separable from, or merely link (or bind by name) to the interfaces of,
47
- the Work and Derivative Works thereof.
48
-
49
- "Contribution" shall mean any work of authorship, including
50
- the original version of the Work and any modifications or additions
51
- to that Work or Derivative Works thereof, that is intentionally
52
- submitted to Licensor for inclusion in the Work by the copyright owner
53
- or by an individual or Legal Entity authorized to submit on behalf of
54
- the copyright owner. For the purposes of this definition, "submitted"
55
- means any form of electronic, verbal, or written communication sent
56
- to the Licensor or its representatives, including but not limited to
57
- communication on electronic mailing lists, source code control systems,
58
- and issue tracking systems that are managed by, or on behalf of, the
59
- Licensor for the purpose of discussing and improving the Work, but
60
- excluding communication that is conspicuously marked or otherwise
61
- designated in writing by the copyright owner as "Not a Contribution."
62
-
63
- "Contributor" shall mean Licensor and any individual or Legal Entity
64
- on behalf of whom a Contribution has been received by Licensor and
65
- subsequently incorporated within the Work.
66
-
67
- 2. Grant of Copyright License. Subject to the terms and conditions of
68
- this License, each Contributor hereby grants to You a perpetual,
69
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
- copyright license to reproduce, prepare Derivative Works of,
71
- publicly display, publicly perform, sublicense, and distribute the
72
- Work and such Derivative Works in Source or Object form.
73
-
74
- 3. Grant of Patent License. Subject to the terms and conditions of
75
- this License, each Contributor hereby grants to You a perpetual,
76
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
- (except as stated in this section) patent license to make, have made,
78
- use, offer to sell, sell, import, and otherwise transfer the Work,
79
- where such license applies only to those patent claims licensable
80
- by such Contributor that are necessarily infringed by their
81
- Contribution(s) alone or by combination of their Contribution(s)
82
- with the Work to which such Contribution(s) was submitted. If You
83
- institute patent litigation against any entity (including a
84
- cross-claim or counterclaim in a lawsuit) alleging that the Work
85
- or a Contribution incorporated within the Work constitutes direct
86
- or contributory patent infringement, then any patent licenses
87
- granted to You under this License for that Work shall terminate
88
- as of the date such litigation is filed.
89
-
90
- 4. Redistribution. You may reproduce and distribute copies of the
91
- Work or Derivative Works thereof in any medium, with or without
92
- modifications, and in Source or Object form, provided that You
93
- meet the following conditions:
94
-
95
- (a) You must give any other recipients of the Work or
96
- Derivative Works a copy of this License; and
97
-
98
- (b) You must cause any modified files to carry prominent notices
99
- stating that You changed the files; and
100
-
101
- (c) You must retain, in the Source form of any Derivative Works
102
- that You distribute, all copyright, patent, trademark, and
103
- attribution notices from the Source form of the Work,
104
- excluding those notices that do not pertain to any part of
105
- the Derivative Works; and
106
-
107
- (d) If the Work includes a "NOTICE" text file as part of its
108
- distribution, then any Derivative Works that You distribute must
109
- include a readable copy of the attribution notices contained
110
- within such NOTICE file, excluding those notices that do not
111
- pertain to any part of the Derivative Works, in at least one
112
- of the following places: within a NOTICE text file distributed
113
- as part of the Derivative Works; within the Source form or
114
- documentation, if provided along with the Derivative Works; or,
115
- within a display generated by the Derivative Works, if and
116
- wherever such third-party notices normally appear. The contents
117
- of the NOTICE file are for informational purposes only and
118
- do not modify the License. You may add Your own attribution
119
- notices within Derivative Works that You distribute, alongside
120
- or as an addendum to the NOTICE text from the Work, provided
121
- that such additional attribution notices cannot be construed
122
- as modifying the License.
123
-
124
- You may add Your own copyright statement to Your modifications and
125
- may provide additional or different license terms and conditions
126
- for use, reproduction, or distribution of Your modifications, or
127
- for any such Derivative Works as a whole, provided Your use,
128
- reproduction, and distribution of the Work otherwise complies with
129
- the conditions stated in this License.
130
-
131
- 5. Submission of Contributions. Unless You explicitly state otherwise,
132
- any Contribution intentionally submitted for inclusion in the Work
133
- by You to the Licensor shall be under the terms and conditions of
134
- this License, without any additional terms or conditions.
135
- Notwithstanding the above, nothing herein shall supersede or modify
136
- the terms of any separate license agreement you may have executed
137
- with Licensor regarding such Contributions.
138
-
139
- 6. Trademarks. This License does not grant permission to use the trade
140
- names, trademarks, service marks, or product names of the Licensor,
141
- except as required for reasonable and customary use in describing the
142
- origin of the Work and reproducing the content of the NOTICE file.
143
-
144
- 7. Disclaimer of Warranty. Unless required by applicable law or
145
- agreed to in writing, Licensor provides the Work (and each
146
- Contributor provides its Contributions) on an "AS IS" BASIS,
147
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
- implied, including, without limitation, any warranties or conditions
149
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
- PARTICULAR PURPOSE. You are solely responsible for determining the
151
- appropriateness of using or redistributing the Work and assume any
152
- risks associated with Your exercise of permissions under this License.
153
-
154
- 8. Limitation of Liability. In no event and under no legal theory,
155
- whether in tort (including negligence), contract, or otherwise,
156
- unless required by applicable law (such as deliberate and grossly
157
- negligent acts) or agreed to in writing, shall any Contributor be
158
- liable to You for damages, including any direct, indirect, special,
159
- incidental, or consequential damages of any character arising as a
160
- result of this License or out of the use or inability to use the
161
- Work (including but not limited to damages for loss of goodwill,
162
- work stoppage, computer failure or malfunction, or any and all
163
- other commercial damages or losses), even if such Contributor
164
- has been advised of the possibility of such damages.
165
-
166
- 9. Accepting Warranty or Additional Liability. While redistributing
167
- the Work or Derivative Works thereof, You may choose to offer,
168
- and charge a fee for, acceptance of support, warranty, indemnity,
169
- or other liability obligations and/or rights consistent with this
170
- License. However, in accepting such obligations, You may act only
171
- on Your own behalf and on Your sole responsibility, not on behalf
172
- of any other Contributor, and only if You agree to indemnify,
173
- defend, and hold each Contributor harmless for any liability
174
- incurred by, or claims asserted against, such Contributor by reason
175
- of your accepting any such warranty or additional liability.
176
-
177
- END OF TERMS AND CONDITIONS
178
-
179
- APPENDIX: How to apply the Apache License to your work.
180
-
181
- To apply the Apache License to your work, attach the following
182
- boilerplate notice, with the fields enclosed by brackets "[]"
183
- replaced with your own identifying information. (Don't include
184
- the brackets!) The text should be enclosed in the appropriate
185
- comment syntax for the file format. We also recommend that a
186
- file or class name and description of purpose be included on the
187
- same "printed page" as the copyright notice for easier
188
- identification within third-party archives.
189
-
190
- Copyright [yyyy] [name of copyright owner]
191
-
192
- Licensed under the Apache License, Version 2.0 (the "License");
193
- you may not use this file except in compliance with the License.
194
- You may obtain a copy of the License at
195
-
196
- http://www.apache.org/licenses/LICENSE-2.0
197
-
198
- Unless required by applicable law or agreed to in writing, software
199
- distributed under the License is distributed on an "AS IS" BASIS,
200
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
- See the License for the specific language governing permissions and
202
- limitations under the License.
data/go4rake.gemspec DELETED
@@ -1,13 +0,0 @@
1
- Gem::Specification.new do |s|
2
- s.name = 'go4rake'
3
- s.version = '1.0.8'
4
- s.license = 'Apache-2.0'
5
- s.summary = 'go4rake is a Rake helper for cross-compiling Go programs'
6
- s.description = '`build`, `test` and `zip` tasks for cross-compilation of Go programs'
7
- s.homepage = 'https://github.com/chillum/go4rake'
8
- s.author = 'Vasily Korytov'
9
- s.email = 'vasily.korytov@yahoo.com'
10
- s.files = ['LICENSE.txt', 'README.md', 'examples/go4rake.yml',
11
- 'go4rake.gemspec', 'lib/go4rake.rb', 'lib/go4rake/new.rb']
12
- s.add_dependency 'rake', '~> 10.0'
13
- end