Sha256: b127423b3b532bb7c8d24bc4c7eb63edc9e44468508aa6b4b3d573536ff53e04

Contents?: true

Size: 874 Bytes

Versions: 23

Compression:

Stored size: 874 Bytes

Contents

class Ufo::Docker
  class Compiler
    def initialize(dockerfile)
      @dockerfile = dockerfile
      @erb_file = "#{dockerfile}.erb"
    end

    def compile
      return unless File.exist?(@erb_file)

      puts "Compiled #{File.basename(@erb_file).color(:green)} to #{File.basename(@dockerfile).color(:green)}"
      path = "#{Ufo.root}/.ufo/settings/dockerfile_variables.yml"
      vars = YAML.load_file(path)[Ufo.env] if File.exist?(path)
      vars ||= {}
      result = RenderMePretty.result(@erb_file, vars)
      comment =<<~EOL.chop # remove the trailing newline
        # Note this file was generated from #{File.basename(@erb_file)} as a part of running ufo ship"
        # To update the FROM statement with the latest base docker image run: ufo docker base
      EOL
      result = "#{comment}\n#{result}"
      IO.write(@dockerfile, result)
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
ufo-5.0.7 lib/ufo/docker/compiler.rb
ufo-5.0.6 lib/ufo/docker/compiler.rb
ufo-5.0.5 lib/ufo/docker/compiler.rb
ufo-5.0.4 lib/ufo/docker/compiler.rb
ufo-5.0.3 lib/ufo/docker/compiler.rb
ufo-5.0.2 lib/ufo/docker/compiler.rb
ufo-5.0.1 lib/ufo/docker/compiler.rb
ufo-5.0.0 lib/ufo/docker/compiler.rb
ufo-4.6.3 lib/ufo/docker/compiler.rb
ufo-4.6.2 lib/ufo/docker/compiler.rb
ufo-4.6.1 lib/ufo/docker/compiler.rb
ufo-4.6.0 lib/ufo/docker/compiler.rb
ufo-4.5.11 lib/ufo/docker/compiler.rb
ufo-4.5.10 lib/ufo/docker/compiler.rb
ufo-4.5.9 lib/ufo/docker/compiler.rb
ufo-4.5.8 lib/ufo/docker/compiler.rb
ufo-4.5.7 lib/ufo/docker/compiler.rb
ufo-4.5.6 lib/ufo/docker/compiler.rb
ufo-4.5.5 lib/ufo/docker/compiler.rb
ufo-4.5.4 lib/ufo/docker/compiler.rb