forked from decidim/decidim
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathRakefile
79 lines (65 loc) · 1.88 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# frozen_string_literal: true
require "bundler/gem_tasks"
require "rspec/core/rake_task"
require_relative "lib/generators/decidim/app_generator"
require_relative "lib/generators/decidim/docker_generator"
DECIDIM_GEMS = %w(core system admin api pages comments).freeze
RSpec::Core::RakeTask.new(:spec)
task default: :spec
desc "Runs all tests in all Decidim engines"
task :test_all do
DECIDIM_GEMS.each do |gem_name|
Dir.chdir("#{File.dirname(__FILE__)}/decidim-#{gem_name}") do
sh "rake"
end
end
end
desc "Generates test apps for all the engines"
task :generate_all do
DECIDIM_GEMS.each do |gem_name|
Dir.chdir("#{File.dirname(__FILE__)}/decidim-#{gem_name}") do
sh "rake generate_test_app"
end
end
end
desc "Pushes a new build for each gem."
task release_all: [:webpack] do
sh "rake release"
DECIDIM_GEMS.each do |gem_name|
Dir.chdir("#{File.dirname(__FILE__)}/decidim-#{gem_name}") do
sh "rake release"
end
end
end
desc "Generates a development app."
task :development_app do
Dir.chdir(File.dirname(__FILE__)) do
sh "rm -fR development_app"
end
Decidim::Generators::AppGenerator.start(
["development_app", "--path", ".."]
)
Dir.chdir("#{File.dirname(__FILE__)}/development_app") do
sh "bundle exec spring stop"
sh "bundle exec rake db:drop db:create db:migrate db:seed"
sh "bundle exec rails generate decidim:demo"
end
end
desc "Generates a development app based on Docker."
task :docker_development_app do
Dir.chdir(File.dirname(__FILE__)) do
sh "rm -fR docker_development_app"
end
path = File.dirname(__FILE__) + "/docker_development_app"
Decidim::Generators::DockerGenerator.start(
["docker_development_app", "--path", path]
)
end
desc "Build webpack bundle files"
task webpack: ["yarn:install"] do
sh "yarn build:prod"
end
desc "Install yarn dependencies"
task "yarn:install" do
sh "yarn"
end