erhu 0.1.4 → 0.1.5

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
  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