Sha256: 365d07adca3ebeb5f4a2c8b501ee1ec0ac10c94f779e92b08ec078374d1e3a8f
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
# encoding: UTF-8 module Gjp # generates build scripts from bash_history class BuildScriptGenerator include Logger def initialize(project, history_path) @project = project @kit_runner = Gjp::KitRunner.new(project) @history_path = history_path end def generate_build_script(name) @project.from_directory do history_lines = File.readlines(@history_path).map { |e| e.strip } relevant_lines = history_lines .reverse .take_while { |e| e.match(/gjp +dry-run/) == nil } .reverse .take_while { |e| e.match(/gjp +finish/) == nil } .select { |e| e.match(/^#/) == nil } script_lines = [ "#!/bin/bash", "PROJECT_PREFIX=`readlink -e .`", "cd #{@project.latest_dry_run_directory}" ] + relevant_lines.map do |line| if line =~ /gjp +mvn/ line.gsub(/gjp +mvn/, "#{@kit_runner.get_maven_commandline("$PROJECT_PREFIX")}") else line end end new_content = script_lines.join("\n") + "\n" result_path = File.join("src", name, "build.sh") conflict_count = @project.merge_new_content(new_content, result_path, "Build script generated", "generate_#{name}_build_script") [result_path, conflict_count] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gjp-0.22.0 | lib/gjp/build_script_generator.rb |