compass_ae_starter_kit 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +7 -44
- data/bin/compass_ae +8 -0
- data/lib/compass_ae_starter_kit/cli.rb +5 -0
- data/lib/compass_ae_starter_kit/commands/compass_ae.rb +47 -0
- data/lib/compass_ae_starter_kit/engine.rb +0 -4
- data/lib/compass_ae_starter_kit/file_support.rb +1 -1
- data/lib/compass_ae_starter_kit/templates/default_template.rb +55 -0
- data/lib/compass_ae_starter_kit/templates/development_template.rb +63 -0
- data/lib/compass_ae_starter_kit/version.rb +7 -1
- metadata +13 -9
- data/config/compass_ae_engines.yml +0 -97
- data/lib/tasks/compass_ae_starter_kit.rake +0 -235
data/README.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
|
2
1
|
Compass AE Starter Kit
|
3
2
|
======================
|
4
3
|
|
5
|
-
Want to get started using the Compass AE framework but think its too complicated, well below are
|
4
|
+
Want to get started using the Compass AE framework but think its too complicated, well below are 4 easy steps to get you started.
|
6
5
|
|
7
6
|
##prerequisites
|
8
7
|
|
@@ -15,52 +14,16 @@ Want to get started using the Compass AE framework but think its too complicated
|
|
15
14
|
|
16
15
|
##Installation (Gems Only)
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
rails new compass_demo
|
21
|
-
|
22
|
-
(Step 2) Add our local gem repository to your Gemfile
|
23
|
-
|
24
|
-
source 'http://development.compassagile.com:8080'
|
25
|
-
|
26
|
-
(Step 3) Add compass_ae_starter_kit gem to your Gemfile
|
27
|
-
|
28
|
-
gem 'compass_ae_starter_kit'
|
29
|
-
|
30
|
-
(Step 4) Bundle it up
|
31
|
-
|
32
|
-
bundle install
|
33
|
-
|
34
|
-
(Step 5) Initialize the Compass AE framework
|
35
|
-
|
36
|
-
rake compass_ae_starter_kit:initialize
|
37
|
-
|
38
|
-
Follow the instructions and Enjoy !
|
39
|
-
|
40
|
-
##Notes
|
41
|
-
|
42
|
-
### Options
|
43
|
-
|
44
|
-
You can install all Compass AE engines via
|
45
|
-
|
46
|
-
rake compass_ae_starter_kit:install:all
|
47
|
-
|
48
|
-
OR
|
49
|
-
|
50
|
-
You can install all Compass AE engines except some
|
51
|
-
|
52
|
-
rake compass_ae_starter_kit:install:all except=erp_products,erp_rules
|
53
|
-
|
54
|
-
OR
|
55
|
-
|
56
|
-
You can install engines that you choose
|
17
|
+
When the compass_ae gem is installed you will get a command line utility
|
57
18
|
|
58
|
-
|
19
|
+
compass_ae new my_compass_ae_app
|
20
|
+
|
21
|
+
this will create a new rails application setup to run our Compass AE engines.
|
59
22
|
|
60
23
|
### Development
|
61
24
|
|
62
|
-
If you want the source from our GIT repositories and not just the gems you can
|
25
|
+
If you want the source from our GIT repositories and not just the gems you can use this command
|
63
26
|
|
64
|
-
|
27
|
+
compass_ae dev my_dev_compass_ae_app
|
65
28
|
|
66
29
|
This will clone our GIT repositories and point your Gemfile.rb to them
|
data/bin/compass_ae
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
module CompassAeStarterKit
|
2
|
+
class CompassAE
|
3
|
+
class << self
|
4
|
+
|
5
|
+
def banner
|
6
|
+
%(
|
7
|
+
Usage:
|
8
|
+
compass_ae new <app_name> [rails_opt] Creates a new Rails Compass AE Application
|
9
|
+
rails_opt: all the options accepted by the rails command
|
10
|
+
|
11
|
+
compass_ae dev <app_name> [rails_opt] Creates a new Rails Compass AE Application and clones our repository and points the Compass AE gems to it
|
12
|
+
rails_opt: all the options accepted by the rails command
|
13
|
+
|
14
|
+
compass_ae --help|-h This help screen
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
def run
|
19
|
+
template_path = File.join(File.dirname(__FILE__), '../templates/default_template.rb')
|
20
|
+
|
21
|
+
if ARGV.first != "new" and ARGV.first != "dev"
|
22
|
+
ARGV[0] = "--help"
|
23
|
+
end
|
24
|
+
|
25
|
+
if ARGV.first == "dev"
|
26
|
+
template_path = File.join(File.dirname(__FILE__), '../templates/development_template.rb')
|
27
|
+
ARGV[0] = "new"
|
28
|
+
end
|
29
|
+
|
30
|
+
command = ARGV.shift
|
31
|
+
case command
|
32
|
+
when '--help'
|
33
|
+
puts self.banner
|
34
|
+
when 'new'
|
35
|
+
app_name = ARGV.shift
|
36
|
+
raise "The application name is missing!" if app_name.nil?
|
37
|
+
puts 'Generating Rails infrastructure...'
|
38
|
+
system "rails new #{app_name} #{ARGV * ' '} -m #{template_path}"
|
39
|
+
Dir.chdir app_name
|
40
|
+
system "rake db:migrate"
|
41
|
+
system "rake db:migrate_data"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end#self
|
46
|
+
end#CompassAE
|
47
|
+
end#ErpBaseErpSvcs
|
@@ -0,0 +1,55 @@
|
|
1
|
+
load File.join(File.dirname(__FILE__),'../file_support.rb')
|
2
|
+
|
3
|
+
File.unlink 'public/index.html' rescue Errno::ENOENT
|
4
|
+
FileUtils.cp File.join(File.dirname(__FILE__),'../../../public','index.html'), 'public/index.html'
|
5
|
+
|
6
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/initializers/session_store.rb',
|
7
|
+
"# #{app_const}.config.session_store :active_record_store",
|
8
|
+
"#{app_const}.config.session_store :active_record_store",
|
9
|
+
:patch_mode => :change
|
10
|
+
|
11
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/routes.rb',
|
12
|
+
"#{app_const}.routes.draw do",
|
13
|
+
" mount ErpApp::Engine => '/erp_app'
|
14
|
+
mount RailsDbAdmin::Engine => '/rails_db_admin'
|
15
|
+
mount Knitkit::Engine => '/knitkit'
|
16
|
+
mount ErpTechSvcs::Engine => '/erp_tech_svcs'
|
17
|
+
mount CompassAeConsole::Engine => '/compass_ae_console'",
|
18
|
+
:patch_mode => :insert_after
|
19
|
+
|
20
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/environments/production.rb',
|
21
|
+
" config.serve_static_assets = false",
|
22
|
+
" config.serve_static_assets = true",
|
23
|
+
:patch_mode => :change
|
24
|
+
|
25
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/environments/production.rb',
|
26
|
+
" config.assets.compile = false",
|
27
|
+
" config.assets.compile = true",
|
28
|
+
:patch_mode => :change
|
29
|
+
|
30
|
+
CompassAeStarterKit::FileSupport.append_file 'Gemfile',
|
31
|
+
"
|
32
|
+
gem 'erp_base_erp_svcs'
|
33
|
+
gem 'erp_tech_svcs'
|
34
|
+
gem 'erp_app'
|
35
|
+
gem 'erp_forms'
|
36
|
+
gem 'knitkit'
|
37
|
+
gem 'rails_db_admin'
|
38
|
+
gem 'compass_ae_console'
|
39
|
+
"
|
40
|
+
|
41
|
+
puts <<-end
|
42
|
+
|
43
|
+
Thanks for installing Compass AE!
|
44
|
+
|
45
|
+
We've performed the following tasks:
|
46
|
+
|
47
|
+
* Replaced the index.html page from /public with our Compass AE splash screen
|
48
|
+
* patched config/initializers/session_store.rb to use ActiveRecord for your session store
|
49
|
+
* patched config/environments/production.rb and set config.serve_static_assets = true
|
50
|
+
* patched config/environments/production.rb and set config.assets.compile = true
|
51
|
+
* Added the core Compass AE gems to your Gemfile
|
52
|
+
|
53
|
+
Now we will bundle it up and run the migrations...
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
load File.join(File.dirname(__FILE__),'../file_support.rb')
|
2
|
+
|
3
|
+
File.unlink 'public/index.html' rescue Errno::ENOENT
|
4
|
+
FileUtils.cp File.join(File.dirname(__FILE__),'../../../public','index.html'), 'public/index.html'
|
5
|
+
|
6
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/initializers/session_store.rb',
|
7
|
+
"# #{app_const}.config.session_store :active_record_store",
|
8
|
+
"#{app_const}.config.session_store :active_record_store",
|
9
|
+
:patch_mode => :change
|
10
|
+
|
11
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/routes.rb',
|
12
|
+
"#{app_const}.routes.draw do",
|
13
|
+
" mount ErpApp::Engine => '/erp_app'
|
14
|
+
mount RailsDbAdmin::Engine => '/rails_db_admin'
|
15
|
+
mount Knitkit::Engine => '/knitkit'
|
16
|
+
mount ErpTechSvcs::Engine => '/erp_tech_svcs'
|
17
|
+
mount CompassAeConsole::Engine => '/compass_ae_console'",
|
18
|
+
:patch_mode => :insert_after
|
19
|
+
|
20
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/environments/production.rb',
|
21
|
+
" config.serve_static_assets = false",
|
22
|
+
" config.serve_static_assets = true",
|
23
|
+
:patch_mode => :change
|
24
|
+
|
25
|
+
CompassAeStarterKit::FileSupport.patch_file 'config/environments/production.rb',
|
26
|
+
" config.assets.compile = false",
|
27
|
+
" config.assets.compile = true",
|
28
|
+
:patch_mode => :change
|
29
|
+
|
30
|
+
git :clone => 'git://github.com/portablemind/compass_agile_enterprise.git "lib/compass_agile_enterprise"'
|
31
|
+
|
32
|
+
inside('lib/compass_agile_enterprise') do
|
33
|
+
run 'git checkout'
|
34
|
+
end
|
35
|
+
|
36
|
+
CompassAeStarterKit::FileSupport.append_file 'Gemfile',
|
37
|
+
"
|
38
|
+
path './lib/compass_agile_enterprise' do
|
39
|
+
gem 'erp_base_erp_svcs'
|
40
|
+
gem 'erp_tech_svcs'
|
41
|
+
gem 'erp_app'
|
42
|
+
gem 'erp_forms'
|
43
|
+
gem 'knitkit'
|
44
|
+
gem 'rails_db_admin'
|
45
|
+
gem 'compass_ae_console'
|
46
|
+
end
|
47
|
+
"
|
48
|
+
|
49
|
+
puts <<-end
|
50
|
+
|
51
|
+
Thanks for installing Compass AE!
|
52
|
+
|
53
|
+
We've performed the following tasks:
|
54
|
+
|
55
|
+
* Replaced the index.html page from /public with our Compass AE splash screen
|
56
|
+
* patched config/initializers/session_store.rb to use ActiveRecord for your session store
|
57
|
+
* patched config/environments/production.rb and set config.serve_static_assets = true
|
58
|
+
* patched config/environments/production.rb and set config.assets.compile = true
|
59
|
+
* Added the core Compass AE gems to your Gemfile and cloned our repository and pointed the Compass AE gems to it
|
60
|
+
|
61
|
+
Now we will bundle it up and run the migrations...
|
62
|
+
|
63
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compass_ae_starter_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-03-03 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &83533580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,23 +21,27 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
description: Contains
|
24
|
+
version_requirements: *83533580
|
25
|
+
description: Contains compass_ae command to create a new Compass AE application
|
26
26
|
email:
|
27
27
|
- russonrails@gmail.com
|
28
|
-
executables:
|
28
|
+
executables:
|
29
|
+
- compass_ae
|
29
30
|
extensions: []
|
30
31
|
extra_rdoc_files: []
|
31
32
|
files:
|
33
|
+
- lib/compass_ae_starter_kit/cli.rb
|
34
|
+
- lib/compass_ae_starter_kit/templates/default_template.rb
|
35
|
+
- lib/compass_ae_starter_kit/templates/development_template.rb
|
32
36
|
- lib/compass_ae_starter_kit/engine.rb
|
33
37
|
- lib/compass_ae_starter_kit/file_support.rb
|
38
|
+
- lib/compass_ae_starter_kit/commands/compass_ae.rb
|
34
39
|
- lib/compass_ae_starter_kit/version.rb
|
35
40
|
- lib/compass_ae_starter_kit.rb
|
36
|
-
- lib/tasks/compass_ae_starter_kit.rake
|
37
|
-
- config/compass_ae_engines.yml
|
38
41
|
- public/index.html
|
39
42
|
- GPL-3-LICENSE
|
40
43
|
- README.md
|
44
|
+
- bin/compass_ae
|
41
45
|
homepage: http://development.compassagile.com
|
42
46
|
licenses: []
|
43
47
|
post_install_message:
|
@@ -58,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
58
62
|
version: '0'
|
59
63
|
requirements: []
|
60
64
|
rubyforge_project:
|
61
|
-
rubygems_version: 1.8.
|
65
|
+
rubygems_version: 1.8.17
|
62
66
|
signing_key:
|
63
67
|
specification_version: 3
|
64
68
|
summary: Gem to help get the Compass AE framework up a running
|
@@ -1,97 +0,0 @@
|
|
1
|
-
---
|
2
|
-
- :name: erp_base_erp_svcs
|
3
|
-
:git:
|
4
|
-
:name: Compass-AE-Kernel
|
5
|
-
:url: https://github.com/portablemind/Compass-AE-Kernel.git
|
6
|
-
:is_group: true
|
7
|
-
- :name: erp_tech_svcs
|
8
|
-
:has_routes: true
|
9
|
-
:git:
|
10
|
-
:name: Compass-AE-Kernel
|
11
|
-
:url: https://github.com/portablemind/Compass-AE-Kernel.git
|
12
|
-
:is_group: true
|
13
|
-
- :name: erp_app
|
14
|
-
:has_routes: true
|
15
|
-
:git:
|
16
|
-
:name: Application-Stack---Suite
|
17
|
-
:url: https://github.com/portablemind/Application-Stack---Suite.git
|
18
|
-
:is_group: true
|
19
|
-
- :name: erp_forms
|
20
|
-
:has_routes: true
|
21
|
-
:git:
|
22
|
-
:name: Application-Stack---Suite
|
23
|
-
:url: https://github.com/portablemind/Application-Stack---Suite.git
|
24
|
-
:is_group: true
|
25
|
-
- :name: knitkit
|
26
|
-
:has_routes: true
|
27
|
-
:git:
|
28
|
-
:name: Knitkit-CMS
|
29
|
-
:url: https://github.com/portablemind/Knitkit-CMS.git
|
30
|
-
- :name: rails_db_admin
|
31
|
-
:has_routes: true
|
32
|
-
:git:
|
33
|
-
:name: Rails-DB-Admin
|
34
|
-
:url: https://github.com/portablemind/Rails-DB-Admin.git
|
35
|
-
- :name: compass_ae_console
|
36
|
-
:has_routes: true
|
37
|
-
:git:
|
38
|
-
:name: Compass-AE-Console
|
39
|
-
:url: https://github.com/portablemind/Compass-AE-Console.git
|
40
|
-
- :name: erp_agreements
|
41
|
-
:git:
|
42
|
-
:name: Erp-Modules
|
43
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
44
|
-
:is_group: true
|
45
|
-
- :name: erp_commerce
|
46
|
-
:git:
|
47
|
-
:name: Erp-Modules
|
48
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
49
|
-
:is_group: true
|
50
|
-
- :name: erp_communication_events
|
51
|
-
:git:
|
52
|
-
:name: Erp-Modules
|
53
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
54
|
-
:is_group: true
|
55
|
-
- :name: erp_financial_accounting
|
56
|
-
:git:
|
57
|
-
:name: Erp-Modules
|
58
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
59
|
-
:is_group: true
|
60
|
-
- :name: erp_inventory
|
61
|
-
:git:
|
62
|
-
:name: Erp-Modules
|
63
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
64
|
-
:is_group: true
|
65
|
-
- :name: erp_invoicing
|
66
|
-
:has_routes: true
|
67
|
-
:git:
|
68
|
-
:name: Erp-Modules
|
69
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
70
|
-
:is_group: true
|
71
|
-
- :name: erp_orders
|
72
|
-
:has_routes: true
|
73
|
-
:git:
|
74
|
-
:name: Erp-Modules
|
75
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
76
|
-
:is_group: true
|
77
|
-
- :name: erp_products
|
78
|
-
:has_routes: true
|
79
|
-
:git:
|
80
|
-
:name: Erp-Modules
|
81
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
82
|
-
:is_group: true
|
83
|
-
- :name: erp_rules
|
84
|
-
:git:
|
85
|
-
:name: Erp-Modules
|
86
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
87
|
-
:is_group: true
|
88
|
-
- :name: erp_txns_and_accts
|
89
|
-
:git:
|
90
|
-
:name: Erp-Modules
|
91
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
92
|
-
:is_group: true
|
93
|
-
- :name: erp_work_effort
|
94
|
-
:git:
|
95
|
-
:name: Erp-Modules
|
96
|
-
:url: https://github.com/portablemind/Erp-Modules.git
|
97
|
-
:is_group: true
|
@@ -1,235 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
require 'fileutils'
|
3
|
-
|
4
|
-
namespace :compass_ae_starter_kit do
|
5
|
-
|
6
|
-
desc 'sets up all configuration files and initilizers to run Compass AE'
|
7
|
-
task :initialize => :environment do
|
8
|
-
#remove public index file from Rails application so Compass AE splash will show
|
9
|
-
File.unlink 'public/index.html' rescue Errno::ENOENT
|
10
|
-
FileUtils.cp File.join(File.dirname(__FILE__),'../../public','index.html'), 'public/index.html'
|
11
|
-
|
12
|
-
CompassAeStarterKit::FileSupport.patch_file 'config/initializers/session_store.rb',
|
13
|
-
"# #{Rails.application.class.parent_name}::Application.config.session_store :active_record_store",
|
14
|
-
" #{Rails.application.class.parent_name}::Application.config.session_store :active_record_store",
|
15
|
-
:patch_mode => :change
|
16
|
-
|
17
|
-
CompassAeStarterKit::FileSupport.patch_file 'config/environments/production.rb',
|
18
|
-
" config.serve_static_assets = false",
|
19
|
-
" config.serve_static_assets = true",
|
20
|
-
:patch_mode => :change
|
21
|
-
|
22
|
-
CompassAeStarterKit::FileSupport.patch_file 'config/environments/production.rb',
|
23
|
-
" config.assets.compile = false",
|
24
|
-
" config.assets.compile = true",
|
25
|
-
:patch_mode => :change
|
26
|
-
|
27
|
-
puts <<-end
|
28
|
-
|
29
|
-
Thanks for initializing Compass AE!
|
30
|
-
|
31
|
-
We've performed the following tasks:
|
32
|
-
|
33
|
-
* Replaced the index.html page from /public with our Compass AE splash screen
|
34
|
-
* patched config/initializers/session_store.rb to use ActiveRecord for your session store
|
35
|
-
* patched config/environments/production.rb and set config.serve_static_assets = true
|
36
|
-
* patched config/environments/production.rb and set config.assets.compile = true
|
37
|
-
|
38
|
-
Next Steps:
|
39
|
-
|
40
|
-
Install the Compass AE frameworks core engines
|
41
|
-
|
42
|
-
If you only want the gems and not the source:
|
43
|
-
|
44
|
-
rake compass_ae_starter_kit:install:core
|
45
|
-
|
46
|
-
If you want to clone the git repositories and have the source for development
|
47
|
-
|
48
|
-
rake compass_ae_starter_kit:install:core development=true
|
49
|
-
|
50
|
-
enjoy!
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
namespace :install do
|
56
|
-
desc 'install core Compass AE engines'
|
57
|
-
task :core do
|
58
|
-
ENV['engines'] = 'core'
|
59
|
-
Rake::Task['compass_ae_starter_kit:install'].invoke
|
60
|
-
end
|
61
|
-
|
62
|
-
desc 'install all Compass AE engines'
|
63
|
-
task :all do
|
64
|
-
ENV['engines'] = 'all'
|
65
|
-
Rake::Task['compass_ae_starter_kit:install'].invoke
|
66
|
-
end
|
67
|
-
|
68
|
-
end#:install
|
69
|
-
|
70
|
-
desc 'install selected compass engines (engines=core or engines=all or engines=name1,name2)'
|
71
|
-
task :install => :environment do
|
72
|
-
# call the perform method set to :install
|
73
|
-
engines = perform(:install_engines)
|
74
|
-
|
75
|
-
puts "Installed the following engines #{engines.collect{|engine|engine[:name]}.join(',')}"
|
76
|
-
|
77
|
-
puts <<-end
|
78
|
-
|
79
|
-
Thanks for installing Compass AE!
|
80
|
-
|
81
|
-
We've performed the following tasks:
|
82
|
-
|
83
|
-
* Updated your Gemfile with the installed engines
|
84
|
-
* patched config/routes.rb to mount the engines
|
85
|
-
|
86
|
-
Next Steps:
|
87
|
-
|
88
|
-
1. bundle install
|
89
|
-
2. rake db:migrate
|
90
|
-
3. rake db:migrate_data
|
91
|
-
|
92
|
-
Then startup your server...
|
93
|
-
|
94
|
-
rails s
|
95
|
-
open http://localhost:3000/
|
96
|
-
|
97
|
-
You should see the Compass AE Splash screen.
|
98
|
-
|
99
|
-
To Login to either the desktop or organizer the credentials are:
|
100
|
-
|
101
|
-
username: admin
|
102
|
-
passwrod: password
|
103
|
-
|
104
|
-
enjoy!
|
105
|
-
|
106
|
-
end
|
107
|
-
|
108
|
-
end
|
109
|
-
|
110
|
-
namespace :uninstall do
|
111
|
-
desc 'uninstall core Compass AE engines'
|
112
|
-
task :core do
|
113
|
-
ENV['engines'] = 'core'
|
114
|
-
Rake::Task['compass_ae_starter_kit:uninstall'].invoke
|
115
|
-
end
|
116
|
-
|
117
|
-
desc 'uninstall all Compass AE engines'
|
118
|
-
task :all do
|
119
|
-
ENV['engines'] = 'all'
|
120
|
-
Rake::Task['compass_ae_starter_kit:uninstall'].invoke
|
121
|
-
end
|
122
|
-
|
123
|
-
end#:uninstall
|
124
|
-
|
125
|
-
desc 'uninstall selected compass engines (engines=core or engines=all or engines=name1,name2)'
|
126
|
-
task :uninstall => :environment do
|
127
|
-
# call the perform set to :uninstall
|
128
|
-
engines = perform(:uninstall_engines)
|
129
|
-
|
130
|
-
puts "Uninstalled the following engines #{engines.collect{|engine|engine[:name]}.join(',')}"
|
131
|
-
end
|
132
|
-
|
133
|
-
def perform(method)
|
134
|
-
except = ENV['except'] ? ENV['except'].split(',') : []
|
135
|
-
|
136
|
-
engines = case ENV['engines']
|
137
|
-
when 'all'
|
138
|
-
all_engines
|
139
|
-
when 'core'
|
140
|
-
core_engines
|
141
|
-
else
|
142
|
-
select_engines(ENV['engines'].split(','))
|
143
|
-
end
|
144
|
-
|
145
|
-
#remove exceptions
|
146
|
-
except.each do |exception_engine|
|
147
|
-
engines.delete_if{|engine| engine[:name] == exception_engine}
|
148
|
-
end
|
149
|
-
|
150
|
-
send(method, engines, ENV['development']) if !engines.nil? and !engines.blank?
|
151
|
-
|
152
|
-
engines
|
153
|
-
end
|
154
|
-
|
155
|
-
def load_engines
|
156
|
-
YAML.load_file(File.join(File.dirname(__FILE__),'../../config','compass_ae_engines.yml'))
|
157
|
-
end
|
158
|
-
|
159
|
-
def all_engines
|
160
|
-
load_engines
|
161
|
-
end
|
162
|
-
|
163
|
-
def core_engines
|
164
|
-
select_engines(%w{erp_base_erp_svcs erp_tech_svcs erp_app erp_forms knitkit rails_db_admin compass_ae_console})
|
165
|
-
end
|
166
|
-
|
167
|
-
def select_engines(names)
|
168
|
-
all_engines.select{|engine| names.include?(engine[:name])}
|
169
|
-
end
|
170
|
-
|
171
|
-
def install_engines(engines, development=false)
|
172
|
-
installed_engines = Rails::Application::Railties.engines.collect{|e| e.railtie_name.camelize}
|
173
|
-
|
174
|
-
engines.each do |engine|
|
175
|
-
unless installed_engines.include?(engine[:name].camelize)
|
176
|
-
if engine[:has_routes]
|
177
|
-
CompassAeStarterKit::FileSupport.patch_file 'config/routes.rb',
|
178
|
-
"#{Rails.application.class.parent_name}::Application.routes.draw do",
|
179
|
-
" mount #{engine[:name].camelize}::Engine => '/#{engine[:name]}'",
|
180
|
-
:patch_mode => :insert_after
|
181
|
-
end
|
182
|
-
|
183
|
-
if development
|
184
|
-
git_settings = engine[:git]
|
185
|
-
git_path = File.join(Rails.root,'lib/compass')
|
186
|
-
FileUtils.mkdir_p git_path unless File.directory? git_path
|
187
|
-
|
188
|
-
engine_repo = File.join(git_path,git_settings[:name])
|
189
|
-
|
190
|
-
unless File.directory? engine_repo
|
191
|
-
Dir.chdir git_path
|
192
|
-
`git clone #{git_settings[:url]}`
|
193
|
-
|
194
|
-
Dir.chdir engine_repo
|
195
|
-
`git checkout`
|
196
|
-
|
197
|
-
Dir.chdir Rails.root
|
198
|
-
end
|
199
|
-
|
200
|
-
gem_path = git_settings[:is_group] ? File.join(engine_repo,engine[:name]) : engine_repo
|
201
|
-
|
202
|
-
CompassAeStarterKit::FileSupport.append_file 'Gemfile',
|
203
|
-
"gem '#{engine[:name]}', :path => '#{gem_path}'"
|
204
|
-
else
|
205
|
-
CompassAeStarterKit::FileSupport.append_file 'Gemfile',
|
206
|
-
"gem '#{engine[:name]}'"
|
207
|
-
end
|
208
|
-
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
|
-
end
|
213
|
-
|
214
|
-
def uninstall_engines(engines)
|
215
|
-
installed_engines = Rails::Application::Railties.engines.collect{|e| e.railtie_name.camelize}
|
216
|
-
|
217
|
-
engines.each do |engine|
|
218
|
-
if installed_engines.include?(engine[:name].camelize)
|
219
|
-
CompassAeStarterKit::FileSupport.patch_file 'Gemfile',
|
220
|
-
"gem '#{engine[:name]}'",
|
221
|
-
" ",
|
222
|
-
:patch_mode => :change
|
223
|
-
|
224
|
-
if engine[:has_routes]
|
225
|
-
CompassAeStarterKit::FileSupport.patch_file 'config/routes.rb',
|
226
|
-
"#{Rails.application.class.parent_name}::Application.routes.draw do",
|
227
|
-
" mount #{engine[:name].camelize}::Engine => '/#{engine[:name]}'",
|
228
|
-
" ",
|
229
|
-
:patch_mode => :change
|
230
|
-
end
|
231
|
-
end
|
232
|
-
end
|
233
|
-
end
|
234
|
-
|
235
|
-
end#:compass_ae_starter_kit
|