rake-tasks-docker-setup 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d5be0c54d517ee6afa78b308546e60fbfdc66208
4
+ data.tar.gz: 6a35adf7b875412fae595f4ea5533322501bc04d
5
+ SHA512:
6
+ metadata.gz: ac60deda5d02c6145f566796477274342e8ada3cc39cff4014c128f0778c64cc06c0e636820511a8fd96827c9ac866f944271f3acd2b5b1482958d6d359972b0
7
+ data.tar.gz: 0229e18b3b145c10877731f6fc91d4611e841cebce6c96718ea578384bbe3759cabb30b81d840a10469a12234086ceb345b851a597a0cd5309a1d348571aea06
@@ -0,0 +1 @@
1
+ Gemfile.lock
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in hem-tasks-magento1.gemspec
4
+ gemspec
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,2 @@
1
+ require_relative 'rake-tasks-docker-setup/setup'
2
+ require_relative 'rake-tasks-docker-setup/version'
@@ -0,0 +1,13 @@
1
+ require_relative 'setup'
2
+
3
+ namespace :docker do
4
+ task :up => 'docker:first_setup'
5
+
6
+ task :setup do
7
+ RakeTasksDockerSetup::Setup.createOverrides
8
+ end
9
+
10
+ task :first_setup do
11
+ Rake::Task['docker:setup'].invoke unless RakeTasksDockerSetup::Setup.overridesExist?
12
+ end
13
+ end
@@ -0,0 +1,38 @@
1
+ require 'deep_merge'
2
+ require 'yaml'
3
+
4
+ module RakeTasksDockerSetup
5
+ module Setup
6
+ extend self
7
+
8
+ def overridesExist?
9
+ File.exist?('docker-compose.override.yml')
10
+ end
11
+
12
+ def createOverrides
13
+ overrides = merged_overrides
14
+ message = "# This file has been generated by rake-tasks-docker-setup\n"
15
+ File.write('docker-compose.override.yml', message + overrides.to_yaml) unless overrides.empty?
16
+ end
17
+
18
+ private
19
+
20
+ def merged_overrides
21
+ merged_hash = {}
22
+ docker_compose_overrides.each do |overrides|
23
+ merged_hash.deep_merge!(overrides)
24
+ end
25
+ merged_hash
26
+ end
27
+
28
+ def docker_compose_overrides
29
+ docker_compose_files = %w[docker-compose.override.yml.dist]
30
+ docker_compose_files << "docker-compose-dev-#{RUBY_PLATFORM.sub('darwin', 'macos').match(/(macos|linux)/)[1]}.yml"
31
+ if RUBY_PLATFORM =~ /darwin/
32
+ docker_compose_files << 'docker-compose-dev-macos-sync.yml' if %w[true yes y].include? ENV['RAKE_USE_DOCKER_SYNC']
33
+ docker_compose_files << 'docker-compose-dev-macos-delegated.yml' unless %w[true yes y].include? ENV['RAKE_USE_DOCKER_SYNC']
34
+ end
35
+ docker_compose_files.select { |file| File.exist? file }.map { |file| YAML.load_file(file) }
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,3 @@
1
+ module RakeTasksDockerSetup
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'rake-tasks-docker-setup/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "rake-tasks-docker-setup"
9
+ spec.version = RakeTasksDockerSetup::VERSION
10
+ spec.authors = ["Andy Thompson", "Kieren Evans"]
11
+ spec.email = ["athompson@inviqa.com", "kevans+rake-tasks-docker@inviqa.com"]
12
+
13
+ spec.summary = %q{Docker setup tasks for Rake}
14
+ spec.description = %q{Docker setup tasks for Rake}
15
+ spec.homepage = ""
16
+ spec.licenses = ["MIT"]
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "rake", ">= 10.0", "<= 12"
22
+ spec.add_dependency "deep_merge", "~> 1.0"
23
+
24
+ spec.add_development_dependency "rspec", "~> 3.6"
25
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rake-tasks-docker-setup
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Andy Thompson
8
+ - Kieren Evans
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-02-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '10.0'
21
+ - - "<="
22
+ - !ruby/object:Gem::Version
23
+ version: '12'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '10.0'
31
+ - - "<="
32
+ - !ruby/object:Gem::Version
33
+ version: '12'
34
+ - !ruby/object:Gem::Dependency
35
+ name: deep_merge
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: rspec
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.6'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.6'
62
+ description: Docker setup tasks for Rake
63
+ email:
64
+ - athompson@inviqa.com
65
+ - kevans+rake-tasks-docker@inviqa.com
66
+ executables: []
67
+ extensions: []
68
+ extra_rdoc_files: []
69
+ files:
70
+ - ".gitignore"
71
+ - ".rspec"
72
+ - Gemfile
73
+ - Rakefile
74
+ - lib/rake-tasks-docker-setup.rb
75
+ - lib/rake-tasks-docker-setup/rake_task.rb
76
+ - lib/rake-tasks-docker-setup/setup.rb
77
+ - lib/rake-tasks-docker-setup/version.rb
78
+ - rake-tasks-docker-setup.gemspec
79
+ homepage: ''
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.8
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: Docker setup tasks for Rake
103
+ test_files: []