From 2cfe271e0f137a17de17198b2dddba2bfaddbcc2 Mon Sep 17 00:00:00 2001 From: ilovezfs Date: Wed, 24 Aug 2016 01:17:16 -0700 Subject: [PATCH] giter8 0.7.1 enable bottling add :java requirement do a complete installation in libexec using upstream's `conscript` tool remove the caveat since it's no longer applicable add a test Closes #4205. Signed-off-by: ilovezfs --- Formula/giter8.rb | 76 +++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/Formula/giter8.rb b/Formula/giter8.rb index a442113d5c..2061000400 100644 --- a/Formula/giter8.rb +++ b/Formula/giter8.rb @@ -1,53 +1,51 @@ class Giter8 < Formula desc "Generate files and directories from templates in a git repo" homepage "https://github.com/n8han/giter8" - url "https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.7/sbt-launch.jar" - version "0.6.8" - sha256 "9673ca4611e6367955ae068d5888f7ae665ab013c3e8435ffe2ca94318c6d607" - # note: because sbt-launch dynamically downloads giter8 from the maven repos - # at first run (using the launchconfig mechanism), and not when the formula - # is installed, the above url and sha256 are related to sbt-launch.jar. - # The version below is that of giter8, and when upgrading this formula, - # one must check the giter8 version is available in maven repositories. + url "https://github.com/foundweekends/giter8/archive/v0.7.1.tar.gz" + sha256 "181357720f14b49cf132210a04fe3ad470d51731030394a8a723c1c49aced42c" - bottle :unneeded + depends_on :java => "1.6+" - def exec_script; <<-EOS.undent - #!/bin/sh - exec java -Xmx512M -jar #{prefix}/sbt-launch.jar @giter8.launchconfig "$@" - EOS + resource "conscript" do + url "https://github.com/foundweekends/conscript.git", + :revision => "f7ee8b5bc3b00592adbd09c878b6649b624f141c" end - def config_script; <<-EOS.undent - [app] - version: #{version} - org: net.databinder.giter8 - name: giter8 - class: giter8.Giter8 - [scala] - version: 2.10.4 - [repositories] - local - maven-central - sonatype-releases: https://oss.sonatype.org/content/repositories/releases/ - [boot] - directory: #{prefix}/boot - EOS + resource "launcher" do + url "https://oss.sonatype.org/content/repositories/public/org/scala-sbt/launcher/1.0.0/launcher-1.0.0.jar" + sha256 "9149549ee09c50bda21ab57990f95aac4dd3919d720367df6198ec7e16480639" end def install - (bin/"g8").write exec_script - (prefix/"giter8.launchconfig").write config_script - prefix.install "sbt-launch.jar" + conscript_home = libexec/"conscript" + ENV["CONSCRIPT_HOME"] = conscript_home + ENV.java_cache + + conscript_home.install resource("launcher") + launcher = conscript_home/"launcher-#{resource("launcher").version}.jar" + conscript_home.install_symlink launcher => "sbt-launch.jar" + + resource("conscript").stage do + cs = conscript_home/"foundweekends/conscript/cs" + cs.install "src/main/conscript/cs/launchconfig" + inreplace "setup.sh" do |s| + s.gsub! /.*wget .*/, "" + s.gsub! /^ +exec .*/, "exit" + end + system "sh", "-x", "setup.sh" # exit code is 1 + end + + system conscript_home/"bin/cs", "foundweekends/giter8/#{version}" + bin.install_symlink conscript_home/"bin/g8" end - def caveats; <<-EOS.undent - Giter8 will download the Scala runtime and the rest of the - giter8 binaries the first time you run it. - You can do that now by running "g8". - - If the download of a resources fails, try cleaning your - ~/.ivy2/cache folder and rerun / reinstall giter8. - EOS + test do + # sandboxing blocks us from locking libexec/"conscript/boot/sbt.boot.lock" + cp_r libexec/"conscript", "." + inreplace %w[conscript/bin/cs conscript/bin/g8 + conscript/foundweekends/giter8/g8/launchconfig + conscript/foundweekends/conscript/cs/launchconfig], + libexec, testpath + system testpath/"conscript/bin/g8", "--version" end end