Class: Dnnbundler::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/dnnbundler/cli.rb

Instance Method Summary collapse

Instance Method Details

#build(config) ⇒ Object



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
# File 'lib/dnnbundler/cli.rb', line 13

def build( config )
    puts "Build with config #{config}"
    file = File.read(config)
    json_config = JSON.parse(file)

    manifest_files = json_config[JsonConfig::Manifests]
    current_version = Dnnbundler::getVersionFromManifest manifest_files[0]
    version_numbers = Dnnbundler::splitVersionNumbers current_version

    version_numbers[1] = version_numbers[1] + 1 if options[:bumpSprint]
    version_numbers[2] = 1 if options[:bumpSprint]
    version_numbers[2] = version_numbers[2] + 1 if options[:bumpBuild]
    version_numbers = Dnnbundler::splitVersionNumbers(options[:targetVersion]) if options[:targetVersion]

    new_version = Dnnbundler::formatVersion(version_numbers)
    puts "current version is #{current_version}"
    puts "new version is #{new_version}"

    json_config[JsonConfig::Packages].each do |package|
        package[JsonConfig::Name].sub!(JsonConfig::PackageVersionPlaceholder, new_version)
        Dnnbundler::replaceVersionInManifestFiles manifest_files, new_version

        generator = Zipper::ZipFileGenerator.new(package)
        generator.write
    end
end