Sha256: fcb2a763d0cc65e397c5cb63f7acabd1dbaf611c6c61c2816cbc6a0fb546a22f
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
# encoding: UTF-8 module Tetra # generates a package build script from bash_history module Scriptable def _to_script(project, history_path) ant_runner = Tetra::AntRunner.new(project) maven_runner = Tetra::MavenRunner.new(project) project.from_directory do history_lines = File.readlines(history_path).map { |e| e.strip } relevant_lines = history_lines .reverse .take_while { |e| e.match(/tetra +dry-run/).nil? } .reverse .take_while { |e| e.match(/tetra +finish/).nil? } .select { |e| e.match(/^#/).nil? } script_lines = [ "#!/bin/bash", "set -xe", "PROJECT_PREFIX=`readlink -e .`", "cd #{project.latest_dry_run_directory}" ] + relevant_lines.map do |line| if line =~ /tetra +mvn/ line.gsub(/tetra +mvn/, "#{maven_runner.get_maven_commandline("$PROJECT_PREFIX", ["-o"])}") elsif line =~ /tetra +ant/ line.gsub(/tetra +ant/, "#{ant_runner.get_ant_commandline("$PROJECT_PREFIX")}") else line end end new_content = script_lines.join("\n") + "\n" result_dir = File.join(project.packages_dir, project.name) FileUtils.mkdir_p(result_dir) result_path = File.join(result_dir, "build.sh") conflict_count = project.merge_new_content(new_content, result_path, "Build script generated", "generate_build_script") [result_path, conflict_count] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tetra-0.45.0 | lib/tetra/packages/scriptable.rb |
tetra-0.44.0 | lib/tetra/packages/scriptable.rb |