raketeer 0.2.7 → 0.2.8

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: 5d024ad7fff342f32aa3d07ed4eafdb0b42996e6812bc7b5c083bd7251aebef8
4
- data.tar.gz: 1daff5b05304afc6ec8e3a8eeca34a3bb107e3fef435d65a8c057c6a4289a3e9
3
+ metadata.gz: 643b4e0e40f07b06dbbeb4e657c933a120913bccd8f11092d2fef59880205ccb
4
+ data.tar.gz: eb8cd4d531b70b30194cd262e86ed2a0f43363ccd05bef0480c451f57f9d18c3
5
5
  SHA512:
6
- metadata.gz: 7f9e8d44767109f49cc8ef9edc0150200d00819c33845ff6876bd8b0fdb5622caaf298b6727fba1ca5672a59dc539cdafc5b87c15447f0a40fb9c4975aa32a74
7
- data.tar.gz: 26a662ef27360ea9eb158254acb7687d765b6bc6f5933414d88b3dd5ddf8b68783850680cdea18cd4c8e75e2644b279a0076d94a759faa407dde260f6e0443f8
6
+ metadata.gz: '098c9e27b22dce5a44dc0030e5d4b784baca723ee3fdea62fb949a7cb470dc9b770094b40000dc914e36351f3ab37c6d3e0d7a41b3a8886a984afdef2854eb97'
7
+ data.tar.gz: 70fec0564a8d1a560d365cfd6eca9d9091bd9aa77797701484ec632d437b09924c07c633bd099c2ef656ab277e0566465b15e17d7de78901162def2e77cba249
data/CHANGELOG.md CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  Format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [[Unreleased]](https://github.com/esotericpig/raketeer/compare/v0.2.7...master)
5
+ ## [[Unreleased]](https://github.com/esotericpig/raketeer/compare/v0.2.8...master)
6
+
7
+ ## [v0.2.8] - 2020-03-01
8
+ ### Added
9
+ - GitHubPkg (lib/raketeer/github_pkg.rb)
10
+ - GitHubPkgTask (lib/raketeer/github_pkg_task.rb)
11
+ - Publish/Push your `pkg/*.gem` release(s) to GitHub Packages
6
12
 
7
13
  ## [v0.2.7] - 2019-12-18
8
14
  ### Added
data/README.md CHANGED
@@ -65,6 +65,7 @@ Or, include the specific tasks that you need:
65
65
 
66
66
  ```Ruby
67
67
  require 'raketeer/bump'
68
+ require 'raketeer/github_pkg'
68
69
  require 'raketeer/irb'
69
70
  require 'raketeer/nokogiri_installs'
70
71
  require 'raketeer/run'
@@ -89,6 +90,7 @@ rake bump:major[major] # Bump/Set the major version
89
90
  rake bump:minor[minor] # Bump/Set the minor version
90
91
  rake bump:patch[patch] # Bump/Set the patch version
91
92
  rake bump:pre[pre] # Set/Erase the pre-release version
93
+ rake github_pkg # Publish this project's gem(s) to GitHub Packages
92
94
  rake irb # Open an irb session loaded with this library
93
95
  rake nokogiri_apt # Install Nokogiri libs for Ubuntu/Debian
94
96
  rake nokogiri_dnf # Install Nokogiri libs for Fedora/CentOS/Red Hat
@@ -132,6 +134,7 @@ rake bump:bundle # Bump the Gemfile.lock version
132
134
  If you need more control, for now, please look at the accessors of each task (better documentation is planned for v1.0.0):
133
135
 
134
136
  - [BumpTask](lib/raketeer/bump_task.rb)
137
+ - [GitHubPkgTask](lib/raketeer/github_pkg_task.rb)
135
138
  - [IRBTask](lib/raketeer/irb_task.rb)
136
139
  - [NokogiriAPTTask](lib/raketeer/nokogiri_install_tasks.rb)
137
140
  - [NokogiriDNFTask](lib/raketeer/nokogiri_install_tasks.rb)
@@ -146,12 +149,20 @@ require 'raketeer/bump_task'
146
149
  Raketeer::BumpTask.new() do |task|
147
150
  task.strict = true
148
151
  end
152
+
153
+ require 'raketeer/github_pkg_task'
154
+
155
+ Raketeer::GitHubPkgTask.new() do |task|
156
+ task.deps << 'test'
157
+ task.username = 'esotericpig'
158
+ end
149
159
  ```
150
160
 
151
161
  ## [Hacking](#contents)
152
162
 
153
163
  ```
154
164
  $ git clone 'https://github.com/esotericpig/raketeer.git'
165
+ $ cd raketeer
155
166
  $ bundle install
156
167
  $ bundle exec rake -T
157
168
  ```
@@ -161,7 +172,7 @@ $ bundle exec rake -T
161
172
  [GNU LGPL v3+](LICENSE.txt)
162
173
 
163
174
  > Raketeer (<https://github.com/esotericpig/raketeer>)
164
- > Copyright (c) 2019 Jonathan Bradley Whited (@esotericpig)
175
+ > Copyright (c) 2019-2020 Jonathan Bradley Whited (@esotericpig)
165
176
  >
166
177
  > Raketeer is free software: you can redistribute it and/or modify
167
178
  > it under the terms of the GNU Lesser General Public License as published by
data/lib/raketeer.rb CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  #--
6
6
  # This file is part of Raketeer.
7
- # Copyright (c) 2019 Jonathan Bradley Whited (@esotericpig)
7
+ # Copyright (c) 2019-2020 Jonathan Bradley Whited (@esotericpig)
8
8
  #
9
9
  # Raketeer is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published by
@@ -24,6 +24,7 @@
24
24
  require 'raketeer/bump_task'
25
25
  require 'raketeer/bump_ver'
26
26
  require 'raketeer/files_bumper'
27
+ require 'raketeer/github_pkg_task'
27
28
  require 'raketeer/irb_task'
28
29
  require 'raketeer/nokogiri_install_tasks'
29
30
  require 'raketeer/run_task'
@@ -31,6 +32,7 @@ require 'raketeer/sem_ver'
31
32
  require 'raketeer/util'
32
33
  require 'raketeer/version'
33
34
 
35
+
34
36
  ###
35
37
  # @author Jonathan Bradley Whited (@esotericpig)
36
38
  # @since 0.1.0
data/lib/raketeer/all.rb CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  #--
6
6
  # This file is part of Raketeer.
7
- # Copyright (c) 2019 Jonathan Bradley Whited (@esotericpig)
7
+ # Copyright (c) 2019-2020 Jonathan Bradley Whited (@esotericpig)
8
8
  #
9
9
  # Raketeer is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published by
@@ -22,10 +22,12 @@
22
22
 
23
23
 
24
24
  require 'raketeer/bump' # @since 0.2.4
25
+ require 'raketeer/github_pkg' # @since 0.2.8
25
26
  require 'raketeer/irb' # @since 0.2.0
26
27
  require 'raketeer/nokogiri_installs' # @since 0.1.0
27
28
  require 'raketeer/run' # @since 0.2.2
28
29
 
30
+
29
31
  module Raketeer
30
32
  ###
31
33
  # Defines all Raketeer tasks in your Rakefile.
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+ # frozen_string_literal: true
4
+
5
+ #--
6
+ # This file is part of Raketeer.
7
+ # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
8
+ #
9
+ # Raketeer is free software: you can redistribute it and/or modify
10
+ # it under the terms of the GNU Lesser General Public License as published by
11
+ # the Free Software Foundation, either version 3 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # Raketeer is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU Lesser General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU Lesser General Public License
20
+ # along with Raketeer. If not, see <https://www.gnu.org/licenses/>.
21
+ #++
22
+
23
+
24
+ require 'raketeer/github_pkg_task'
25
+
26
+
27
+ module Raketeer
28
+ ###
29
+ # @author Jonathan Bradley Whited (@esotericpig)
30
+ # @since 0.2.8
31
+ ###
32
+ module GitHubPkg
33
+ end
34
+ end
35
+
36
+ Raketeer::GitHubPkgTask.new() # @since 0.2.8
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+ # frozen_string_literal: true
4
+
5
+ #--
6
+ # This file is part of Raketeer.
7
+ # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
8
+ #
9
+ # Raketeer is free software: you can redistribute it and/or modify
10
+ # it under the terms of the GNU Lesser General Public License as published by
11
+ # the Free Software Foundation, either version 3 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # Raketeer is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU Lesser General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU Lesser General Public License
20
+ # along with Raketeer. If not, see <https://www.gnu.org/licenses/>.
21
+ #++
22
+
23
+
24
+ require 'rake'
25
+ require 'rake/tasklib'
26
+ require 'raketeer/util'
27
+
28
+
29
+ module Raketeer
30
+ ###
31
+ # @author Jonathan Bradley Whited (@esotericpig)
32
+ # @since 0.2.8
33
+ ###
34
+ class GitHubPkgTask < Rake::TaskLib
35
+ attr_accessor :deps
36
+ attr_accessor :description
37
+ attr_accessor :name
38
+ attr_accessor :username
39
+
40
+ def initialize(name=:github_pkg)
41
+ super()
42
+
43
+ @deps = [:build]
44
+ @description = %Q(Publish this project's gem(s) to GitHub Packages)
45
+ @name = name
46
+ @username = nil
47
+
48
+ yield self if block_given?()
49
+
50
+ @username = Util.find_github_username() if @username.nil?()
51
+
52
+ raise "#{self.class.name}.username is nil" if @username.nil?()
53
+
54
+ define()
55
+ end
56
+
57
+ def define()
58
+ desc @description
59
+ task @name => Array(@deps) do |task,args|
60
+ sh_cmd = ['gem']
61
+
62
+ sh_cmd.push('push')
63
+ sh_cmd.push('--key','github')
64
+ sh_cmd.push('--host',"https://rubygems.pkg.github.com/#{username}")
65
+ sh_cmd.push(*Dir.glob(File.join('pkg','*.gem'))) # Is this okay for multiple gems?
66
+
67
+ sh(*sh_cmd)
68
+ end
69
+ end
70
+ end
71
+ end
data/lib/raketeer/util.rb CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  #--
6
6
  # This file is part of Raketeer.
7
- # Copyright (c) 2019 Jonathan Bradley Whited (@esotericpig)
7
+ # Copyright (c) 2019-2020 Jonathan Bradley Whited (@esotericpig)
8
8
  #
9
9
  # Raketeer is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published by
@@ -30,6 +30,23 @@ module Raketeer
30
30
  # @since 0.2.4
31
31
  TRUE_BOOLS = ['1','on','t','true','y','yes'].freeze()
32
32
 
33
+ # This is pretty hacky...
34
+ #
35
+ # @since 0.2.8
36
+ def self.find_github_username()
37
+ Dir.glob('*.gemspec') do |file|
38
+ File.foreach(file) do |line|
39
+ md = line.match(%r{(github\.com/)([^/]+)}i)
40
+
41
+ next if md.nil?() || md.length < 3
42
+
43
+ return md[2].gsub(/\s+/,'')
44
+ end
45
+ end
46
+
47
+ return nil
48
+ end
49
+
33
50
  def self.find_main_executable(bin_dir='bin')
34
51
  # Try the bin/ dir
35
52
  main_exe = Dir.glob(File.join(bin_dir,'*'))
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
  module Raketeer
25
- VERSION = '0.2.7'
25
+ VERSION = '0.2.8'
26
26
 
27
27
  # @since 0.2.4
28
28
  DEP_VERSIONS = {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raketeer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Bradley Whited (@esotericpig)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-18 00:00:00.000000000 Z
11
+ date: 2020-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -85,6 +85,8 @@ files:
85
85
  - lib/raketeer/bump_task.rb
86
86
  - lib/raketeer/bump_ver.rb
87
87
  - lib/raketeer/files_bumper.rb
88
+ - lib/raketeer/github_pkg.rb
89
+ - lib/raketeer/github_pkg_task.rb
88
90
  - lib/raketeer/irb.rb
89
91
  - lib/raketeer/irb_task.rb
90
92
  - lib/raketeer/nokogiri_install_tasks.rb
@@ -118,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
120
  - !ruby/object:Gem::Version
119
121
  version: '0'
120
122
  requirements: []
121
- rubygems_version: 3.0.4
123
+ rubygems_version: 3.1.2
122
124
  signing_key:
123
125
  specification_version: 4
124
126
  summary: Extra Ruby Rake Tasks.