Skip to content

Commit 4ffe058

Browse files
committed
Use Gemfiles to net-sftp
1 parent 8c0c918 commit 4ffe058

File tree

6 files changed

+100
-118
lines changed

6 files changed

+100
-118
lines changed

Gemfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
source 'https://rubygems.org'
2+
3+
# Specify your gem's dependencies in mygem.gemspec
4+
gemspec
5+
6+
# TODO: add to gemspec
7+
gem "bundler", "~> 1.11"
8+
gem "rake", "~> 12.0"
9+
10+
gem 'byebug', group: %i[development test] if !Gem.win_platform? && RUBY_ENGINE == "ruby"
11+
12+
if ENV["CI"]
13+
gem 'codecov', require: false, group: :test
14+
gem 'simplecov', require: false, group: :test
15+
end

Rakefile

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,38 @@ require "rubygems"
22
require "rake"
33
require "rake/clean"
44
require "rdoc/task"
5+
require "bundler/gem_tasks"
6+
7+
desc "When releasing make sure NET_SSH_BUILDGEM_SIGNED is set"
8+
task :check_NET_SSH_BUILDGEM_SIGNED do
9+
raise "NET_SSH_BUILDGEM_SIGNED should be set to release" unless ENV['NET_SSH_BUILDGEM_SIGNED']
10+
end
11+
12+
Rake::Task[:release].enhance [:check_NET_SSH_BUILDGEM_SIGNED]
13+
Rake::Task[:release].prerequisites.unshift(:check_NET_SSH_BUILDGEM_SIGNED)
514

615
task :default => ["build"]
716
CLEAN.include [ 'pkg', 'rdoc' ]
817
name = "net-sftp"
918

10-
$:.unshift File.join(File.dirname(__FILE__), 'lib')
11-
require "net/sftp/version"
12-
version = Net::SFTP::Version::STRING.dup
19+
require_relative "lib/net/sftp/version"
20+
version = Net::SFTP::Version::CURRENT
1321

22+
namespace :cert do
23+
desc "Update public cert from private - only run if public is expired"
24+
task :update_public_when_expired do
25+
require 'openssl'
26+
require 'time'
27+
raw = File.read "net-sftp-public_cert.pem"
28+
certificate = OpenSSL::X509::Certificate.new raw
29+
raise Exception, "Not yet expired: #{certificate.not_after}" unless certificate.not_after < Time.now
30+
sh "gem cert --build [email protected] --days 365*5 --private-key /mnt/gem/net-ssh-private_key.pem"
31+
sh "mv gem-public_cert.pem net-sftp-public_cert.pem"
32+
sh "gem cert --add net-sftp-public_cert.pem"
33+
end
34+
end
35+
36+
if false
1437
begin
1538
require "jeweler"
1639
Jeweler::Tasks.new do |s|
@@ -37,6 +60,7 @@ begin
3760
rescue LoadError
3861
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
3962
end
63+
end
4064

4165
require 'rake/testtask'
4266
Rake::TestTask.new do |t|

gem-public_cert.pem

Lines changed: 0 additions & 20 deletions
This file was deleted.

lib/net/sftp/version.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ module Net; module SFTP
66
class Version < Net::SSH::Version
77
MAJOR = 2
88
MINOR = 1
9-
TINY = 2
9+
TINY = 3
10+
PRE = "rc1"
1011

1112
# The current version, as a Version instance
12-
CURRENT = new(MAJOR, MINOR, TINY)
13+
CURRENT = new(MAJOR, MINOR, TINY, PRE)
1314

1415
# The current version, as a String instance
1516
STRING = CURRENT.to_s

net-sftp-public_cert.pem

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZuZXRz
3+
c2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZFgNj
4+
b20wHhcNMTgwNjA2MTYwMzExWhcNMTkwNjA2MTYwMzExWjBBMQ8wDQYDVQQDDAZu
5+
ZXRzc2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZ
6+
FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGJ4TbZ9H+qZ08
7+
pQfJhPJTHaDCyQvCsKTFrL5O9z3tllQ7B/zksMMM+qFBpNYu9HCcg4yBATacE/PB
8+
qVVyUrpr6lbH/XwoN5ljXm+bdCfmnjZvTCL2FTE6o+bcnaF0IsJyC0Q2B1fbWdXN
9+
6Off1ZWoUk6We2BIM1bn6QJLxBpGyYhvOPXsYoqSuzDf2SJDDsWFZ8kV5ON13Ohm
10+
JbBzn0oD8HF8FuYOewwsC0C1q4w7E5GtvHcQ5juweS7+RKsyDcVcVrLuNzoGRttS
11+
KP4yMn+TzaXijyjRg7gECfJr3TGASaA4bQsILFGG5dAWcwO4OMrZedR7SHj/o0Kf
12+
3gL7P0axAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
13+
BBQF8qLA7Z4zg0SJGtUbv3eoQ8tjIzAfBgNVHREEGDAWgRRuZXRzc2hAc29sdXRp
14+
b3VzLmNvbTAfBgNVHRIEGDAWgRRuZXRzc2hAc29sdXRpb3VzLmNvbTANBgkqhkiG
15+
9w0BAQsFAAOCAQEAFjJgcmMGxYyaDbqZCYNO8gDpk5tGQOKKGPf80Tw7/cLsjJAr
16+
kVxALHvP5JmLkOswFMwpyo0o2lpfc2u2QeltvWVLznJS/svXhNiIi4duf1oXaHrT
17+
iG1JbI1h6oNGkXBnSVLRMNlgVYMDf5LOxQBolWmuxMYvdssDJK1qEGDVO7Ex79pB
18+
u919R7oedV8+pXrIFXZro9dcYyOYAmRqlFh6bCjnFx/HkiUpTHAUMyLbbRpBngOC
19+
YBtB7WnyXXwkUAo0FUibVzXXSxU+wXhrfpOCo2ZOlQOspdOcGZjirOZoxUKSvMtn
20+
URWm7gw7y0UkzFg4iZOFuC84+4GZ08U3/gr9sg==
21+
-----END CERTIFICATE-----

net-sftp.gemspec

Lines changed: 34 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,47 @@
1-
# Generated by jeweler
2-
# DO NOT EDIT THIS FILE DIRECTLY
3-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4-
# -*- encoding: utf-8 -*-
1+
require_relative 'lib/net/sftp/version'
52

6-
Gem::Specification.new do |s|
7-
s.name = "net-sftp"
8-
s.version = "2.1.2"
3+
Gem::Specification.new do |spec|
4+
spec.name = "net-sftp"
5+
spec.version = Net::SFTP::Version::STRING
6+
spec.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
7+
spec.email = ["[email protected]"]
98

10-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11-
s.authors = ["Jamis Buck", "Delano Mandelbaum"]
12-
s.cert_chain = ["gem-public_cert.pem"]
13-
s.date = "2013-05-07"
14-
s.description = "A pure Ruby implementation of the SFTP client protocol"
15-
s.email = "[email protected]"
16-
s.extra_rdoc_files = [
9+
if ENV['NET_SSH_BUILDGEM_SIGNED']
10+
spec.cert_chain = ["net-sftp-public_cert.pem"]
11+
spec.signing_key = "/mnt/gem/net-ssh-private_key.pem"
12+
end
13+
14+
spec.summary = %q{A pure Ruby implementation of the SFTP client protocol.}
15+
spec.description = %q{A pure Ruby implementation of the SFTP client protocol}
16+
spec.homepage = "https://github.com/net-ssh/net-sftp"
17+
spec.license = "MIT"
18+
spec.required_rubygems_version = Gem::Requirement.new(">= 0") if spec.respond_to? :required_rubygems_version=
19+
20+
spec.extra_rdoc_files = [
1721
"LICENSE.txt",
1822
"README.rdoc"
1923
]
20-
s.files = [
21-
"CHANGES.txt",
22-
"LICENSE.txt",
23-
"Manifest",
24-
"README.rdoc",
25-
"Rakefile",
26-
"gem-public_cert.pem",
27-
"lib/net/sftp.rb",
28-
"lib/net/sftp/constants.rb",
29-
"lib/net/sftp/errors.rb",
30-
"lib/net/sftp/operations/dir.rb",
31-
"lib/net/sftp/operations/download.rb",
32-
"lib/net/sftp/operations/file.rb",
33-
"lib/net/sftp/operations/file_factory.rb",
34-
"lib/net/sftp/operations/upload.rb",
35-
"lib/net/sftp/packet.rb",
36-
"lib/net/sftp/protocol.rb",
37-
"lib/net/sftp/protocol/01/attributes.rb",
38-
"lib/net/sftp/protocol/01/base.rb",
39-
"lib/net/sftp/protocol/01/name.rb",
40-
"lib/net/sftp/protocol/02/base.rb",
41-
"lib/net/sftp/protocol/03/base.rb",
42-
"lib/net/sftp/protocol/04/attributes.rb",
43-
"lib/net/sftp/protocol/04/base.rb",
44-
"lib/net/sftp/protocol/04/name.rb",
45-
"lib/net/sftp/protocol/05/base.rb",
46-
"lib/net/sftp/protocol/06/attributes.rb",
47-
"lib/net/sftp/protocol/06/base.rb",
48-
"lib/net/sftp/protocol/base.rb",
49-
"lib/net/sftp/request.rb",
50-
"lib/net/sftp/response.rb",
51-
"lib/net/sftp/session.rb",
52-
"lib/net/sftp/version.rb",
53-
"net-sftp.gemspec",
54-
"setup.rb",
55-
"test/common.rb",
56-
"test/protocol/01/test_attributes.rb",
57-
"test/protocol/01/test_base.rb",
58-
"test/protocol/01/test_name.rb",
59-
"test/protocol/02/test_base.rb",
60-
"test/protocol/03/test_base.rb",
61-
"test/protocol/04/test_attributes.rb",
62-
"test/protocol/04/test_base.rb",
63-
"test/protocol/04/test_name.rb",
64-
"test/protocol/05/test_base.rb",
65-
"test/protocol/06/test_attributes.rb",
66-
"test/protocol/06/test_base.rb",
67-
"test/protocol/test_base.rb",
68-
"test/test_all.rb",
69-
"test/test_dir.rb",
70-
"test/test_download.rb",
71-
"test/test_file.rb",
72-
"test/test_file_factory.rb",
73-
"test/test_packet.rb",
74-
"test/test_protocol.rb",
75-
"test/test_request.rb",
76-
"test/test_response.rb",
77-
"test/test_session.rb",
78-
"test/test_upload.rb"
79-
]
80-
s.homepage = "https://github.com/net-ssh/net-sftp"
81-
s.licenses = ["MIT"]
82-
s.require_paths = ["lib"]
83-
s.rubyforge_project = "net-sftp"
84-
s.rubygems_version = "1.8.25"
85-
s.signing_key = "/mnt/gem/gem-private_key.pem"
86-
s.summary = "A pure Ruby implementation of the SFTP client protocol"
8724

88-
if s.respond_to? :specification_version then
89-
s.specification_version = 3
25+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26+
spec.bindir = "exe"
27+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28+
spec.require_paths = ["lib"]
29+
30+
if spec.respond_to? :specification_version then
31+
spec.specification_version = 3
9032

9133
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
92-
s.add_runtime_dependency(%q<net-ssh>, [">= 2.6.5"])
93-
s.add_development_dependency(%q<test-unit>, [">= 0"])
94-
s.add_development_dependency(%q<mocha>, [">= 0"])
34+
spec.add_runtime_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
35+
spec.add_development_dependency(%q<test-unit>, [">= 0"])
36+
spec.add_development_dependency(%q<mocha>, [">= 0"])
9537
else
96-
s.add_dependency(%q<net-ssh>, [">= 2.6.5"])
97-
s.add_dependency(%q<test-unit>, [">= 0"])
98-
s.add_dependency(%q<mocha>, [">= 0"])
38+
spec.add_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
39+
spec.add_dependency(%q<test-unit>, [">= 0"])
40+
spec.add_dependency(%q<mocha>, [">= 0"])
9941
end
10042
else
101-
s.add_dependency(%q<net-ssh>, [">= 2.6.5"])
102-
s.add_dependency(%q<test-unit>, [">= 0"])
103-
s.add_dependency(%q<mocha>, [">= 0"])
43+
spec.add_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
44+
spec.add_dependency(%q<test-unit>, [">= 0"])
45+
spec.add_dependency(%q<mocha>, [">= 0"])
10446
end
10547
end
106-

0 commit comments

Comments
 (0)