Repository navigation
Expand file tree
/
Copy pathRakefile
More file actions
83 lines (66 loc) · 2.03 KB
/
Copy pathRakefile
File metadata and controls
83 lines (66 loc) · 2.03 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# frozen_string_literal: true
require "bundler/gem_tasks"
require "rspec/core/rake_task"
require "generators/decidim/app_generator"
require "generators/decidim/docker_generator"
require "decidim/dev"
load "decidim-dev/lib/tasks/test_app.rake"
DECIDIM_GEMS = %w(core system admin api participatory_processes assemblies pages meetings proposals comments results budgets surveys dev).freeze
RSpec::Core::RakeTask.new(:spec)
task default: :spec
desc "Runs all tests in all Decidim engines"
task :test_all do
tested_gems = DECIDIM_GEMS - ["dev"]
dirs = [__dir__] + tested_gems.map { |name| "#{__dir__}/decidim-#{name}" }
dirs.each do |dir|
Dir.chdir(dir) do
puts "Running #{File.basename(dir)}'s tests..."
status = system "rake"
abort unless status || ENV["FAIL_FAST"] == "false"
end
end
end
desc "Pushes a new build for each gem."
task release_all: [:check_locale_completeness, :webpack] do
sh "rake release"
DECIDIM_GEMS.each do |gem_name|
Dir.chdir("#{__dir__}/decidim-#{gem_name}") do
sh "rake release"
end
end
end
desc "Makes sure all official locales are complete and clean."
task :check_locale_completeness do
system({ "ENFORCED_LOCALES" => "en,ca,es" }, "rspec spec/i18n_spec.rb")
end
desc "Generates a development app."
task :development_app do
Dir.chdir(__dir__) do
sh "rm -fR development_app", verbose: false
end
Bundler.with_clean_env do
Decidim::Generators::AppGenerator.start(
["development_app", "--path", "..", "--recreate_db", "--seed_db", "--demo"]
)
end
end
desc "Generates a development app based on Docker."
task :docker_development_app do
Dir.chdir(__dir__) do
sh "rm -fR docker_development_app"
end
path = __dir__ + "/docker_development_app"
Bundler.with_clean_env do
Decidim::Generators::DockerGenerator.start(
["docker_development_app", "--path", path]
)
end
end
desc "Build webpack bundle files"
task webpack: ["npm:install"] do
sh "npm run build:prod"
end
desc "Install npm dependencies"
task "npm:install" do
sh "npm i"
end