xezat 0.1.2 → 0.2.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
  SHA256:
3
- metadata.gz: e515798ac8ff0a0f6f60ba790faa9ee4e7b3c2fdbe70f55484d7c180929961a7
4
- data.tar.gz: d5159b3b559a9bd19f9f67bf14e1d0e496c052d83579286289446ece688c2be9
3
+ metadata.gz: 5ce894f06157cf37deb9e4e97f41da557c51a0a4af3b6c81caede3ee88f2f018
4
+ data.tar.gz: 5dba5ffae008660e41e8f2ec9c0e8940f05e5d1b7be432d013be58b84439627d
5
5
  SHA512:
6
- metadata.gz: b1dae9f8ee739e65769e5466d973c02876c5dc7e170aa7f52d3c3c6f014cf74fe200fd9300dd2db27df0ad6c49ddbf4dfade8f7f0986382a76e127e4932cca75
7
- data.tar.gz: 81d6a0943f8f8160bfd0ac4b16b6517700392a91119b5472f2c78721f2f99ba71a35ae7d2925059da12b8c376bb2296f051b9e14910ac79cd4e2aca104a11597
6
+ metadata.gz: 1bb76ee8cc4c1a9717f6f07403c741eb9d09e819db8f08505a34f55a04374834bf1f0b45d724b968450f9d48a3c772214305f036fe5b39400d02338fe5207ae3
7
+ data.tar.gz: 4eb4b364e0e5baf15de4a9c5b486494c8efe84c4ffa71624b55a78c30cd34d224a66c9beb8ae759c7b688347d75eb9a4d5d0ad615bcbad5167551ea8326e9a64
@@ -73,3 +73,6 @@ jobs:
73
73
  # Collect reports
74
74
  - store_test_results:
75
75
  path: /tmp/test-results
76
+ - store_artifacts:
77
+ path: ~/repo/coverage
78
+ destination: coverage
@@ -1,11 +1,14 @@
1
1
  require: rubocop-performance
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.3
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:
@@ -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
- INI_FILE = File.expand_path(File.join(Dir.home, '.xezat'))
10
+ CONFIG_FILE = File.expand_path(File.join(Dir.home, '.xezat', 'config.yml'))
11
11
 
12
12
  class << self
13
13
  attr_accessor :logger
@@ -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), nil, '%-').result(binding).chop # remove redundant new line
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
@@ -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), nil, '%-').result(binding)
77
+ ERB.new(File.readlines(erb).join(nil), trim_mode: '%-').result(binding)
78
78
  end
79
79
  end
80
80
  end
@@ -43,6 +43,7 @@ module Xezat
43
43
  port_dir = conf['xezat']['portdir'] || options[:portdir]
44
44
  raise NoPortDirectoryError if port_dir.nil?
45
45
 
46
+ Xezat.logger.debug("Port directory: #{port_dir}")
46
47
  port_dir
47
48
  end
48
49
  end
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'inifile'
3
+ require 'yaml'
4
4
 
5
5
  module Xezat
6
6
  def config(filepath = nil)
7
- config = IniFile.new
7
+ config = {}
8
8
  config['cygwin'] = {
9
9
  'cygclassdir' => '/usr/share/cygport/cygclass'
10
10
  }
11
11
  config['xezat'] = {
12
12
  }
13
- config.merge!(IniFile.load(filepath)) if filepath
13
+ config.merge!(YAML.load_file(filepath)) if filepath
14
14
  config
15
15
  end
16
16
  end
@@ -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), nil, '%-').result(binding)
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 File.read(cmakelists) =~ %r!DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig!
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), nil, '%-').result(binding)
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 original_ac =~ /#{pn}.pc/
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) =~ /pkgconfig_DATA/
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|
@@ -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: INI_FILE
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'
@@ -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]).each_value do |v|
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
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Xezat
4
- VERSION = '0.1.2'
4
+ VERSION = '0.2.0'
5
5
  end
@@ -22,6 +22,13 @@
22
22
  "gcc-core"
23
23
  ]
24
24
  },
25
+ "Fortran Free Form": {
26
+ "package": "gcc-fortran",
27
+ "dependencies": [
28
+ "binutils",
29
+ "gcc-core"
30
+ ]
31
+ },
25
32
  "Lex": {
26
33
  "package": "flex"
27
34
  },
@@ -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.3.6'
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.6.1'
28
- spec.add_runtime_dependency 'inifile', '>= 3.0.0'
29
- spec.add_runtime_dependency 'io-console', '>= 0.4.6'
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.5'
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.7.1'
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.75.0'
40
- spec.add_development_dependency 'rubocop-performance', '>= 1.5.0'
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.1.2
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: 2019-10-08 00:00:00.000000000 Z
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.6.1
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.6.1
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.4.6
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.4.6
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.3.9
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.3.9
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.5
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.5
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.7.1
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.7.1
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.75.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.75.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.5.0
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: 1.5.0
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.3.6
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
- rubyforge_project:
314
- rubygems_version: 2.7.6
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: []