class Dnnbundler::CLI

Public Instance Methods

build( config ) click to toggle source
# 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