forked from magento/devdocs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
61 lines (51 loc) · 1.84 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# frozen_string_literal: true
# This file contains tasks with no namespace.
# All namespaced tasks are defined in the '../rakelib' directory.
# Each namespace is defined in a separate file.
# For example, 'preview:all' is defined in the '../rakelib/preview.rake' file.
# To see the list of tasks to use, run 'rake -T'.
require 'html-proofer'
require 'kramdown'
require 'launchy'
require 'colorator'
# Load ruby files with helper methods from the 'rakelib/' directory
require_relative 'rakelib/lib/link-checker.rb'
require_relative 'rakelib/lib/converter.rb'
require_relative 'rakelib/lib/double-slash-check.rb'
desc "Same as 'rake', 'rake preview'"
task default: %w[preview]
desc "Same as 'test:report'"
task test: %w[test:report]
desc 'Preview the devdocs locally'
task preview: %w[install clean] do
puts 'Generating devdocs locally ... '.magenta
if File.exist?('_config.local.yml')
print 'enabled the additional configuration parameters from _config.local.yml: $ '.magenta
sh 'bundle exec jekyll serve --incremental \
--open-url \
--livereload \
--trace \
--config _config.yml,_config.local.yml \
--plugins _plugins,_checks'
else
Rake::Task['preview:all'].invoke
end
end
task :clean do
print 'Cleaning after the last site generation: $ '.magenta
sh 'bundle exec jekyll clean'
puts 'Clean!'.green
end
task :install do
print 'Install gems listed in the Gemfile: $ '.magenta
sh 'bundle install'
puts 'Installed!'.green
end
desc 'Build the entire website'
task build: %w[clean] do
print 'Building the site with Jekyll: $ '.magenta
sh 'bundle exec jekyll build --verbose --trace'
puts 'Built!'.green
end
desc 'Pull docs from external repositories'
task init: %w[multirepo:init]