erhu 0.1.4 → 0.1.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c32c20c8ee9ba7e4091402f5921f6e534269f37df35b4eb7fc3d84e210bd561c
4
- data.tar.gz: 430ab7355c7f954f1b9c884ec931462057ada64cafaf3e42e661aa1421d663d8
3
+ metadata.gz: 825a09bb2a8491c0d8a761c46a186be8c584e7e9b07c529de6c3ed462000fd08
4
+ data.tar.gz: e1cabbaa754f6b8b3e894c67af432a65b0dfc702ee48671ef9dbf71d012481f6
5
5
  SHA512:
6
- metadata.gz: 1733da1090e350510005ecf8021fbe097e493af7fc86a9d6d84d1e300b1f4bef60f9e54fe76bdabb3071ff808fde9266e4e351c7017ce0421ea026dc9f9cea77
7
- data.tar.gz: 6b5b3cf0073821a78b6eb5ad9cb04e16473aeb5497be11f10c7f38c5a537437599527482bc845aa1b833baff8543353a61003e92639b297206d00020d54c4638
6
+ metadata.gz: 8ab03cada045123a1db0363084204d43fc478f7189b7e4fbbdc83eadf444d469bbe6f8e9ba4f3c35614a009c2b6ca577a1cfbbb2fdb71eca6a1638f00703cdc9
7
+ data.tar.gz: 0bfeda9e72ccf4cdb29dc8e74bb5e1dadf0a5dbfdfbd464b3b191e93121f330f2dd6766d608afde101dde2a1597ee587a56948dcd6def9699f5fa52f69d92dca
data/Gemfile.lock CHANGED
@@ -4,9 +4,9 @@ PATH
4
4
  erhu (0.1.4)
5
5
  faraday (~> 2.7, >= 2.7.4)
6
6
  faraday-follow_redirects (~> 0.3.0)
7
+ git (~> 1.18)
7
8
  pastel (~> 0.8.0)
8
9
  rubyzip (~> 2.3, >= 2.3.2)
9
- rugged (~> 1.6, >= 1.6.2)
10
10
  tty-command (~> 0.10.1)
11
11
  tty-platform (~> 0.3.0)
12
12
  tty-progressbar (~> 0.18.2)
@@ -15,18 +15,29 @@ PATH
15
15
  GEM
16
16
  remote: https://rubygems.org/
17
17
  specs:
18
+ addressable (2.8.1)
19
+ public_suffix (>= 2.0.2, < 6.0)
20
+ coderay (1.1.3)
18
21
  faraday (2.7.4)
19
22
  faraday-net_http (>= 2.0, < 3.1)
20
23
  ruby2_keywords (>= 0.0.4)
21
24
  faraday-follow_redirects (0.3.0)
22
25
  faraday (>= 1, < 3)
23
26
  faraday-net_http (3.0.2)
27
+ git (1.18.0)
28
+ addressable (~> 2.8)
29
+ rchardet (~> 1.8)
30
+ method_source (1.0.0)
24
31
  pastel (0.8.0)
25
32
  tty-color (~> 0.5)
33
+ pry (0.14.2)
34
+ coderay (~> 1.1)
35
+ method_source (~> 1.0)
36
+ public_suffix (5.0.1)
26
37
  rake (13.0.6)
38
+ rchardet (1.8.0)
27
39
  ruby2_keywords (0.0.5)
28
40
  rubyzip (2.3.2)
29
- rugged (1.6.2)
30
41
  strings-ansi (0.2.0)
31
42
  tty-color (0.6.0)
32
43
  tty-command (0.10.1)
@@ -50,6 +61,7 @@ PLATFORMS
50
61
 
51
62
  DEPENDENCIES
52
63
  erhu!
64
+ pry
53
65
  rake (~> 13.0)
54
66
 
55
67
  BUNDLED WITH
data/README.md CHANGED
@@ -7,6 +7,8 @@
7
7
  gem install erhu
8
8
  ```
9
9
 
10
+ 注意:你的系统必须有cmake和pkg-config,mac用户可以用homebrew安装
11
+
10
12
  ## 如何使用
11
13
 
12
14
  在根目录里面建立`ErhuFile`, 当前也可以使用`erhu init`用于拉取依赖
data/erhu.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency 'tty-progressbar', '~> 0.18.2'
36
36
  spec.add_dependency 'tty-spinner', '~> 0.9.3'
37
37
  spec.add_dependency 'pastel', '~> 0.8.0'
38
- spec.add_dependency 'rugged', '~> 1.6', '>= 1.6.2'
38
+ spec.add_dependency 'git', '~> 1.18'
39
39
  spec.add_dependency 'faraday', '~> 2.7', '>= 2.7.4'
40
40
  spec.add_dependency 'faraday-follow_redirects', '~> 0.3.0'
41
41
  spec.add_dependency 'rubyzip', '~> 2.3', '>= 2.3.2'
data/lib/erhu/app.rb CHANGED
@@ -40,26 +40,25 @@ module Erhu
40
40
  FileUtils.rm_rf("#{@target}/#{name}")
41
41
  end
42
42
 
43
- bar = TTY::ProgressBar.new("clone #{name} [:bar] :percent", total: 50)
44
- transfer_progress = lambda do |total_objects, indexed_objects, received_objects, local_objects, total_deltas, indexed_deltas, received_bytes|
45
- bar.ratio = indexed_objects / total_objects.to_f
46
- end
47
-
48
- repo = Rugged::Repository.clone_at(repository_url,
49
- "#{@target}/#{name}",
50
- depth: 1,
51
- checkout_branch: branch,
52
- transfer_progress: transfer_progress
53
- )
54
- if ! tag.blank? && ! repo.tags[tag].blank?
55
- tag_repo = repo.tags[tag]
56
- target = tag_repo.target
57
- repo.checkout(target.oid, strategy: :safe)
43
+ warn!("Do not use Git for version control without careful consideration.")
44
+
45
+ spinner = TTY::Spinner.new("[:spinner] git clone #{repository_url} ...")
46
+ spinner.auto_spin
47
+ repo = Git.clone(repository_url, "#{@target}/#{name}", branch: branch)
48
+ unless tag.blank?
49
+
50
+ tags = repo.tags
51
+ if tags.map { |tag| tag.name }.include?(tag)
52
+ commit_id = tags.select { |node| node.name == tag }.first.objectish
53
+ repo.checkout(tag, start_point: commit_id, new_branch: true)
54
+ end
58
55
  end
56
+ spinner.stop("Done!")
57
+
59
58
  block.call(repo, self) unless block.blank?
60
59
 
61
- self.database[name] = {repository_url: repository_url,
62
- branch: branch, name: name, tag: tag, commit: repo.head.target.oid
60
+ self.database[name] = {repository_url: repository_url,
61
+ branch: branch, name: name, tag: tag, commit: repo.revparse('HEAD')
63
62
  }
64
63
  rescue => e
65
64
  error! e
@@ -108,6 +107,7 @@ module Erhu
108
107
 
109
108
  def zip(package_file_path, package_name)
110
109
  spinner = TTY::Spinner.new("[:spinner] extracted :title ...", format: :pulse_2)
110
+ spinner.auto_spin
111
111
 
112
112
  Zip::File.open(package_file_path) do |zip_file|
113
113
  zip_file.each do |entry|
data/lib/erhu/cli.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'optparse'
2
-
3
1
  module Erhu
4
2
  module_function
5
3
  def cli()
data/lib/erhu/init.rb CHANGED
@@ -4,13 +4,14 @@ require "tty-progressbar"
4
4
  require "tty-spinner"
5
5
  require "pastel"
6
6
  require 'fileutils'
7
- require 'rugged'
8
7
  require "uri"
9
8
  require 'yaml'
10
9
  require 'faraday'
11
10
  require 'faraday/follow_redirects'
12
11
  require 'tempfile'
13
12
  require 'zip'
13
+ require 'git'
14
+ require 'optparse'
14
15
 
15
16
  class Object
16
17
  def blank?
@@ -28,12 +29,17 @@ end
28
29
 
29
30
  def error!(*args)
30
31
  error = pastel.red.bold.detach
31
- puts "error: #{error.(*args)}"
32
+ puts "Error: #{error.(*args)}"
33
+ end
34
+
35
+ def warn!(*args)
36
+ warning = pastel.yellow.detach
37
+ puts "Warning: #{warning.(*args)}"
32
38
  end
33
39
 
34
40
  class Cmd
35
- def initialize(pty: true, uuid: false, color: true)
36
- @cmd = TTY::Command.new(pty: pty, uuid: uuid, color: color)
41
+ def initialize(pty: true, uuid: false, color: true, printer: :pretty)
42
+ @cmd = TTY::Command.new(pty: pty, uuid: uuid, color: color, pretty: printer)
37
43
  end
38
44
 
39
45
  def chdir(path)
@@ -50,4 +56,4 @@ class Cmd
50
56
  rescue => e
51
57
  error! e
52
58
  end
53
- end
59
+ end
data/lib/erhu/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Erhu
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: erhu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - MJ
@@ -81,25 +81,19 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.8.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: rugged
84
+ name: git
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.6'
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 1.6.2
89
+ version: '1.18'
93
90
  type: :runtime
94
91
  prerelease: false
95
92
  version_requirements: !ruby/object:Gem::Requirement
96
93
  requirements:
97
94
  - - "~>"
98
95
  - !ruby/object:Gem::Version
99
- version: '1.6'
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: 1.6.2
96
+ version: '1.18'
103
97
  - !ruby/object:Gem::Dependency
104
98
  name: faraday
105
99
  requirement: !ruby/object:Gem::Requirement