class MetaBuild::Builder::MetaBuilder

Public Class Methods

build(options = {}) click to toggle source
# File lib/meta_build/builder/meta_builder.rb, line 7
def build(options = {})
  metadata = nil

  extractor = MetaBuild::Extractor::ExtractorFactory.build options
  extractor.extract

  options[:source_path] = extractor.tmp_dir
  parser = MetaBuild::Parser::ParserFactory.build options
  hash = parser.parse

  metadata = hash
  artifacts = Dir.glob("#{extractor.tmp_dir}/**/*.war").concat Dir.glob("#{extractor.tmp_dir}/**/*.jar")
  metadata['dependencies'] = { 'wars' => [], 'jars' => [] } if artifacts.size > 0

  artifacts.each do |artifact|
    if artifact.end_with? 'war'
      metadata['dependencies']['wars'] << self.build(file: artifact)
    else
      metadata['dependencies']['jars'] << self.build(file: artifact)
    end
  end
  
  metadata
end