kindlegen 2.9.7 → 3.0.0

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: f7e7400818829dffd2338c4d127d6e43789a569c
4
- data.tar.gz: 6cf970a403c55095a5527d17a978a36e77d47a8b
3
+ metadata.gz: 707247f6d1da7fa52714d305fd849a225bdc92cf
4
+ data.tar.gz: 220020653144f8108fa9e058d1ea5cf1bdff6348
5
5
  SHA512:
6
- metadata.gz: 50ff699ca26f806d5844061f07f1945e508983f1c6c75f277c53f7fbab0bdcf87c9375ef113afcf459f99f6960cc50fa07ee90cd064cd29dcf918a8839c4cc2b
7
- data.tar.gz: ee5a0ad3967af845a6fd8207de0df85f797bdfe5e15b9e5b7373770c1bc633d83dd9ef3f6067e38ea581a3df1712f05af07d1803d8188c40e1ea0fe1fec3b255
6
+ metadata.gz: a8b9a3f0705c9610f45e80a9dfdb15064c8770e54ed90af6bc3d207710629ddae4e860d44b765dce28112acedee5924cc1edb9819fc55ab831f7431865490f13
7
+ data.tar.gz: e6058f96cce126fb65c3378e899bb5ffc0269a5a4ddea4e11c22e184bb38c77f819303b7f698a1b0e7e8d41ee74449f6c09c4bb97d801fe8806f16b27c69f190
data/.gitignore CHANGED
@@ -1,16 +1,13 @@
1
1
  *.gem
2
2
  *.swp
3
- /pkg/*
3
+ /pkg
4
4
  /.bundle
5
5
  /vendor/bundle
6
6
  /Gemfile.lock
7
7
  /.ruby-version
8
8
  /.ruby-gemset
9
+ ext/*
10
+ !ext/Rakefile
11
+ bin/
9
12
  *.tar.gz
10
- Makefile
11
- ext/kindlegen/Kindle*
12
- ext/kindlegen/Sample*
13
- ext/kindlegen/Multimedia*
14
- ext/kindlegen/Readme*
15
- ext/kindlegen/Release*
16
- ext/kindlegen/kindlegen
13
+ *.zip
@@ -2,7 +2,8 @@ language: ruby
2
2
  sudo: false
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.1.7
6
- - 2.2.3
5
+ - 2.1.10
6
+ - 2.2.6
7
+ - 2.3.3
7
8
  # NOTE the build step is required to run the tests
8
9
  script: bundle exec rake build test
data/Gemfile CHANGED
@@ -2,7 +2,3 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in kindlegen.gemspec
4
4
  gemspec
5
-
6
- group :development do
7
- gem 'rake'
8
- end
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require 'kindlegen'
3
+ system(Kindlegen.command.to_s, *ARGV)
@@ -0,0 +1,93 @@
1
+ #
2
+ # Rakefile to install kindlegen
3
+ # (c) Copryright Toshihiko Ichida 2016
4
+ #
5
+ require 'rbconfig'
6
+ require 'fileutils'
7
+
8
+ AMAZON = 'http://kindlegen.s3.amazonaws.com'
9
+ BINDIR = '../bin'
10
+
11
+ def create_default_task(target)
12
+ task :default => :install
13
+
14
+ task :install => target do |t|
15
+ mkdir BINDIR unless File.exist?(BINDIR)
16
+ cp t.source, BINDIR
17
+ end
18
+ end
19
+
20
+ def create_task_for_unix(config)
21
+ tarball = config[:tarball]
22
+ unzip = config[:unzip]
23
+ target = config[:target]
24
+ url = "#{AMAZON}/#{tarball}"
25
+
26
+ create_default_task(target)
27
+
28
+ file target => tarball do
29
+ sh "#{unzip} #{tarball}"
30
+ sh "chmod +x #{target}"
31
+ end
32
+
33
+ file tarball do
34
+ sh "curl #{url} -o #{tarball}"
35
+ end
36
+ end
37
+
38
+ # curl for windows
39
+ def curl(url, tarball)
40
+ puts "open(#{url})"
41
+ puts "save to #{tarball}"
42
+ data = open(url, 'rb').read
43
+ open(tarball, 'wb').write(data)
44
+ end
45
+
46
+ # unzip for windows
47
+ def unzip(tarball)
48
+ puts "win-unzip #{tarball}"
49
+ Zip::File.open(tarball).each do |entry|
50
+ dir = File.dirname(entry.name)
51
+ FileUtils.mkpath(dir) if dir != '.' && !File.exist?(dir)
52
+ entry.extract unless File.exist?(entry.name)
53
+ end
54
+ end
55
+
56
+ def create_task_for_windows(config)
57
+ require 'open-uri'
58
+ require 'zip'
59
+
60
+ tarball = config[:tarball]
61
+ target = config[:target]
62
+ url = "#{AMAZON}/#{tarball}"
63
+
64
+ create_default_task(target)
65
+
66
+ file target => tarball do
67
+ unzip(tarball)
68
+ end
69
+
70
+ file tarball do
71
+ curl(url, tarball)
72
+ end
73
+ end
74
+
75
+ case RbConfig::CONFIG['host_os']
76
+ when /mac|darwin/i
77
+ create_task_for_unix(
78
+ { tarball: 'KindleGen_Mac_i386_v2_9.zip',
79
+ unzip: 'unzip',
80
+ target: 'kindlgen' })
81
+ when /linux|cygwin/i
82
+ create_task_for_unix(
83
+ { tarball: 'kindlegen_linux_2.6_i386_v2_9.tar.gz',
84
+ unzip: 'tar -zx --no-same-owner -f',
85
+ target: 'kindlegen' })
86
+ when /mingw32|mswin32/i
87
+ create_task_for_windows(
88
+ { tarball: 'kindlegen_win32_v2_9.zip',
89
+ target: 'kindlegen.exe' })
90
+ else
91
+ STDERR.puts "Host OS unsupported!"
92
+ exit(1)
93
+ end
@@ -17,11 +17,15 @@ Gem::Specification.new do |s|
17
17
 
18
18
  s.files = `git ls-files`.split("\n")
19
19
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.bindir = 'exe'
21
+ s.executables = s.files.grep(%r{^exe/}){|f| File.basename(f)}
21
22
  s.require_paths = ["lib"]
22
- s.extensions << 'ext/kindlegen/extconf.rb'
23
+ s.extensions = ['ext/Rakefile']
24
+
25
+ s.add_dependency 'rubyzip'
23
26
 
24
27
  # specify any dependencies here; for example:
28
+ s.add_development_dependency "rake"
25
29
  s.add_development_dependency "pry"
26
30
  s.add_development_dependency "test-unit"
27
31
  end
@@ -1,5 +1,6 @@
1
1
  require "kindlegen/version"
2
2
  require 'pathname'
3
+ require 'rbconfig'
3
4
  require 'open3'
4
5
 
5
6
  module Kindlegen
@@ -19,9 +20,10 @@ module Kindlegen
19
20
  # _params_:: array of command parameters.
20
21
  #
21
22
  def self.run( *params )
22
- clean_env do
23
- Open3.capture3("#{command} #{params.join(' ')}")
24
- end
23
+ clean_env{Open3.capture3(command.to_s, *params)}.map do |r|
24
+ r.force_encoding('UTF-8') if windows? && r.respond_to?(:force_encoding)
25
+ r
26
+ end
25
27
  end
26
28
 
27
29
  private
@@ -32,4 +34,8 @@ private
32
34
  ENV.replace(env_backup)
33
35
  return ret
34
36
  end
37
+
38
+ def self.windows?
39
+ RbConfig::CONFIG['host_os'] =~ /mingw32|mswin32/i
40
+ end
35
41
  end
@@ -1,3 +1,3 @@
1
1
  module Kindlegen
2
- VERSION = '2.9.7' unless const_defined?(:VERSION)
2
+ VERSION = '3.0.0' unless const_defined?(:VERSION)
3
3
  end
@@ -9,7 +9,7 @@ class KindlegenTest < Test::Unit::TestCase
9
9
  kindlegen_lib_dir = nil
10
10
  gem_version = File.read(File.join(KINDLEGEN_PROJECT_DIR, 'lib/kindlegen/version.rb')).match(/VERSION = ["'](.*?)["']/)[1]
11
11
  gem_file = File.join(KINDLEGEN_PROJECT_DIR, 'pkg', %(kindlegen-#{gem_version}.gem))
12
- result = Gem::Installer.new(gem_file).install
12
+ result = Gem::Installer.at(gem_file).install rescue Gem::Installer.new(gem_file).install
13
13
  begin
14
14
  require 'kindlegen'
15
15
  rescue ::LoadError
@@ -21,7 +21,7 @@ class KindlegenTest < Test::Unit::TestCase
21
21
  output = %x(#{Kindlegen.command})
22
22
  assert output.include?('Amazon')
23
23
  ensure
24
- Gem::Uninstaller.new('kindlegen', :force => true).uninstall rescue nil
24
+ Gem::Uninstaller.new('kindlegen', :executables => true).uninstall rescue nil
25
25
  $:.delete kindlegen_lib_dir if kindlegen_lib_dir
26
26
  end
27
27
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kindlegen
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.7
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TADA Tadashi
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubyzip
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: pry
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -42,9 +70,10 @@ description: Installing kindlegen command, downloading tar.gz file from amazon.c
42
70
  and extracting it and copy kindlegen command to bin.
43
71
  email:
44
72
  - t@tdtds.jp
45
- executables: []
73
+ executables:
74
+ - kindlegen
46
75
  extensions:
47
- - ext/kindlegen/extconf.rb
76
+ - ext/Rakefile
48
77
  extra_rdoc_files: []
49
78
  files:
50
79
  - ".gitignore"
@@ -54,7 +83,8 @@ files:
54
83
  - LICENSE
55
84
  - README.md
56
85
  - Rakefile
57
- - ext/kindlegen/extconf.rb
86
+ - exe/kindlegen
87
+ - ext/Rakefile
58
88
  - kindlegen.gemspec
59
89
  - lib/kindlegen.rb
60
90
  - lib/kindlegen/version.rb
@@ -79,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
109
  version: '0'
80
110
  requirements: []
81
111
  rubyforge_project:
82
- rubygems_version: 2.5.1
112
+ rubygems_version: 2.6.8
83
113
  signing_key:
84
114
  specification_version: 4
85
115
  summary: Installing kindlegen command.
@@ -1,71 +0,0 @@
1
- #
2
- # making Makefile getting kindlegen from Amazon.com
3
- #
4
-
5
- require 'rbconfig'
6
- File::open('Makefile', 'w') do |w|
7
- case RbConfig::CONFIG['host_os']
8
- when /mac|darwin/i
9
- unzip = 'unzip'
10
- tarball = 'KindleGen_Mac_i386_v2_9.zip'
11
- target = 'kindlegen'
12
- when /linux|cygwin/i
13
- unzip = 'tar -zx --no-same-owner -f'
14
- tarball = 'kindlegen_linux_2.6_i386_v2_9.tar.gz'
15
- target = 'kindlegen'
16
- when /mingw32/i
17
- unzip = 'unzip'
18
- # Abort if either `unzip' or `curl' if not found
19
- `where #{unzip}`
20
- unless ($?.success?)
21
- STDERR.puts "The program `unzip' not found. Aborting."
22
- exit(1)
23
- end
24
- `where curl`
25
- unless ($?.success?)
26
- STDERR.puts "The program `curl` not found. Aborting."
27
- exit(1)
28
- end
29
- tarball = 'kindlegen_win32_v2_9.zip'
30
- target = 'kindlegen.exe'
31
- else
32
- STDERR.puts "Host OS unsupported!"
33
- exit(1)
34
- end
35
-
36
- bindir = File.join(File.expand_path('../../..', __FILE__), "bin")
37
-
38
- config = RbConfig::CONFIG.merge({
39
- "unzip" => unzip,
40
- "tarball" => tarball,
41
- "target" => target,
42
- "bindir" => bindir,
43
- })
44
-
45
- w.puts RbConfig.expand(DATA.read, config)
46
- end
47
-
48
-
49
- __END__
50
- AMAZON = http://kindlegen.s3.amazonaws.com
51
- TARGET = $(target)
52
- BINDIR = $(bindir)
53
- TARBALL = $(tarball)
54
- CURL = curl
55
- UNZIP = $(unzip)
56
- CP = cp -a
57
- MKDIR = mkdir -p
58
-
59
- all:
60
-
61
- $(TARGET): $(TARBALL)
62
- $(UNZIP) $(TARBALL)
63
- touch $(TARGET)
64
- chmod +x $(TARGET)
65
-
66
- $(TARBALL):
67
- $(CURL) $(AMAZON)/$(TARBALL) -o $(TARBALL)
68
-
69
- install: $(TARGET)
70
- $(MKDIR) $(BINDIR)
71
- $(CP) $(TARGET) $(BINDIR)