github_pages_rake_tasks 0.1.8 → 1.0.1
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/.github/CODEOWNERS +4 -0
- data/.github/workflows/main.yml +64 -0
- data/.rubocop.yml +23 -5
- data/.yardopts +3 -0
- data/CHANGELOG.md +23 -0
- data/README.md +20 -9
- data/Rakefile +68 -23
- data/github_pages_rake_tasks.gemspec +20 -17
- data/lib/github_pages_rake_tasks/interface.rb +0 -3
- data/lib/github_pages_rake_tasks/publish_task.rb +119 -6
- data/lib/github_pages_rake_tasks/state.rb +150 -101
- data/lib/github_pages_rake_tasks/version.rb +1 -1
- metadata +44 -34
- data/.travis.yml +0 -42
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b3c5c3e5126302ca5598c30db6a85a0c6b1f67b0e6428ed9615db21b918c759b
|
|
4
|
+
data.tar.gz: b220f11154955af1369048d065149bcd269471b6de7a2a417edb16856833b43d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 36b7137f3d6a34ab4be0808204590c572b05af052778cab2593bd6c81f3803a703d63fb842571c98fc4223caeb1a6bb79298c79573e4e0d506905e0fc48f7da4
|
|
7
|
+
data.tar.gz: 3519eb9f421455e7f41776fc6ea1bc92f1e7bf5467578c0dea63fbc343aaeb03a81dd21dc6d3b210042e8cf9db2124f9b900202373c1b78092cf465f8df690a3
|
data/.github/CODEOWNERS
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: CI Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ main ]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
continue-on-error: true
|
|
13
|
+
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
ruby: ['3.0', '3.2', head, jruby-head]
|
|
17
|
+
operating-system: [ubuntu-latest]
|
|
18
|
+
include:
|
|
19
|
+
- ruby: '3.0'
|
|
20
|
+
operating-system: windows-latest
|
|
21
|
+
- ruby: jruby-head
|
|
22
|
+
operating-system: windows-latest
|
|
23
|
+
|
|
24
|
+
name: Ruby ${{ matrix.ruby }} on ${{ matrix.operating-system }}
|
|
25
|
+
runs-on: ${{ matrix.operating-system }}
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout
|
|
29
|
+
uses: actions/checkout@v3
|
|
30
|
+
|
|
31
|
+
- name: Initialize Ruby
|
|
32
|
+
uses: ruby/setup-ruby@v1
|
|
33
|
+
with:
|
|
34
|
+
ruby-version: ${{ matrix.ruby }}
|
|
35
|
+
bundler-cache: true
|
|
36
|
+
|
|
37
|
+
- name: Run rake
|
|
38
|
+
run: bundle exec rake
|
|
39
|
+
|
|
40
|
+
coverage:
|
|
41
|
+
needs: [ build ]
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
|
|
44
|
+
name: Report test coverage to CodeClimate
|
|
45
|
+
|
|
46
|
+
steps:
|
|
47
|
+
- name: Checkout
|
|
48
|
+
uses: actions/checkout@v3
|
|
49
|
+
|
|
50
|
+
- name: Initialize Ruby
|
|
51
|
+
uses: ruby/setup-ruby@v1
|
|
52
|
+
with:
|
|
53
|
+
ruby-version: 3.1
|
|
54
|
+
bundler-cache: true
|
|
55
|
+
|
|
56
|
+
- name: Run tests
|
|
57
|
+
run: bundle exec rake spec
|
|
58
|
+
|
|
59
|
+
- name: Report test coverage
|
|
60
|
+
uses: paambaati/codeclimate-action@v3.2.0
|
|
61
|
+
env:
|
|
62
|
+
CC_TEST_REPORTER_ID: 997ddf9df5b99897b448d7a7a13e332d57f0e29754d9b9d1414aaee611759422
|
|
63
|
+
with:
|
|
64
|
+
coverageLocations: ${{github.workspace}}/coverage/lcov/*.lcov:lcov
|
data/.rubocop.yml
CHANGED
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
+
NewCops: enable
|
|
2
3
|
# Output extra information for each offense to make it easier to diagnose:
|
|
3
4
|
DisplayCopNames: true
|
|
4
5
|
DisplayStyleGuide: true
|
|
5
6
|
ExtraDetails: true
|
|
6
|
-
|
|
7
|
+
SuggestExtensions: false
|
|
8
|
+
# RuboCop enforces rules depending on the oldest version of Ruby which
|
|
7
9
|
# your project supports:
|
|
8
|
-
TargetRubyVersion:
|
|
10
|
+
TargetRubyVersion: 3.0
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
Gemspec/DevelopmentDependencies:
|
|
13
|
+
EnforcedStyle: gemspec
|
|
14
|
+
|
|
15
|
+
# The default max line length is 80 characters
|
|
16
|
+
Layout/LineLength:
|
|
17
|
+
Max: 120
|
|
13
18
|
|
|
14
19
|
# The DSL for RSpec and the gemspec file make it very hard to limit block length:
|
|
15
20
|
Metrics/BlockLength:
|
|
16
21
|
Exclude:
|
|
22
|
+
- "spec/spec_helper.rb"
|
|
17
23
|
- "spec/**/*_spec.rb"
|
|
18
24
|
- "*.gemspec"
|
|
19
25
|
|
|
26
|
+
Metrics/ModuleLength:
|
|
27
|
+
CountAsOne: ['hash']
|
|
28
|
+
|
|
29
|
+
# When writing minitest tests, it is very hard to limit test class length:
|
|
30
|
+
Metrics/ClassLength:
|
|
31
|
+
CountAsOne: ['hash']
|
|
32
|
+
Exclude:
|
|
33
|
+
- "test/**/*_test.rb"
|
|
34
|
+
|
|
35
|
+
Style/AsciiComments:
|
|
36
|
+
Enabled: false
|
|
37
|
+
|
|
20
38
|
# All Ruby files are required to have a Copyright notice.
|
|
21
39
|
# Run `rubocop -a` to automatically add missing copyright notices.
|
|
22
40
|
Style/Copyright:
|
data/.yardopts
CHANGED
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
Changes for each release are listed in this file. Changes prior to v1.0.0 were not tracked.
|
|
4
|
+
|
|
5
|
+
This project adheres to [Semantic Versioning](https://semver.org/) for its releases.
|
|
6
|
+
|
|
7
|
+
## v1.0.1 (2023-12-11)
|
|
8
|
+
|
|
9
|
+
[Full Changelog](https://github.com/main-branch/github_pages_rake_tasks/compare/v1.0.0..v1.0.1)
|
|
10
|
+
|
|
11
|
+
Changes since v1.0.0:
|
|
12
|
+
|
|
13
|
+
* 0aa5865 Add the CHANGELOG.md to the docs (#26)
|
|
14
|
+
|
|
15
|
+
## v1.0.0 (2023-12-11)
|
|
16
|
+
|
|
17
|
+
[Full Changelog](https://github.com/main-branch/github_pages_rake_tasks/compare/v0.1.8..v1.0.0)
|
|
18
|
+
|
|
19
|
+
Changes since v0.1.8:
|
|
20
|
+
|
|
21
|
+
* 41317f7 Create initial CHANGELOG.md file (#24)
|
|
22
|
+
* be21d78 Remove travis build definition (#23)
|
|
23
|
+
* 9c7e76e Update project to new build and documentation standards (#22)
|
data/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Publish Documentation to GitHub Pages
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/rb/github_pages_rake_tasks)
|
|
4
|
-
[](https://rubydoc.info/gems/github_pages_rake_tasks/)
|
|
5
|
+
[](https://rubydoc.info/gems/github_pages_rake_tasks/file/CHANGELOG.md)
|
|
6
|
+
[](https://github.com/main-branch/github_pages_rake_tasks/actions?query=workflow%3ACI%20Build)
|
|
7
|
+
[](https://codeclimate.com/github/main-branch/github_pages_rake_tasks/maintainability)
|
|
8
|
+
[](https://codeclimate.com/github/main-branch/github_pages_rake_tasks/test_coverage)
|
|
7
9
|
|
|
8
10
|
The `github_pages_rake_tasks` gem creates a rake task that pushes files
|
|
9
11
|
from a local documentation directory to a remote Git repository branch.
|
|
@@ -20,15 +22,21 @@ This task is useful for publishing `rdoc` or `yard` documentation using
|
|
|
20
22
|
|
|
21
23
|
Add this line to your application's Gemfile:
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
```Shell
|
|
26
|
+
gem 'github_pages_rake_tasks'
|
|
27
|
+
```
|
|
24
28
|
|
|
25
29
|
And then execute:
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
```Shell
|
|
32
|
+
bundle
|
|
33
|
+
```
|
|
28
34
|
|
|
29
35
|
Or install it directly with the `gem` command line:
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
```Shell
|
|
38
|
+
gem install github_pages_rake_tasks
|
|
39
|
+
```
|
|
32
40
|
|
|
33
41
|
## Usage
|
|
34
42
|
|
|
@@ -50,15 +58,18 @@ GitHubPagesRakeTasks::PublishTask.new do |task|
|
|
|
50
58
|
end
|
|
51
59
|
```
|
|
52
60
|
|
|
61
|
+
An instance of [GithubPagesRakeTasks::State](https://rubydoc.info/gems/github_pages_rake_tasks/GithubPagesRakeTasks/State)
|
|
62
|
+
is passed to the initialization block (named `task` in the example above).
|
|
63
|
+
|
|
53
64
|
See [the full usage documentation](https://github.com/pages/jcouball/guthub_pages_rake_tasks) for more details.
|
|
54
65
|
|
|
55
66
|
## Development
|
|
56
67
|
|
|
57
68
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
58
69
|
|
|
59
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
60
|
-
To release a new version, update the version number in `version.rb`, and then run
|
|
61
|
-
`bundle exec rake release`, which will create a git tag for the version, push git
|
|
70
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
71
|
+
To release a new version, update the version number in `version.rb`, and then run
|
|
72
|
+
`bundle exec rake release`, which will create a git tag for the version, push git
|
|
62
73
|
commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
63
74
|
|
|
64
75
|
## Contributing
|
data/Rakefile
CHANGED
|
@@ -1,41 +1,86 @@
|
|
|
1
1
|
# Copyright (c) 2019 James Couball
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
desc 'Run the same tasks that the CI build will run'
|
|
5
|
+
if RUBY_PLATFORM == 'java'
|
|
6
|
+
task default: %w[spec rubocop bundle:audit build]
|
|
7
|
+
else
|
|
8
|
+
task default: %w[spec rubocop yard yard:audit yard:coverage bundle:audit build]
|
|
9
|
+
end
|
|
6
10
|
|
|
7
|
-
|
|
8
|
-
RSpec::Core::RakeTask.new(:spec)
|
|
9
|
-
CLEAN << '.rspec_status'
|
|
10
|
-
CLEAN << 'coverage'
|
|
11
|
+
# Bundler Audit
|
|
11
12
|
|
|
12
13
|
require 'bundler/audit/task'
|
|
13
14
|
Bundler::Audit::Task.new
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
# Bundler Gem Build
|
|
17
|
+
|
|
18
|
+
require 'bundler'
|
|
19
|
+
require 'bundler/gem_tasks'
|
|
20
|
+
|
|
21
|
+
begin
|
|
22
|
+
Bundler.setup(:default, :development)
|
|
23
|
+
rescue Bundler::BundlerError => e
|
|
24
|
+
warn e.message
|
|
25
|
+
warn 'Run `bundle install` to install missing gems'
|
|
26
|
+
exit e.status_code
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
CLEAN << 'pkg'
|
|
30
|
+
CLEAN << 'Gemfile.lock'
|
|
31
|
+
|
|
32
|
+
# RSpec
|
|
33
|
+
|
|
34
|
+
require 'rspec/core/rake_task'
|
|
35
|
+
|
|
36
|
+
RSpec::Core::RakeTask.new do
|
|
37
|
+
if RUBY_PLATFORM == 'java'
|
|
38
|
+
ENV['JAVA_OPTS'] = '-Djdk.io.File.enableADS=true'
|
|
39
|
+
ENV['JRUBY_OPTS'] = '--debug'
|
|
40
|
+
ENV['NOCOV'] = 'TRUE'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
CLEAN << 'coverage'
|
|
45
|
+
CLEAN << '.rspec_status'
|
|
46
|
+
CLEAN << 'rspec-report.xml'
|
|
47
|
+
|
|
48
|
+
# Rubocop
|
|
16
49
|
|
|
17
50
|
require 'rubocop/rake_task'
|
|
51
|
+
|
|
18
52
|
RuboCop::RakeTask.new do |t|
|
|
19
|
-
t.options = %w[
|
|
53
|
+
t.options = %w[
|
|
54
|
+
--format progress
|
|
55
|
+
--format json --out rubocop-report.json
|
|
56
|
+
]
|
|
20
57
|
end
|
|
58
|
+
|
|
21
59
|
CLEAN << 'rubocop-report.json'
|
|
22
60
|
|
|
23
|
-
|
|
24
|
-
YARD
|
|
25
|
-
CLEAN << '.yardoc'
|
|
26
|
-
CLEAN << 'doc'
|
|
61
|
+
unless RUBY_PLATFORM == 'java'
|
|
62
|
+
# YARD
|
|
27
63
|
|
|
28
|
-
require '
|
|
29
|
-
|
|
30
|
-
|
|
64
|
+
require 'yard'
|
|
65
|
+
YARD::Rake::YardocTask.new do |t|
|
|
66
|
+
t.files = %w[lib/**/*.rb examples/**/*]
|
|
67
|
+
end
|
|
31
68
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
CLEAN << 'measurements'
|
|
69
|
+
CLEAN << '.yardoc'
|
|
70
|
+
CLEAN << 'doc'
|
|
35
71
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
72
|
+
# Yardstick
|
|
73
|
+
|
|
74
|
+
desc 'Run yardstick to show missing YARD doc elements'
|
|
75
|
+
task :'yard:audit' do
|
|
76
|
+
sh "yardstick 'lib/**/*.rb'"
|
|
77
|
+
end
|
|
40
78
|
|
|
41
|
-
|
|
79
|
+
# Yardstick coverage
|
|
80
|
+
|
|
81
|
+
require 'yardstick/rake/verify'
|
|
82
|
+
|
|
83
|
+
Yardstick::Rake::Verify.new(:'yard:coverage') do |verify|
|
|
84
|
+
verify.threshold = 100
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -23,14 +23,14 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
|
|
24
24
|
spec.homepage = 'https://github.com/jcouball/github_pages_rake_tasks'
|
|
25
25
|
spec.license = 'MIT'
|
|
26
|
+
spec.required_ruby_version = '>= 3.0.0'
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
end
|
|
28
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
|
29
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
30
|
+
|
|
31
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
32
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
|
33
|
+
spec.metadata['changelog_uri'] = spec.homepage
|
|
34
34
|
|
|
35
35
|
# Specify which files should be added to the gem when it is released.
|
|
36
36
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -41,14 +41,17 @@ Gem::Specification.new do |spec|
|
|
|
41
41
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
42
42
|
spec.require_paths = ['lib']
|
|
43
43
|
|
|
44
|
-
spec.add_development_dependency '
|
|
45
|
-
spec.add_development_dependency '
|
|
46
|
-
spec.add_development_dependency '
|
|
47
|
-
spec.add_development_dependency '
|
|
48
|
-
spec.add_development_dependency '
|
|
49
|
-
spec.add_development_dependency '
|
|
50
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.9'
|
|
45
|
+
spec.add_development_dependency 'rake', '~> 13.1'
|
|
46
|
+
spec.add_development_dependency 'rspec', '~> 3.12'
|
|
47
|
+
spec.add_development_dependency 'rubocop', '~> 1.58'
|
|
48
|
+
spec.add_development_dependency 'semverify', '0.3.0'
|
|
49
|
+
spec.add_development_dependency 'simplecov', '~> 0.22'
|
|
50
|
+
spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
|
|
51
|
+
|
|
52
|
+
unless RUBY_PLATFORM == 'java'
|
|
53
|
+
spec.add_development_dependency 'redcarpet', '~> 3.6'
|
|
54
|
+
spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.28'
|
|
55
|
+
spec.add_development_dependency 'yardstick', '~> 0.9'
|
|
56
|
+
end
|
|
54
57
|
end
|
|
@@ -66,6 +66,8 @@ module GithubPagesRakeTasks
|
|
|
66
66
|
# are passed to the yielded block.
|
|
67
67
|
#
|
|
68
68
|
def initialize(*task_args, &initialization_block)
|
|
69
|
+
super
|
|
70
|
+
|
|
69
71
|
@state = State.new
|
|
70
72
|
|
|
71
73
|
# Allow user to override defaults
|
|
@@ -75,9 +77,7 @@ module GithubPagesRakeTasks
|
|
|
75
77
|
namespace rake_namespace do
|
|
76
78
|
desc "Publish #{doc_dir} to #{repo_url}##{branch_name}"
|
|
77
79
|
task :publish do
|
|
78
|
-
|
|
79
|
-
publish
|
|
80
|
-
display_footer
|
|
80
|
+
publish_task
|
|
81
81
|
end
|
|
82
82
|
end
|
|
83
83
|
end
|
|
@@ -86,15 +86,57 @@ module GithubPagesRakeTasks
|
|
|
86
86
|
|
|
87
87
|
# @!visibility private
|
|
88
88
|
|
|
89
|
+
# Publish the documentation directory to the specified repository and branch
|
|
90
|
+
#
|
|
91
|
+
# Publishes the document directory to the specified repository and branch
|
|
92
|
+
# displaying a header before publishing and a footer after publishing. The header
|
|
93
|
+
# and footer are not displayed if the `quiet` flag is set.
|
|
94
|
+
#
|
|
95
|
+
# @see #display_header
|
|
96
|
+
# @see #publish
|
|
97
|
+
# @see #display_footer
|
|
98
|
+
#
|
|
99
|
+
# @return [void]
|
|
100
|
+
#
|
|
101
|
+
# @api private
|
|
102
|
+
#
|
|
103
|
+
def publish_task
|
|
104
|
+
display_header
|
|
105
|
+
publish
|
|
106
|
+
display_footer
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Print a header message before the publishing
|
|
110
|
+
#
|
|
111
|
+
# The message includes the document directory, repository URL, and branch name.
|
|
112
|
+
# The message is not printed if the `quiet` flag is set.
|
|
113
|
+
# An extra line is printed if the `verbose` flag is set.
|
|
114
|
+
#
|
|
115
|
+
# @return [void]
|
|
116
|
+
#
|
|
117
|
+
# @api private
|
|
89
118
|
def display_header
|
|
90
119
|
print "Publishing #{doc_dir} to #{repo_url}##{branch_name}..." unless quiet
|
|
91
120
|
puts if verbose
|
|
92
121
|
end
|
|
93
122
|
|
|
123
|
+
# Print a success message after the publishing
|
|
124
|
+
#
|
|
125
|
+
# The message is not printed if the `quiet` flag is set.
|
|
126
|
+
#
|
|
127
|
+
# @return [void]
|
|
128
|
+
#
|
|
129
|
+
# @api private
|
|
94
130
|
def display_footer
|
|
95
131
|
puts 'SUCCESS' unless quiet
|
|
96
132
|
end
|
|
97
133
|
|
|
134
|
+
# Executes the publishing process
|
|
135
|
+
#
|
|
136
|
+
# @return [void]
|
|
137
|
+
#
|
|
138
|
+
# @api private
|
|
139
|
+
#
|
|
98
140
|
def publish
|
|
99
141
|
interface.verbose(verbose) do
|
|
100
142
|
interface.mkdir_p(staging_dir)
|
|
@@ -107,12 +149,24 @@ module GithubPagesRakeTasks
|
|
|
107
149
|
end
|
|
108
150
|
end
|
|
109
151
|
|
|
152
|
+
# Fetch and checks out an existing branch
|
|
153
|
+
#
|
|
154
|
+
# @return [void]
|
|
155
|
+
#
|
|
156
|
+
# @api private
|
|
157
|
+
#
|
|
110
158
|
def checkout_existing_branch
|
|
111
159
|
# only download the needed branch from GitHub
|
|
112
160
|
interface.sh("git fetch '#{remote_name}' '#{branch_name}'")
|
|
113
161
|
interface.sh("git checkout '#{branch_name}'")
|
|
114
162
|
end
|
|
115
163
|
|
|
164
|
+
# Creates `branch_name` in the remote repository
|
|
165
|
+
#
|
|
166
|
+
# @return [Boolean] true if the branch exists in the remote repository, false otherwise.
|
|
167
|
+
#
|
|
168
|
+
# @api private
|
|
169
|
+
#
|
|
116
170
|
def create_new_branch
|
|
117
171
|
interface.sh("git checkout --orphan '#{branch_name}'")
|
|
118
172
|
interface.file_write('index.html', 'Future home of documentation')
|
|
@@ -121,6 +175,12 @@ module GithubPagesRakeTasks
|
|
|
121
175
|
interface.sh("git push '#{remote_name}' '#{branch_name}'")
|
|
122
176
|
end
|
|
123
177
|
|
|
178
|
+
# Checks if `branch_name` exists in the remote repository
|
|
179
|
+
#
|
|
180
|
+
# @return [Boolean] true if the branch exists in the remote repository, false otherwise
|
|
181
|
+
#
|
|
182
|
+
# @api private
|
|
183
|
+
#
|
|
124
184
|
def remote_branch_exists?
|
|
125
185
|
cmd = "git ls-remote --exit-code --heads '#{repo_url}' '#{branch_name}'"
|
|
126
186
|
interface.sh(cmd) do |branch_exists, _process_status|
|
|
@@ -128,15 +188,28 @@ module GithubPagesRakeTasks
|
|
|
128
188
|
end
|
|
129
189
|
end
|
|
130
190
|
|
|
191
|
+
# Initializes the git repository in `staging_dir`
|
|
192
|
+
#
|
|
193
|
+
# @return [void]
|
|
194
|
+
#
|
|
195
|
+
# @api private
|
|
196
|
+
#
|
|
131
197
|
def initialize_git
|
|
132
198
|
interface.sh('git init')
|
|
133
199
|
interface.sh("git remote add '#{remote_name}' '#{repo_url}'")
|
|
134
200
|
end
|
|
135
201
|
|
|
136
|
-
#
|
|
137
|
-
#
|
|
202
|
+
# Initializes the staging directory
|
|
203
|
+
#
|
|
204
|
+
# * Creates `staging_dir` (if needed)
|
|
205
|
+
# * Clones the remote repository to it
|
|
206
|
+
# * Checks out `branch_name`
|
|
207
|
+
# * Creates `branch_name` in the remote if needed.
|
|
208
|
+
# * Finally, removes all files using git rm
|
|
138
209
|
#
|
|
139
|
-
#
|
|
210
|
+
# @return [void]
|
|
211
|
+
#
|
|
212
|
+
# @api private
|
|
140
213
|
#
|
|
141
214
|
def initialize_staging_dir
|
|
142
215
|
initialize_git
|
|
@@ -148,28 +221,68 @@ module GithubPagesRakeTasks
|
|
|
148
221
|
remove_staging_files
|
|
149
222
|
end
|
|
150
223
|
|
|
224
|
+
# Removes the staging directory
|
|
225
|
+
#
|
|
226
|
+
# @return [void]
|
|
227
|
+
#
|
|
228
|
+
# @api private
|
|
229
|
+
#
|
|
151
230
|
def clean_staging_dir
|
|
152
231
|
interface.rm_rf staging_dir
|
|
153
232
|
end
|
|
154
233
|
|
|
234
|
+
# @!attribute [r] absolute_doc_dir
|
|
235
|
+
#
|
|
236
|
+
# The absolute path to `doc_dir` relative to `project_root`
|
|
237
|
+
#
|
|
238
|
+
# @return [String]
|
|
239
|
+
#
|
|
240
|
+
# @api private
|
|
241
|
+
#
|
|
155
242
|
def absolute_doc_dir
|
|
156
243
|
@absolute_doc_dir ||= interface.expand_path(doc_dir, project_root)
|
|
157
244
|
end
|
|
158
245
|
|
|
246
|
+
# @!attribute [r] commit_message
|
|
247
|
+
#
|
|
248
|
+
# The commit message to use when committing the documentation
|
|
249
|
+
#
|
|
250
|
+
# @return [String]
|
|
251
|
+
#
|
|
252
|
+
# @api private
|
|
253
|
+
#
|
|
159
254
|
def commit_message
|
|
160
255
|
@commit_message ||= 'Updating documentation'
|
|
161
256
|
end
|
|
162
257
|
|
|
258
|
+
# Removes all files from the staging directory
|
|
259
|
+
#
|
|
260
|
+
# @return [void]
|
|
261
|
+
#
|
|
262
|
+
# @api private
|
|
263
|
+
#
|
|
163
264
|
def remove_staging_files
|
|
164
265
|
interface.sh('git rm -r .') do
|
|
165
266
|
# ignore failure
|
|
166
267
|
end
|
|
167
268
|
end
|
|
168
269
|
|
|
270
|
+
# Copies the contents of `absolute_doc_dir` to `staging_dir`
|
|
271
|
+
#
|
|
272
|
+
# @return [void]
|
|
273
|
+
#
|
|
274
|
+
# @api private
|
|
275
|
+
#
|
|
169
276
|
def copy_doc_dir_to_staging_dir
|
|
170
277
|
interface.cp_r(File.join(absolute_doc_dir, '.'), staging_dir)
|
|
171
278
|
end
|
|
172
279
|
|
|
280
|
+
# Commits and pushes the contents of `staging_dir` to the remote repository
|
|
281
|
+
#
|
|
282
|
+
# @return [void]
|
|
283
|
+
#
|
|
284
|
+
# @api private
|
|
285
|
+
#
|
|
173
286
|
def commit_and_push_staging_dir
|
|
174
287
|
interface.sh('git add .')
|
|
175
288
|
interface.sh("git commit -m '#{commit_message}'") do |commit_successful, _process_status|
|
|
@@ -17,85 +17,172 @@ module GithubPagesRakeTasks
|
|
|
17
17
|
#
|
|
18
18
|
# Most used attributes are {doc_dir}, {project_root}, {repo_url}, and {branch_name}.
|
|
19
19
|
#
|
|
20
|
+
# @!attribute doc_dir [rw]
|
|
21
|
+
# The directory relative to {project_root} containing the documentation
|
|
22
|
+
#
|
|
23
|
+
# The default value is 'doc'.
|
|
24
|
+
#
|
|
25
|
+
# @example
|
|
26
|
+
# doc_dir = 'doc'
|
|
27
|
+
# doc_dir #=> 'doc'
|
|
28
|
+
#
|
|
29
|
+
# @return [String]
|
|
30
|
+
#
|
|
31
|
+
# @!attribute project_root [rw]
|
|
32
|
+
# The absolute path to the project's root directory
|
|
33
|
+
#
|
|
34
|
+
# {doc_dir} is relative to this directory.
|
|
35
|
+
#
|
|
36
|
+
# The default value is the value returned from `git rev-parse --show-toplevel` when
|
|
37
|
+
# run in the current working directory.
|
|
38
|
+
#
|
|
39
|
+
# @example
|
|
40
|
+
# project_root = '/home/james/my_project'
|
|
41
|
+
# project_root #=> '/home/james/my_project'
|
|
42
|
+
#
|
|
43
|
+
# @return [String]
|
|
44
|
+
#
|
|
45
|
+
# @!attribute repo_url [rw]
|
|
46
|
+
# The URL to the remote repository to push documentation
|
|
47
|
+
#
|
|
48
|
+
# The default value is the value returned from `git config --get remote.origin.url`
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# repo_url = 'https://github.com/main-branch/my_project.git'
|
|
52
|
+
# repo_url #=> 'https://github.com/main-branch/my_project.git'
|
|
53
|
+
#
|
|
54
|
+
# @return [String]
|
|
55
|
+
#
|
|
56
|
+
# @!attribute [rw] branch_name
|
|
57
|
+
# The branch to push documentation to
|
|
58
|
+
#
|
|
59
|
+
# The default value is 'gh-pages'.
|
|
60
|
+
#
|
|
61
|
+
# @example
|
|
62
|
+
# branch_name = 'gh-pages'
|
|
63
|
+
# branch_name #=> 'gh-pages'
|
|
64
|
+
#
|
|
65
|
+
# @return [String]
|
|
66
|
+
#
|
|
67
|
+
# @!attribute [rw] staging_dir
|
|
68
|
+
# The directory where the documentation is staged for pushing to the Git remote
|
|
69
|
+
#
|
|
70
|
+
# All files are copied from {doc_dir} to {staging_dir} where the push to the Git remote is
|
|
71
|
+
# done.
|
|
72
|
+
#
|
|
73
|
+
# @note This directory is deleted at the end of the publish task.
|
|
74
|
+
#
|
|
75
|
+
# The default value is a temporary directory created with
|
|
76
|
+
# [Dir.mktmpdir](https://ruby-doc.org/stdlib-2.6.3/libdoc/tmpdir/rdoc/Dir.html)
|
|
77
|
+
# with the prefix 'github-pages-publish-'
|
|
78
|
+
#
|
|
79
|
+
# @example
|
|
80
|
+
# staging_dir = ''
|
|
81
|
+
# staging_dir #=> '/home/james/my_project'
|
|
82
|
+
#
|
|
83
|
+
# @return [String]
|
|
84
|
+
#
|
|
85
|
+
# @!attribute [rw] quiet
|
|
86
|
+
# Silence all output from the `github-pages:publish` task
|
|
87
|
+
#
|
|
88
|
+
# When {quiet} is true, the `github-pages:publish` task will not emit any output
|
|
89
|
+
# unless there is an error.
|
|
90
|
+
#
|
|
91
|
+
# Setting {quiet} to true will also set {verbose} to false.
|
|
92
|
+
#
|
|
93
|
+
# The default value is false
|
|
94
|
+
#
|
|
95
|
+
# @example
|
|
96
|
+
# quiet = true
|
|
97
|
+
# quiet #=> true
|
|
98
|
+
# verbose #=> false
|
|
99
|
+
#
|
|
100
|
+
# @return [Boolean]
|
|
101
|
+
#
|
|
102
|
+
# @!attribute verbose
|
|
103
|
+
# Make the `github-pages:publish` emit extra output
|
|
104
|
+
#
|
|
105
|
+
# When {verbose} is true, the `github-pages:publish` task will emit extra output
|
|
106
|
+
# that is useful for debugging.
|
|
107
|
+
#
|
|
108
|
+
# Setting {verbose} to true will also set {quiet} to false.
|
|
109
|
+
#
|
|
110
|
+
# The default value is false
|
|
111
|
+
#
|
|
112
|
+
# @example
|
|
113
|
+
# verbose = true
|
|
114
|
+
# verbose #=> true
|
|
115
|
+
# quiet #=> false
|
|
116
|
+
#
|
|
117
|
+
# @return [Boolean]
|
|
118
|
+
#
|
|
119
|
+
# @!attribute [rw] rake_namespace
|
|
120
|
+
# The Rake namespace for the `publish` task
|
|
121
|
+
#
|
|
122
|
+
# The default value is 'github-pages'
|
|
123
|
+
#
|
|
124
|
+
# @example
|
|
125
|
+
# rake_namespace = 'my-docs'
|
|
126
|
+
# rake_namespace #=> 'my-docs'
|
|
127
|
+
#
|
|
128
|
+
# @return [String] Rake namespace
|
|
129
|
+
#
|
|
130
|
+
# @api public
|
|
131
|
+
#
|
|
132
|
+
# @!attribute [rw] interface
|
|
133
|
+
# The object that implements all methods that touch the 'outside' world
|
|
134
|
+
#
|
|
135
|
+
# An object that implements all methods that touch the world outside of
|
|
136
|
+
# the PublishTask class. This includes dealing with the file system, issuing
|
|
137
|
+
# shell commands, etc.
|
|
138
|
+
#
|
|
139
|
+
# The default value is a new instance of {GithubPagesRakeTasks::Interface}
|
|
140
|
+
#
|
|
141
|
+
# @note {interface} is used for mocking during testing of this gem and is probably
|
|
142
|
+
# not useful for users of this gem.
|
|
143
|
+
#
|
|
144
|
+
# @example
|
|
145
|
+
# interface = GithubPagesRakeTasks::Interface.new
|
|
146
|
+
#
|
|
147
|
+
# @return [GithubPagesRakeTasks::Instance]
|
|
148
|
+
#
|
|
149
|
+
# @!attribute [rw] remote_name
|
|
150
|
+
# The name of the Git remote to use for pushing documentation
|
|
151
|
+
#
|
|
152
|
+
# The default value is 'origin'
|
|
153
|
+
#
|
|
154
|
+
# @example
|
|
155
|
+
# remote_name = 'my_remote'
|
|
156
|
+
# remote_name #=> 'my_remote'
|
|
157
|
+
#
|
|
158
|
+
# @return [String] the Git remote name
|
|
159
|
+
#
|
|
20
160
|
class State
|
|
21
|
-
# The directory, relative to {project_root}, that contains the documentation to
|
|
22
|
-
# publish to GitHub.
|
|
23
|
-
#
|
|
24
|
-
# The default value is 'doc'
|
|
25
|
-
#
|
|
26
|
-
# @return [String] directory
|
|
27
|
-
#
|
|
28
161
|
def doc_dir
|
|
29
162
|
@doc_dir ||= 'doc'
|
|
30
163
|
end
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
#
|
|
36
|
-
# The default value is the value returned from `git rev-parse --show-toplevel` when
|
|
37
|
-
# run in the current working directory
|
|
38
|
-
#
|
|
39
|
-
# @return [String] directory
|
|
40
|
-
#
|
|
164
|
+
|
|
165
|
+
attr_writer :doc_dir, :project_root, :repo_url, :branch_name, :staging_dir, :remote_name,
|
|
166
|
+
:interface, :rake_namespace
|
|
167
|
+
|
|
41
168
|
def project_root
|
|
42
169
|
@project_root ||= interface.send(:`, 'git rev-parse --show-toplevel').chomp
|
|
43
170
|
end
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
# The URL to the remote repository to push documentation.
|
|
47
|
-
#
|
|
48
|
-
# The default value is the value returned from `git config --get remote.origin.url`
|
|
49
|
-
#
|
|
50
|
-
# @return [String] url
|
|
51
|
-
#
|
|
171
|
+
|
|
52
172
|
def repo_url
|
|
53
173
|
@repo_url ||= Dir.chdir(project_root) do |_path|
|
|
54
174
|
interface.send(:`, "git config --get remote.#{remote_name}.url").chomp
|
|
55
175
|
end
|
|
56
176
|
end
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
# The branch to push documentation to.
|
|
60
|
-
#
|
|
61
|
-
# The default value is 'gh-pages'
|
|
62
|
-
#
|
|
63
|
-
# @return [String] the branch name
|
|
64
|
-
#
|
|
177
|
+
|
|
65
178
|
def branch_name
|
|
66
179
|
@branch_name ||= 'gh-pages'
|
|
67
180
|
end
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# The directory where the documentation is staged prior to pushing to the Git remote.
|
|
71
|
-
# All files are copied from {doc_dir} to {staging_dir} where the push to the Git remote is
|
|
72
|
-
# done.
|
|
73
|
-
#
|
|
74
|
-
# @note This directory is deleted at the end of the publish task.
|
|
75
|
-
#
|
|
76
|
-
# The default value is a temporary directory created with
|
|
77
|
-
# [Dir.mktmpdir](https://ruby-doc.org/stdlib-2.6.3/libdoc/tmpdir/rdoc/Dir.html)
|
|
78
|
-
# with the prefix 'github-pages-publish-'
|
|
79
|
-
#
|
|
80
|
-
# @return [String] a temporary directory.
|
|
81
|
-
#
|
|
181
|
+
|
|
82
182
|
def staging_dir
|
|
83
183
|
@staging_dir ||= interface.mktmpdir('github-pages-publish-')
|
|
84
184
|
end
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
# @!attribute quiet
|
|
88
|
-
# Silence all output from the `github-pages:publish` task.
|
|
89
|
-
#
|
|
90
|
-
# When {quiet} is true, the `github-pages:publish` task will not emit any output
|
|
91
|
-
# unless there is an error.
|
|
92
|
-
#
|
|
93
|
-
# Setting {quiet} to true will also set {verbose} to false.
|
|
94
|
-
#
|
|
95
|
-
# The default value is false
|
|
96
|
-
#
|
|
97
|
-
# @return [Boolean] the quiet flag value
|
|
98
|
-
#
|
|
185
|
+
|
|
99
186
|
def quiet
|
|
100
187
|
return @quiet if instance_variable_defined?(:@quiet)
|
|
101
188
|
|
|
@@ -107,18 +194,6 @@ module GithubPagesRakeTasks
|
|
|
107
194
|
@verbose = false if quiet
|
|
108
195
|
end
|
|
109
196
|
|
|
110
|
-
# @!attribute verbose
|
|
111
|
-
# Make the `github-pages:publish` emit extra output.
|
|
112
|
-
#
|
|
113
|
-
# When {verbose} is true, the `github-pages:publish` task will emit extra output
|
|
114
|
-
# that is useful for debugging.
|
|
115
|
-
#
|
|
116
|
-
# Setting {verbose} to true will also set {quiet} to false.
|
|
117
|
-
#
|
|
118
|
-
# The default value is false
|
|
119
|
-
#
|
|
120
|
-
# @return [Boolean] the verbose flag value
|
|
121
|
-
#
|
|
122
197
|
def verbose
|
|
123
198
|
return @verbose if instance_variable_defined?(:@verbose)
|
|
124
199
|
|
|
@@ -130,42 +205,16 @@ module GithubPagesRakeTasks
|
|
|
130
205
|
@quiet = false if verbose
|
|
131
206
|
end
|
|
132
207
|
|
|
133
|
-
# The name of the Git remote to use for pushing documentation.
|
|
134
|
-
#
|
|
135
|
-
# The default value is 'origin'
|
|
136
|
-
#
|
|
137
|
-
# @return [String] the Git remote name
|
|
138
|
-
#
|
|
139
208
|
def remote_name
|
|
140
209
|
@remote_name ||= 'origin'
|
|
141
210
|
end
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
# An object that implements all methods that touch the world outside of
|
|
145
|
-
# the PublishTask class. This includes dealing with the file system, issuing
|
|
146
|
-
# shell commands, etc.
|
|
147
|
-
#
|
|
148
|
-
# The default value is a new instance of {GithubPagesRakeTasks::Interface}
|
|
149
|
-
#
|
|
150
|
-
# @note {interface} is used for mocking during testing of this gem and is probably
|
|
151
|
-
# not useful for users of this gem.
|
|
152
|
-
#
|
|
153
|
-
# @return [GithubPagesRakeTasks::Instance] an interface object
|
|
154
|
-
#
|
|
211
|
+
|
|
155
212
|
def interface
|
|
156
213
|
@interface ||= Interface.new
|
|
157
214
|
end
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
# The Rake namespace for the publish task.
|
|
161
|
-
#
|
|
162
|
-
# The default value is 'github-pages'
|
|
163
|
-
#
|
|
164
|
-
# @return [String] Rake namespace
|
|
165
|
-
#
|
|
215
|
+
|
|
166
216
|
def rake_namespace
|
|
167
217
|
@rake_namespace ||= 'github-pages'
|
|
168
218
|
end
|
|
169
|
-
attr_writer :rake_namespace
|
|
170
219
|
end
|
|
171
220
|
end
|
metadata
CHANGED
|
@@ -1,127 +1,127 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: github_pages_rake_tasks
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Couball
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-12-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: bundler-audit
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
19
|
+
version: '0.9'
|
|
20
20
|
type: :development
|
|
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.
|
|
26
|
+
version: '0.9'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '13.1'
|
|
34
34
|
type: :development
|
|
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: '
|
|
40
|
+
version: '13.1'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '3.12'
|
|
48
48
|
type: :development
|
|
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: '
|
|
54
|
+
version: '3.12'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: rubocop
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '1.58'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '1.58'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: semverify
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- -
|
|
73
|
+
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
75
|
+
version: 0.3.0
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- -
|
|
80
|
+
- - '='
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
82
|
+
version: 0.3.0
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
84
|
+
name: simplecov
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0.
|
|
89
|
+
version: '0.22'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0.
|
|
96
|
+
version: '0.22'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: simplecov
|
|
98
|
+
name: simplecov-lcov
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0.
|
|
103
|
+
version: '0.8'
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0.
|
|
110
|
+
version: '0.8'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
112
|
+
name: redcarpet
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
115
|
- - "~>"
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
117
|
+
version: '3.6'
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: '
|
|
124
|
+
version: '3.6'
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: yard
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -129,6 +129,9 @@ dependencies:
|
|
|
129
129
|
- - "~>"
|
|
130
130
|
- !ruby/object:Gem::Version
|
|
131
131
|
version: '0.9'
|
|
132
|
+
- - ">="
|
|
133
|
+
- !ruby/object:Gem::Version
|
|
134
|
+
version: 0.9.28
|
|
132
135
|
type: :development
|
|
133
136
|
prerelease: false
|
|
134
137
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -136,6 +139,9 @@ dependencies:
|
|
|
136
139
|
- - "~>"
|
|
137
140
|
- !ruby/object:Gem::Version
|
|
138
141
|
version: '0.9'
|
|
142
|
+
- - ">="
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
version: 0.9.28
|
|
139
145
|
- !ruby/object:Gem::Dependency
|
|
140
146
|
name: yardstick
|
|
141
147
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -163,11 +169,13 @@ executables: []
|
|
|
163
169
|
extensions: []
|
|
164
170
|
extra_rdoc_files: []
|
|
165
171
|
files:
|
|
172
|
+
- ".github/CODEOWNERS"
|
|
173
|
+
- ".github/workflows/main.yml"
|
|
166
174
|
- ".gitignore"
|
|
167
175
|
- ".rspec"
|
|
168
176
|
- ".rubocop.yml"
|
|
169
|
-
- ".travis.yml"
|
|
170
177
|
- ".yardopts"
|
|
178
|
+
- CHANGELOG.md
|
|
171
179
|
- Gemfile
|
|
172
180
|
- LICENSE.txt
|
|
173
181
|
- README.md
|
|
@@ -184,10 +192,12 @@ homepage: https://github.com/jcouball/github_pages_rake_tasks
|
|
|
184
192
|
licenses:
|
|
185
193
|
- MIT
|
|
186
194
|
metadata:
|
|
195
|
+
allowed_push_host: https://rubygems.org
|
|
196
|
+
rubygems_mfa_required: 'true'
|
|
187
197
|
homepage_uri: https://github.com/jcouball/github_pages_rake_tasks
|
|
188
198
|
source_code_uri: https://github.com/jcouball/github_pages_rake_tasks
|
|
189
199
|
changelog_uri: https://github.com/jcouball/github_pages_rake_tasks
|
|
190
|
-
post_install_message:
|
|
200
|
+
post_install_message:
|
|
191
201
|
rdoc_options: []
|
|
192
202
|
require_paths:
|
|
193
203
|
- lib
|
|
@@ -195,15 +205,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
195
205
|
requirements:
|
|
196
206
|
- - ">="
|
|
197
207
|
- !ruby/object:Gem::Version
|
|
198
|
-
version:
|
|
208
|
+
version: 3.0.0
|
|
199
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
210
|
requirements:
|
|
201
211
|
- - ">="
|
|
202
212
|
- !ruby/object:Gem::Version
|
|
203
213
|
version: '0'
|
|
204
214
|
requirements: []
|
|
205
|
-
rubygems_version: 3.
|
|
206
|
-
signing_key:
|
|
215
|
+
rubygems_version: 3.4.10
|
|
216
|
+
signing_key:
|
|
207
217
|
specification_version: 4
|
|
208
218
|
summary: Rake tasks for publishing documentation to GitHub Pages
|
|
209
219
|
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
|
|
3
|
-
rvm:
|
|
4
|
-
- 2.4
|
|
5
|
-
- 2.5
|
|
6
|
-
- 2.6
|
|
7
|
-
|
|
8
|
-
cache: bundler
|
|
9
|
-
|
|
10
|
-
before_install: gem install bundler -v 2.0.1
|
|
11
|
-
|
|
12
|
-
before_deploy:
|
|
13
|
-
- >
|
|
14
|
-
if ! [ "$HAS_ALREADY_RUN" ]; then
|
|
15
|
-
export HAS_ALREADY_RUN=1
|
|
16
|
-
echo "machine github.com\n login jcouball\n password ${GITHUB_TOKEN}" > ~/.netrc
|
|
17
|
-
git config --global user.email "travis@travis-ci.org"
|
|
18
|
-
git config --global user.name "Travis CI"
|
|
19
|
-
git checkout ${TRAVIS_BRANCH}
|
|
20
|
-
gem install bump
|
|
21
|
-
bump patch --commit-message "[skip ci]"
|
|
22
|
-
remote=https://$GITHUB_TOKEN@github.com/$TRAVIS_REPO_SLUG
|
|
23
|
-
git push --follow-tags "$remote" "$TRAVIS_BRANCH"
|
|
24
|
-
fi
|
|
25
|
-
|
|
26
|
-
deploy:
|
|
27
|
-
- provider: pages
|
|
28
|
-
skip_cleanup: true
|
|
29
|
-
github_token: $GITHUB_TOKEN
|
|
30
|
-
local_dir: doc
|
|
31
|
-
verbose: true
|
|
32
|
-
on:
|
|
33
|
-
branch: master
|
|
34
|
-
repo: jcouball/github_pages_rake_tasks
|
|
35
|
-
rvm: 2.4
|
|
36
|
-
- provider: rubygems
|
|
37
|
-
api_key: $RUBYGEMS_API_KEY
|
|
38
|
-
gem: github_pages_rake_tasks
|
|
39
|
-
on:
|
|
40
|
-
branch: master
|
|
41
|
-
repo: jcouball/github_pages_rake_tasks
|
|
42
|
-
rvm: 2.4
|