xezat 0.1.2 → 0.2.0
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 +4 -4
- data/.circleci/config.yml +3 -0
- data/.rubocop.yml +4 -3
- data/lib/xezat.rb +1 -1
- data/lib/xezat/command/bump.rb +2 -2
- data/lib/xezat/command/bump/cygport_dep.rb +9 -2
- data/lib/xezat/command/bump/runtime_package.rb +2 -2
- data/lib/xezat/command/init.rb +1 -1
- data/lib/xezat/command/port.rb +1 -0
- data/lib/xezat/config.rb +3 -3
- data/lib/xezat/detectors.rb +5 -1
- data/lib/xezat/generator/pkgconfig.rb +5 -5
- data/lib/xezat/main.rb +1 -1
- data/lib/xezat/variables.rb +2 -2
- data/lib/xezat/version.rb +1 -1
- data/share/xezat/compilers.json +7 -0
- data/xezat.gemspec +9 -9
- metadata +35 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ce894f06157cf37deb9e4e97f41da557c51a0a4af3b6c81caede3ee88f2f018
|
4
|
+
data.tar.gz: 5dba5ffae008660e41e8f2ec9c0e8940f05e5d1b7be432d013be58b84439627d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bb76ee8cc4c1a9717f6f07403c741eb9d09e819db8f08505a34f55a04374834bf1f0b45d724b968450f9d48a3c772214305f036fe5b39400d02338fe5207ae3
|
7
|
+
data.tar.gz: 4eb4b364e0e5baf15de4a9c5b486494c8efe84c4ffa71624b55a78c30cd34d224a66c9beb8ae759c7b688347d75eb9a4d5d0ad615bcbad5167551ea8326e9a64
|
data/.circleci/config.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
require: rubocop-performance
|
2
2
|
|
3
3
|
AllCops:
|
4
|
-
TargetRubyVersion: 2.
|
4
|
+
TargetRubyVersion: 2.6
|
5
5
|
Exclude:
|
6
6
|
- 'spec/cygport/**/*'
|
7
7
|
- 'vendor/**/*'
|
8
8
|
|
9
|
+
Layout/LineLength:
|
10
|
+
Max: 160
|
11
|
+
|
9
12
|
Metrics/AbcSize:
|
10
13
|
Max: 40
|
11
14
|
Metrics/BlockLength:
|
@@ -14,8 +17,6 @@ Metrics/BlockLength:
|
|
14
17
|
- 'spec/**/*'
|
15
18
|
Metrics/CyclomaticComplexity:
|
16
19
|
Max: 10
|
17
|
-
Metrics/LineLength:
|
18
|
-
Max: 160
|
19
20
|
Metrics/MethodLength:
|
20
21
|
Max: 35
|
21
22
|
Metrics/ParameterLists:
|
data/lib/xezat.rb
CHANGED
@@ -7,7 +7,7 @@ module Xezat
|
|
7
7
|
DATA_DIR = File.expand_path(File.join(ROOT_DIR, 'share', 'xezat'))
|
8
8
|
REPOSITORY_DIR = File.expand_path(File.join(DATA_DIR, 'repository'))
|
9
9
|
TEMPLATE_DIR = File.expand_path(File.join(DATA_DIR, 'template'))
|
10
|
-
|
10
|
+
CONFIG_FILE = File.expand_path(File.join(Dir.home, '.xezat', 'config.yml'))
|
11
11
|
|
12
12
|
class << self
|
13
13
|
attr_accessor :logger
|
data/lib/xezat/command/bump.rb
CHANGED
@@ -32,7 +32,7 @@ module Xezat
|
|
32
32
|
|
33
33
|
info = {
|
34
34
|
src_uri: get_src_uri(vars),
|
35
|
-
runtimes: get_runtime_packages(@cygport),
|
35
|
+
runtimes: get_runtime_packages(vars, @cygport),
|
36
36
|
developments: get_development_packages(vars, pkgs),
|
37
37
|
files: get_files(vars),
|
38
38
|
changelog: get_changelog(vars, @options, readme_file)
|
@@ -48,7 +48,7 @@ module Xezat
|
|
48
48
|
|
49
49
|
def get_embedded_contents(variables, info)
|
50
50
|
erb = File.expand_path(File.join(TEMPLATE_DIR, 'README.erb'))
|
51
|
-
ERB.new(File.readlines(erb).join(nil),
|
51
|
+
ERB.new(File.readlines(erb).join(nil), trim_mode: '%-').result(binding).chop # remove redundant new line
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -1,14 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'find'
|
3
4
|
require 'open3'
|
4
5
|
require 'xezat'
|
5
6
|
|
6
7
|
module Xezat
|
7
8
|
module Command
|
8
9
|
class Bump
|
9
|
-
def invoke_cygport_dep(cygport)
|
10
|
+
def invoke_cygport_dep(vars, cygport)
|
11
|
+
candidate_files = Find.find(vars[:D]).select do |file|
|
12
|
+
file.end_with?('.exe', '.dll', '.so')
|
13
|
+
end
|
14
|
+
additional_path = candidate_files.map do |file|
|
15
|
+
File.dirname(file)
|
16
|
+
end.sort.uniq.join(':')
|
10
17
|
command = ['bash', File.expand_path(File.join(DATA_DIR, 'invoke_cygport_dep.sh')), cygport]
|
11
|
-
result, error, status = Open3.capture3(command.join(' '))
|
18
|
+
result, error, status = Open3.capture3({ 'PATH' => ENV['PATH'] + ':' + additional_path }, command.join(' '))
|
12
19
|
raise CygportProcessError, error unless status.success?
|
13
20
|
|
14
21
|
result
|
@@ -7,9 +7,9 @@ require 'xezat/variables'
|
|
7
7
|
module Xezat
|
8
8
|
module Command
|
9
9
|
class Bump
|
10
|
-
def get_runtime_packages(cygport)
|
10
|
+
def get_runtime_packages(vars, cygport)
|
11
11
|
Xezat.logger.debug('Collect runtime packages from cygport dep')
|
12
|
-
result = invoke_cygport_dep(cygport)
|
12
|
+
result = invoke_cygport_dep(vars, cygport)
|
13
13
|
result.gsub(/^.*\*\*\*.*$/, '').split($INPUT_RECORD_SEPARATOR).map(&:lstrip)
|
14
14
|
end
|
15
15
|
end
|
data/lib/xezat/command/init.rb
CHANGED
@@ -74,7 +74,7 @@ module Xezat
|
|
74
74
|
|
75
75
|
def get_cygport(template_variables, category, summary, description, cygclasses, cygport)
|
76
76
|
erb = File.expand_path(File.join(TEMPLATE_DIR, 'cygport.erb'))
|
77
|
-
ERB.new(File.readlines(erb).join(nil),
|
77
|
+
ERB.new(File.readlines(erb).join(nil), trim_mode: '%-').result(binding)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
data/lib/xezat/command/port.rb
CHANGED
data/lib/xezat/config.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'yaml'
|
4
4
|
|
5
5
|
module Xezat
|
6
6
|
def config(filepath = nil)
|
7
|
-
config =
|
7
|
+
config = {}
|
8
8
|
config['cygwin'] = {
|
9
9
|
'cygclassdir' => '/usr/share/cygport/cygclass'
|
10
10
|
}
|
11
11
|
config['xezat'] = {
|
12
12
|
}
|
13
|
-
config.merge!(
|
13
|
+
config.merge!(YAML.load_file(filepath)) if filepath
|
14
14
|
config
|
15
15
|
end
|
16
16
|
end
|
data/lib/xezat/detectors.rb
CHANGED
@@ -8,7 +8,7 @@ module Xezat
|
|
8
8
|
def initialize(detector_dir = File.expand_path(File.join(File.dirname(__FILE__), 'detector')))
|
9
9
|
Xezat.logger.debug('Load detectors')
|
10
10
|
@detectors = {}
|
11
|
-
Dir.glob(File.join(detector_dir, '*.rb')) do |rb|
|
11
|
+
Dir.glob(File.join(detector_dir, '*.rb')).sort.each do |rb|
|
12
12
|
require rb
|
13
13
|
@detectors[File.basename(rb, '.rb').intern] = Object.const_get("Xezat::Detector::#{File.basename(rb, '.rb').camelize}").new
|
14
14
|
end
|
@@ -25,6 +25,10 @@ module Xezat
|
|
25
25
|
Xezat.logger.debug(" #{name} ... no")
|
26
26
|
end
|
27
27
|
end
|
28
|
+
if tools.include?(:python27) && (tools.include?(:python36) || tools.include?(:python37))
|
29
|
+
Xezat.logger.debug(' Remove python27 because of detecting python3x')
|
30
|
+
tools.delete(:python27)
|
31
|
+
end
|
28
32
|
tools
|
29
33
|
end
|
30
34
|
end
|
@@ -44,13 +44,13 @@ module Xezat
|
|
44
44
|
|
45
45
|
def get_pkg_config(variables)
|
46
46
|
erb = File.expand_path(File.join(TEMPLATE_DIR, 'pkgconfig.erb'))
|
47
|
-
ERB.new(File.readlines(erb).join(nil),
|
47
|
+
ERB.new(File.readlines(erb).join(nil), trim_mode: '%-').result(binding)
|
48
48
|
end
|
49
49
|
|
50
50
|
def append_commands_to_cmakelists(variables)
|
51
51
|
srcdir = variables[:CYGCMAKE_SOURCE] || variables[:S]
|
52
52
|
cmakelists = File.expand_path(File.join(srcdir, 'CMakeLists.txt'))
|
53
|
-
return if
|
53
|
+
return if %r!DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig!.match?(File.read(cmakelists))
|
54
54
|
|
55
55
|
File.atomic_open(cmakelists, 'a') do |f|
|
56
56
|
f.write(get_cmakelists(variables))
|
@@ -59,7 +59,7 @@ module Xezat
|
|
59
59
|
|
60
60
|
def get_cmakelists(variables)
|
61
61
|
erb = File.expand_path(File.join(TEMPLATE_DIR, 'cmake.erb'))
|
62
|
-
ERB.new(File.readlines(erb).join(nil),
|
62
|
+
ERB.new(File.readlines(erb).join(nil), trim_mode: '%-').result(binding)
|
63
63
|
end
|
64
64
|
|
65
65
|
def append_commands_to_autotools(variables)
|
@@ -71,7 +71,7 @@ module Xezat
|
|
71
71
|
|
72
72
|
original_ac = File.read(configure_ac)
|
73
73
|
|
74
|
-
return if
|
74
|
+
return if /#{pn}.pc/.match?(original_ac)
|
75
75
|
|
76
76
|
original_ac.gsub!(/(AC_CONFIG_FILES\(\[)/, '\1' + "#{pn}.pc ")
|
77
77
|
File.atomic_write(configure_ac) do |fa|
|
@@ -80,7 +80,7 @@ module Xezat
|
|
80
80
|
makefile_am = File.expand_path(File.join(srcdir, 'Makefile.am'))
|
81
81
|
raise AutotoolsFileNotFoundError unless File.exist?(makefile_am)
|
82
82
|
|
83
|
-
break if File.read(makefile_am)
|
83
|
+
break if /pkgconfig_DATA/.match?(File.read(makefile_am))
|
84
84
|
|
85
85
|
commands_am = File.read(File.expand_path(File.join(TEMPLATE_DIR, 'Makefile.am')))
|
86
86
|
File.atomic_open(makefile_am, 'a') do |fm|
|
data/lib/xezat/main.rb
CHANGED
@@ -8,7 +8,7 @@ require 'xezat/version'
|
|
8
8
|
module Xezat
|
9
9
|
class Main < Thor
|
10
10
|
include ZshCompletion::Command
|
11
|
-
class_option :config, type: :string, aliases: '-c', desc: 'specify config', default:
|
11
|
+
class_option :config, type: :string, aliases: '-c', desc: 'specify config', default: CONFIG_FILE
|
12
12
|
class_option :help, type: :boolean, aliases: '-h', desc: 'help message'
|
13
13
|
|
14
14
|
desc 'version', 'Print version'
|
data/lib/xezat/variables.rb
CHANGED
@@ -16,8 +16,8 @@ module Xezat
|
|
16
16
|
|
17
17
|
if File.exist?(cache_file) && File.ctime(cache_file) > File.ctime(cygport)
|
18
18
|
Xezat.logger.debug(' Read cache for variables')
|
19
|
-
return YAML.safe_load(File.open(cache_file), [Symbol]).
|
20
|
-
v.strip! if v.respond_to?(:strip)
|
19
|
+
return YAML.safe_load(File.open(cache_file), [Symbol]).each do |k, v|
|
20
|
+
v.strip! if v.respond_to?(:strip) && k != :DESCRIPTION
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
data/lib/xezat/version.rb
CHANGED
data/share/xezat/compilers.json
CHANGED
data/xezat.gemspec
CHANGED
@@ -21,21 +21,21 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.bindir = 'exe'
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
|
-
spec.required_ruby_version = '>= 2.
|
24
|
+
spec.required_ruby_version = '>= 2.6.4'
|
25
25
|
|
26
26
|
spec.add_runtime_dependency 'facets', '>= 3.1.0'
|
27
|
-
spec.add_runtime_dependency 'github-linguist', '>= 7.
|
28
|
-
spec.add_runtime_dependency '
|
29
|
-
spec.add_runtime_dependency '
|
30
|
-
spec.add_runtime_dependency 'pkg-config', '>= 1.3.9'
|
27
|
+
spec.add_runtime_dependency 'github-linguist', '>= 7.11.0'
|
28
|
+
spec.add_runtime_dependency 'io-console', '>= 0.5.6'
|
29
|
+
spec.add_runtime_dependency 'pkg-config', '>= 1.4.2'
|
31
30
|
spec.add_runtime_dependency 'thor', '>= 0.20.3'
|
32
|
-
spec.add_runtime_dependency 'thor-zsh_completion', '>= 0.1.
|
31
|
+
spec.add_runtime_dependency 'thor-zsh_completion', '>= 0.1.7'
|
33
32
|
|
34
33
|
spec.add_development_dependency 'bundler', '>= 1.15.3'
|
35
|
-
spec.add_development_dependency 'fasterer', '>= 0.
|
34
|
+
spec.add_development_dependency 'fasterer', '>= 0.8.3'
|
36
35
|
spec.add_development_dependency 'rake', '>= 13.0'
|
37
36
|
spec.add_development_dependency 'rspec', '>= 3.9.0'
|
38
37
|
spec.add_development_dependency 'rspec_junit_formatter', '<= 0.4.1'
|
39
|
-
spec.add_development_dependency 'rubocop', '>= 0.
|
40
|
-
spec.add_development_dependency 'rubocop-performance', '>= 1.
|
38
|
+
spec.add_development_dependency 'rubocop', '>= 0.90.0'
|
39
|
+
spec.add_development_dependency 'rubocop-performance', '>= 1.8.0'
|
40
|
+
spec.add_development_dependency 'simplecov', '>= 0.19.0'
|
41
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xezat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daisuke Fujimura (fd0)
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: facets
|
@@ -30,56 +30,42 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 7.
|
33
|
+
version: 7.11.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 7.
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: inifile
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.0.0
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.0.0
|
40
|
+
version: 7.11.0
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: io-console
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
47
|
+
version: 0.5.6
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
54
|
+
version: 0.5.6
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: pkg-config
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
61
|
+
version: 1.4.2
|
76
62
|
type: :runtime
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
66
|
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
68
|
+
version: 1.4.2
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: thor
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +86,14 @@ dependencies:
|
|
100
86
|
requirements:
|
101
87
|
- - ">="
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.1.
|
89
|
+
version: 0.1.7
|
104
90
|
type: :runtime
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - ">="
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.1.
|
96
|
+
version: 0.1.7
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: bundler
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +114,14 @@ dependencies:
|
|
128
114
|
requirements:
|
129
115
|
- - ">="
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.
|
117
|
+
version: 0.8.3
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - ">="
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
124
|
+
version: 0.8.3
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: rake
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,28 +170,42 @@ dependencies:
|
|
184
170
|
requirements:
|
185
171
|
- - ">="
|
186
172
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
173
|
+
version: 0.90.0
|
188
174
|
type: :development
|
189
175
|
prerelease: false
|
190
176
|
version_requirements: !ruby/object:Gem::Requirement
|
191
177
|
requirements:
|
192
178
|
- - ">="
|
193
179
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
180
|
+
version: 0.90.0
|
195
181
|
- !ruby/object:Gem::Dependency
|
196
182
|
name: rubocop-performance
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
198
184
|
requirements:
|
199
185
|
- - ">="
|
200
186
|
- !ruby/object:Gem::Version
|
201
|
-
version: 1.
|
187
|
+
version: 1.8.0
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 1.8.0
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: simplecov
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 0.19.0
|
202
202
|
type: :development
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - ">="
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
208
|
+
version: 0.19.0
|
209
209
|
description: xezat helps you win at cygport.
|
210
210
|
email:
|
211
211
|
- booleanlabel@gmail.com
|
@@ -295,7 +295,7 @@ homepage: https://github.com/fd00/xezat
|
|
295
295
|
licenses:
|
296
296
|
- MIT
|
297
297
|
metadata: {}
|
298
|
-
post_install_message:
|
298
|
+
post_install_message:
|
299
299
|
rdoc_options: []
|
300
300
|
require_paths:
|
301
301
|
- lib
|
@@ -303,16 +303,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
303
303
|
requirements:
|
304
304
|
- - ">="
|
305
305
|
- !ruby/object:Gem::Version
|
306
|
-
version: 2.
|
306
|
+
version: 2.6.4
|
307
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
308
308
|
requirements:
|
309
309
|
- - ">="
|
310
310
|
- !ruby/object:Gem::Version
|
311
311
|
version: '0'
|
312
312
|
requirements: []
|
313
|
-
|
314
|
-
|
315
|
-
signing_key:
|
313
|
+
rubygems_version: 3.1.2
|
314
|
+
signing_key:
|
316
315
|
specification_version: 4
|
317
316
|
summary: xezat helps you win at cygport.
|
318
317
|
test_files: []
|