pkgforge 0.26.0 → 0.28.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: db428168b67ebc4529a958db211c17b5dc15048026dbb8d7a4008c8164fe7524
4
- data.tar.gz: 74f9a10516ce116473e41bc35d2dcbb2ff4674fef1e8cbf05e6c5c07cfe6f674
3
+ metadata.gz: abb836ade461f7c09cd0f2e23a2219291ee0a93cc431b903ff32e44cdddf4f87
4
+ data.tar.gz: 3ec234443d2a0a42df6061bb5bb466936ad896dc0da11a83b53a45338af32514
5
5
  SHA512:
6
- metadata.gz: d733b393180ee74dc3c271f98884c1e89c9639b5b379315d4068566f50bcff7fc596d1b2cdd6104c5625fbf03cda4e288e73c8823cc4f0c08f8281937d8348c0
7
- data.tar.gz: 941c164622cbe2629045994784abb31921893b1a7f5bf19927c1ffdcfa48dbac0576e28a9f606f2528c480567669a81c9b61ff94e213b5a15c48460add663eed
6
+ metadata.gz: a680525d1ffb74fb7f56743225383bf41b37b6e6c0226bedc4bc7a8540fa3a4139aa04b8ac7b9beddbe34fa7c6c95b781aa31ee2738ee6f772e57aef1e346b66
7
+ data.tar.gz: 4ef6d12818959faa64b7650a79fea350a8d8541038ebe7a3d94f6b5ee4d54ef476b2918ef1bc400d6d16ee85432ac871dcb1b33c6d38c15df19b274ea58d8fbc
@@ -0,0 +1,46 @@
1
+ name: Build
2
+ on:
3
+ pull_request:
4
+ push:
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ runs-on: ubuntu-22.04
9
+ permissions:
10
+ contents: write
11
+ steps:
12
+ - name: Checkout
13
+ uses: actions/checkout@v3
14
+ with:
15
+ submodules: recursive
16
+ - uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: '3.1'
19
+ bundler-cache: true
20
+ - name: Build
21
+ run: bundle exec rake
22
+ - name: Release
23
+ if: github.ref_type == 'tag'
24
+ run: bundle exec rake release
25
+ env:
26
+ GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
27
+ - name: Post to a Slack channel
28
+ if: ${{ failure() }}
29
+ uses: slackapi/slack-github-action@v1.18.0
30
+ env:
31
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
32
+ SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
33
+ with:
34
+ payload: |
35
+ {
36
+ "text": "*${{ github.repository }}*\nBuild failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
37
+ "blocks": [
38
+ {
39
+ "type": "section",
40
+ "text": {
41
+ "type": "mrkdwn",
42
+ "text": "*${{ github.repository }}*\nBuild failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
43
+ }
44
+ }
45
+ ]
46
+ }
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Les Aker
3
+ Copyright (c) 2022 Les Aker
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -2,9 +2,7 @@ pkgforge
2
2
  =========
3
3
 
4
4
  [![Gem Version](https://img.shields.io/gem/v/pkgforge.svg)](https://rubygems.org/gems/pkgforge)
5
- [![Build Status](https://img.shields.io/travis/com/akerl/pkgforge.svg)](https://travis-ci.com/akerl/pkgforge)
6
- [![Coverage Status](https://img.shields.io/codecov/c/github/akerl/pkgforge.svg)](https://codecov.io/github/akerl/pkgforge)
7
- [![Code Quality](https://img.shields.io/codacy/fb7636f572b04067801ac9024ed71228.svg)](https://www.codacy.com/app/akerl/pkgforge)
5
+ [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/akerl/pkgforge/Build)](https://github.com/akerl/pkgforge/actions)
8
6
  [![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
9
7
 
10
8
  DSL engine for building Arch packages
data/bin/pkgforge CHANGED
@@ -6,11 +6,9 @@ require 'mercenary'
6
6
  FILE_NAME = '.pkgforge'.freeze
7
7
 
8
8
  def add_common_opts(cmd)
9
- # rubocop:disable Metrics/LineLength
10
9
  cmd.option :directory, '-d DIR', '--directory DIR', 'Change to directory before loading'
11
10
  cmd.option :skipcleanup, '-s', '--skipcleanup', 'Skip cleanup of tmpdirs and tmpfiles'
12
11
  cmd.option :statefile, '--statefile FILE', 'State file to re-use build directories'
13
- # rubocop:enable Metrics/LineLength
14
12
  end
15
13
 
16
14
  def get_file(options)
@@ -30,7 +30,7 @@ module PkgForge
30
30
  Contract Maybe[ArrayOf[String]] => nil
31
31
  def libs(value = nil)
32
32
  value ||= @forge.deps.keys
33
- value.map! { |x| '-l' + x.to_s }
33
+ value.map! { |x| "-l#{x}" }
34
34
  @forge.libs += value
35
35
  nil
36
36
  end
@@ -47,7 +47,7 @@ module PkgForge
47
47
  def download_file(dep_name, dep_hash, file)
48
48
  dep_hash[:org] ||= org
49
49
  dep_hash[:site] ||= 'https://github.com'
50
- url = "#{dep_hash[:site]}/#{dep_hash[:org]}/#{dep_name}/releases/download/#{dep_hash[:version]}/#{dep_name}.tar.gz" # rubocop:disable Metrics/LineLength
50
+ url = "#{dep_hash[:site]}/#{dep_hash[:org]}/#{dep_name}/releases/download/#{dep_hash[:version]}/#{dep_name}.tar.gz" # rubocop:disable Layout/LineLength
51
51
  File.open(file, 'wb') do |fh|
52
52
  fh << open(url, 'rb').read # rubocop:disable Security/Open
53
53
  end
@@ -64,7 +64,7 @@ module PkgForge
64
64
  else
65
65
  actual = Digest::SHA256.file(file).hexdigest
66
66
  return if actual == expected
67
- raise "Checksum fail for #{file}: #{actual} (actual) != #{expected} (expected)" # rubocop:disable Metrics/LineLength
67
+ raise "Checksum fail for #{file}: #{actual} (actual) != #{expected} (expected)"
68
68
  end
69
69
  end
70
70
 
@@ -75,7 +75,7 @@ module PkgForge
75
75
 
76
76
  Contract None => nil
77
77
  def remove_linker_archives!
78
- deps.keys.each do |dep_name|
78
+ deps.each_key do |dep_name|
79
79
  File.unlink(*Dir.glob("#{tmpdir(dep_name)}/**/*.la"))
80
80
  end
81
81
  nil
@@ -83,7 +83,7 @@ module PkgForge
83
83
 
84
84
  Contract None => nil
85
85
  def remove_pkgconfig_files!
86
- deps.keys.each do |dep_name|
86
+ deps.each_key do |dep_name|
87
87
  File.unlink(*Dir.glob("#{tmpdir(dep_name)}/**/*.pc"))
88
88
  end
89
89
  nil
@@ -97,7 +97,7 @@ module PkgForge
97
97
  Contract HashOf[Symbol => Or[String, Hash]] => nil
98
98
  def deps(value)
99
99
  value = value.map { |k, v| [k, v.is_a?(Hash) ? v : { version: v }] }
100
- @forge.deps = Hash[value]
100
+ @forge.deps = value.to_h
101
101
  nil
102
102
  end
103
103
 
@@ -39,7 +39,7 @@ module PkgForge
39
39
  def upload_artifacts!
40
40
  return unless state[:artifacts]
41
41
  state[:artifacts].each do |artifact|
42
- args = ['targit', '--authfile', '.creds_github', '--create']
42
+ args = ['targit', '--authfile', '.creds_github', '--create', '--force']
43
43
  args += ['--name', artifact[:name]]
44
44
  args += ['--endpoint', endpoint] if endpoint
45
45
  args += ["#{org}/#{name}", version, artifact[:source]]
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Declare version number
3
3
  module PkgForge
4
- VERSION = '0.26.0'.freeze
4
+ VERSION = '0.28.0'.freeze
5
5
  end
data/pkgforge.gemspec CHANGED
@@ -5,7 +5,8 @@ require 'pkgforge/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'pkgforge'
7
7
  s.version = PkgForge::VERSION
8
- s.date = Time.now.strftime('%Y-%m-%d')
8
+
9
+ s.required_ruby_version = '>= 3.0'
9
10
 
10
11
  s.summary = 'DSL engine for building Arch packages'
11
12
  s.description = 'DSL engine for building Arch packages'
@@ -15,17 +16,12 @@ Gem::Specification.new do |s|
15
16
  s.license = 'MIT'
16
17
 
17
18
  s.files = `git ls-files`.split
18
- s.test_files = `git ls-files spec/*`.split
19
19
  s.executables = ['pkgforge']
20
20
 
21
- s.add_dependency 'contracts', '~> 0.16.0'
21
+ s.add_dependency 'contracts', '~> 0.17.0'
22
22
  s.add_dependency 'cymbal', '~> 2.0.0'
23
- s.add_dependency 'mercenary', '~> 0.3.4'
23
+ s.add_dependency 'mercenary', '~> 0.4.0'
24
24
 
25
- s.add_development_dependency 'codecov', '~> 0.1.1'
26
- s.add_development_dependency 'fuubar', '~> 2.5.0'
27
- s.add_development_dependency 'goodcop', '~> 0.8.0'
28
- s.add_development_dependency 'rake', '~> 13.0.0'
29
- s.add_development_dependency 'rspec', '~> 3.9.0'
30
- s.add_development_dependency 'rubocop', '~> 0.76.0'
25
+ s.add_development_dependency 'goodcop', '~> 0.9.5'
26
+ s.metadata['rubygems_mfa_required'] = 'true'
31
27
  end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,2 @@
1
- if ENV['CI'] == 'true'
2
- require 'simplecov'
3
- require 'codecov'
4
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
5
- SimpleCov.start do
6
- add_filter '/spec/'
7
- end
8
- end
9
-
10
1
  require 'rspec'
11
2
  require 'pkgforge'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkgforge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.0
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-17 00:00:00.000000000 Z
11
+ date: 2022-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: contracts
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: 0.17.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.16.0
26
+ version: 0.17.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cymbal
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,98 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.3.4
47
+ version: 0.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.3.4
55
- - !ruby/object:Gem::Dependency
56
- name: codecov
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 0.1.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.1.1
69
- - !ruby/object:Gem::Dependency
70
- name: fuubar
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 2.5.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 2.5.0
54
+ version: 0.4.0
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: goodcop
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - "~>"
88
60
  - !ruby/object:Gem::Version
89
- version: 0.8.0
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 0.8.0
97
- - !ruby/object:Gem::Dependency
98
- name: rake
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 13.0.0
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 13.0.0
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 3.9.0
61
+ version: 0.9.5
118
62
  type: :development
119
63
  prerelease: false
120
64
  version_requirements: !ruby/object:Gem::Requirement
121
65
  requirements:
122
66
  - - "~>"
123
67
  - !ruby/object:Gem::Version
124
- version: 3.9.0
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 0.76.0
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 0.76.0
68
+ version: 0.9.5
139
69
  description: DSL engine for building Arch packages
140
70
  email: me@lesaker.org
141
71
  executables:
@@ -143,12 +73,10 @@ executables:
143
73
  extensions: []
144
74
  extra_rdoc_files: []
145
75
  files:
146
- - ".circle-ruby"
76
+ - ".github/workflows/build.yml"
147
77
  - ".gitignore"
148
- - ".prospectus"
149
78
  - ".rspec"
150
79
  - ".rubocop.yml"
151
- - ".travis.yml"
152
80
  - Gemfile
153
81
  - LICENSE
154
82
  - README.md
@@ -177,7 +105,8 @@ files:
177
105
  homepage: https://github.com/akerl/pkgforge
178
106
  licenses:
179
107
  - MIT
180
- metadata: {}
108
+ metadata:
109
+ rubygems_mfa_required: 'true'
181
110
  post_install_message:
182
111
  rdoc_options: []
183
112
  require_paths:
@@ -186,17 +115,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
115
  requirements:
187
116
  - - ">="
188
117
  - !ruby/object:Gem::Version
189
- version: '0'
118
+ version: '3.0'
190
119
  required_rubygems_version: !ruby/object:Gem::Requirement
191
120
  requirements:
192
121
  - - ">="
193
122
  - !ruby/object:Gem::Version
194
123
  version: '0'
195
124
  requirements: []
196
- rubygems_version: 3.0.1
125
+ rubygems_version: 3.3.7
197
126
  signing_key:
198
127
  specification_version: 4
199
128
  summary: DSL engine for building Arch packages
200
- test_files:
201
- - spec/pkgforge_spec.rb
202
- - spec/spec_helper.rb
129
+ test_files: []
data/.circle-ruby DELETED
@@ -1,4 +0,0 @@
1
- 2.6.1
2
- 2.5.3
3
- 2.4.5
4
- 2.3.8
data/.prospectus DELETED
@@ -1,11 +0,0 @@
1
- my_slug = 'akerl/pkgforge'
2
-
3
- Prospectus.extra_dep('file', 'prospectus_travis')
4
- Prospectus.extra_dep('file', 'prospectus_gems')
5
-
6
- item do
7
- noop
8
-
9
- extend ProspectusGems::Gemspec.new
10
- extend ProspectusTravis::Build.new(my_slug)
11
- end
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- dist: xenial
2
- install:
3
- - for i in $(cat .circle-ruby) ; do rvm install $i || exit 1 ; done
4
- - for i in $(cat .circle-ruby) ; do rvm-exec $i bundle install || exit 1 ; done
5
- script:
6
- - for i in $(cat .circle-ruby) ; do rvm-exec $i bundle exec rake || exit 1 ; done
7
- notifications:
8
- email: false
9
- slack:
10
- secure: hiSpJYwTPJUSw9aS2AG28isKW8Sel209yOVRRwr5U0LV5XLsiMCIHjc8sUPliTIcHNEZgBkoBdVe9cEMpcIwV5oeHWJi/tPt0dMISJ5P8K1mG0i2ULk5Up7vOUDN0WctL8CzhiGCcMr/H1lk3VbHKsxgcozIitnocCIwZuswJqNwu2XpkRw5xxVIMAK9tIZGfH+XMwFZcLghQsAF55fHyKYUVVI5n7PMLVbiDY8u9cVlZKL4qa3dBuus903f/zPGSJXbLcPqnVbuyOlIewxSNaPDX7YjIAdgkNk4IE+gCO82FnNpkWqVdtGT8Nx0PLOkt5FICl7aBFjIanFV1NnMo7qVXj0XNRdIoMBqx5T3WKp9k1EaYnaZwDax1zEDamyUSikwc0BPjnW1gZX5Hv6bQAVMWoXIZz9xJVd1Opv2sH1v534e+eCdcqHBv5sIFbYofeN3KvBEfdFBE4YHorT0u/rtBOBoNBVwrstjvNs3W9CbGqgubH2JUtCky2W+4mXwpmndXTYG8DZkMZ7YCqlQYgJLyPuLdxUjSz6IdMVaz/g8c5/d71jlJuiBl+VX6vFMmtec0/e9ivwH5RhkcsYrGw6dkKh3qymmdoHgc65K5dOLluNvZf/AQyInVXZAivKb2ppIW1t9pjaWN2wX6hEP7Vb8516OwJYzuGHUJFrBpUY=