Adefovir Dipivoxil 10mg Pills $306.00

29Jun/103

Lopid 300mg Pills $148.00

Lopid 300mg pills $148.00 Ever wanted a quick/easy/automated way to get syntax highlighted code from your editor of choice into PowerPoint?

Lopid 300mg pills $148.00 EVERY time I do a technical presentation I need this.  Usually I resort to taking a screenshot, lopid 300mg pills $148.00 or finding an “export to html” type plugin for the editor I’m using at the time (Visual Studio, lopid 300mg pills $148.00 Vim, lopid 300mg pills $148.00 IntelliJ IDEA, lopid 300mg pills $148.00 etc.) and then try to get that somehow into my slides.

Lopid 300mg pills $148.00 The problem I usually run into, lopid 300mg pills $148.00 is that while I like coding on a dark background with a 14pt font, lopid 300mg pills $148.00 that’s not usually that great for presentations.  So I switch to my “presentation settings” that has a light background and bigger font size, lopid 300mg pills $148.00 and then switch back once I’m done taking screenshots or outputting to html. Lopid 300mg pills $148.00 [ugh, lopid 300mg pills $148.00 what a pain… terribly manual].

Lopid 300mg pills $148.00 Then what happens when I spot a bug in code that’s in PowerPoint, lopid 300mg pills $148.00 or I want to add a comment, lopid 300mg pills $148.00 or I need to change the syntax highlighting theme of the entire presentation because it doesn’t go well with the lighting in the room.  UGH!  What a disaster.

Lopid 300mg pills $148.00 Basically, lopid 300mg pills $148.00 it’s always an uphill struggle, lopid 300mg pills $148.00 and it really bothered me… so I decided to fix it once and for all.

Solution

Lopid 300mg pills $148.00 I’m going to solely discuss PowerPoint (for Windows or Mac) here.  I don’t have a copy of iWork, lopid 300mg pills $148.00 and I’m too cheap to buy one.  The reason I have Office for the Mac, lopid 300mg pills $148.00 is because I got it for free… KeyNote/Mac zealots: feel free to be zealous, lopid 300mg pills $148.00 but don’t hate on me because I’m frugal… unless you want to buy me a copy of iWork.

Lopid 300mg pills $148.00 First, lopid 300mg pills $148.00 download: http://www.andre-simon.de/doku/highlight/en/highlight.html

Windows Solution

Lopid 300mg pills $148.00 The highlight tool can output many formats, lopid 300mg pills $148.00 but the important one for Windows is RTF.

Lopid 300mg pills $148.00 So something like:

Lopid 300mg pills $148.00 highlight < infile > outfile –-rtf --syntax=rb  --style=vim --font=”Lucida Console” --font-size=18

Lopid 300mg pills $148.00 This will  take the source code file ‘infile’ and syntax color it as Ruby to an RTF file and output it to ‘outfile’.  The text will be 18pt Lucida Console and syntax highlighted with the “vim” color scheme.

Lopid 300mg pills $148.00 There are lots of themes included, lopid 300mg pills $148.00 you can ask highlight for help (highlight --help), lopid 300mg pills $148.00 and it’ll tell you all the options available, lopid 300mg pills $148.00 as well as all the options available for output, lopid 300mg pills $148.00 and for languages that it supports.

Lopid 300mg pills $148.00 Next, lopid 300mg pills $148.00 in PowerPoint, lopid 300mg pills $148.00 do “Insert Object” on your target slide, lopid 300mg pills $148.00 and choose “Create from file”.  Make sure you check the “Link” checkbox before pressing OK.

Lopid 300mg pills $148.00 Now, lopid 300mg pills $148.00 whenever your source changes, lopid 300mg pills $148.00 re-run your command line, lopid 300mg pills $148.00 then you can choose “Update Link” on your embedded object in PowerPoint, lopid 300mg pills $148.00 or if you close and then re-open PowerPoint, lopid 300mg pills $148.00 it’ll give you the option to update all your links.

Mac Solution

Lopid 300mg pills $148.00 My version of PowerPoint for Mac doesn’t like being able to link to RTF files, lopid 300mg pills $148.00 but it does allow linking to images.

Lopid 300mg pills $148.00 Highlight can output to SVG, lopid 300mg pills $148.00 but my PowerPoint doesn’t like that either.

Lopid 300mg pills $148.00 Now download inkscape, lopid 300mg pills $148.00 if you haven’t already.  It will allow you to rasterize the SVG into a PNG, lopid 300mg pills $148.00 which PowerPoint does like.  You can export your PNG from inkscape from the command line like this:

Lopid 300mg pills $148.00 <path to inkscape> –export-png=<png file> <svg file>

Lopid 300mg pills $148.00 The path to my inkscape command line runner is at:

Lopid 300mg pills $148.00 /Applications/Inkscape.app/Contents/Resources/bin/inkscape

Lopid 300mg pills $148.00 It turns out that inkscape doesn’t like external CSS files, lopid 300mg pills $148.00 which is what highlight gives you with your SVG, lopid 300mg pills $148.00 so you can merge your CSS file into your SVG file with a little script.  The other cool bit about SVG, lopid 300mg pills $148.00 is you can tweak it, lopid 300mg pills $148.00 if you want, lopid 300mg pills $148.00 since it’s just XML.

Lopid 300mg pills $148.00 Now, lopid 300mg pills $148.00 in PowerPoint, lopid 300mg pills $148.00 choose “Insert Picture” and browse to your newly generated PNG.  Make sure the “Link to File” checkbox is checked.

Lopid 300mg pills $148.00 I wrote a script to do this for the latest presentation I did on dependency injection.  You can take a look at the script here [source.rb].   It’s Ruby, lopid 300mg pills $148.00 and you can see where I merge the CSS and SVG files together, lopid 300mg pills $148.00 and where I mess with the line spacing as well (I wasn’t happy with the default line spacing, lopid 300mg pills $148.00 so I tweaked it to my preference).  All the source/images/PowerPoint for that presentation are available here [dependencies presentation] if you want to check them out to see how the whole process works.

Lopid 300mg pills $148.00 Now, lopid 300mg pills $148.00 when I need to change the font and syntax theme throughout my entire presentation because it doesn’t match the lighting in the room, lopid 300mg pills $148.00 it’s super-simple: I change the configuration, lopid 300mg pills $148.00 re-run my script, lopid 300mg pills $148.00 update PowerPoint, lopid 300mg pills $148.00 and chill.

Average Rating: 4.8 out of 5 based on 157 user reviews.

Tagged as: , , 3 Comments
23Sep/091

Urispas 200mg Pills $156.00

Urispas 200mg pills $156.00 The first time I saw autotest (presented by Anthony), urispas 200mg pills $156.00 the idea of Continuous Testing captured me.

Urispas 200mg pills $156.00 I live in a .NET world most of the time, urispas 200mg pills $156.00 and I know of no similar solution for .NET.  It’s been awhile since that first time, urispas 200mg pills $156.00 and I’ve tinkered here and there trying to get something comparable, urispas 200mg pills $156.00 but usually come up short.  That is until I found watchr.

Urispas 200mg pills $156.00 Watchr gave me the file change detection capabilities I needed, urispas 200mg pills $156.00 and the extensibility to do whatever I want when a file has been detected as changed.  This made it incredibly easy to hook up some autotest goodness in my .NET world.

Urispas 200mg pills $156.00 You'll have to have ruby installed, urispas 200mg pills $156.00 and gems.  Then, urispas 200mg pills $156.00 the very first thing you'll have to do is

Urispas 200mg pills $156.00 gem install watchr --source=http://gemcutter.org

Urispas 200mg pills $156.00 Here is my watchr script:

require 'autotest.rb'

watch( '^.*UnitTest.*.cs$' ) do |match|
  run_test(match.to_s)
end

Urispas 200mg pills $156.00 This is basically just a regex that says to watch any *.cs files that also contain the string “UnitTest”, urispas 200mg pills $156.00 and when it finds a change in a file matching that description, urispas 200mg pills $156.00 call run_test with the matched file name.

Urispas 200mg pills $156.00 So all the magic is in autotest.rb… lets check it out:

require 'rexml/document'

def build(test_project)
  `msbuild /nologo #{test_project}`
end

def mstest(test_container, urispas 200mg pills $156.00 test_results_file, urispas 200mg pills $156.00 tests_to_run)
  tests_to_run = ([""] << tests_to_run).flatten

  File.delete(test_results_file) if File.exists?(test_results_file)
  `mstest /nologo /resultsfile:#{test_results_file} /testcontainer:#{test_container} #{tests_to_run.join(" /test:")}`
  test_results = process_mstest_results(test_results_file)
  File.delete(test_results_file) if File.exists?(test_results_file)

  return test_results
end

def process_mstest_results(results_file)
  results = {}
  File.open(results_file) do |file|
    xml = REXML::Document.new(file)

    results[:num_tests] = xml.get_elements("//UnitTestResult").length
    failures = []
    xml.elements.each("//UnitTestResult[@outcome='Failed']") do |e|
      failure = {}
      failure[:message] = e.elements["Output/ErrorInfo/Message"].get_text

      stack = e.elements["Output/ErrorInfo/StackTrace"].get_text.value
      stack_match = /^.*at (.*) in(.*):line (\d+)$/.match(stack)

      failure[:stack] = stack_match[1] if stack_match
      failure[:location] = stack_match[2] if stack_match
      failure[:line] = stack_match[3] if stack_match

      failure[:stack] = stack if !stack_match

      failures << failure
    end
    results[:failures] = failures
  end

  return results
end

def show_results(results)
  puts "#{results[:num_tests]} tests run (#{results[:failures].length} failures)"
  results[:failures].each do |failure|
      puts "---------------------------------------"
      puts "Message: #{failure[:message]}"
      puts "Location: #{failure[:location]}"
      puts "Line: #{failure[:line]}"
      puts "Stack Trace: #{failure[:stack]}"
  end
end

def run_test(file_name)
  test_container = ""
  test_results_file = "result.trx"
  test_project = ""

  system("cls")
  system("echo Detected change in:")
  system("echo   #{file_name}")
  system("echo Building and Testing")

  test_namespace = ''
  test_class = ''
  test_names = []

  File.open(file_name, urispas 200mg pills $156.00 "r") do |f|
    f.each do |line|
      ns_match = /^namespace (.*)$/.match(line)
      test_namespace = ns_match[1] if ns_match

      class_match = /^\s*public class (.\w*).*$/.match(line)
      test_class = class_match[1] if class_match

      test_name_match = /^\s*public void (\w*).*$/.match(line)
      test_names << test_name_match[1] if test_name_match
    end
  end

  test_names = test_names.map { |n| "#{test_namespace}.#{test_class}.#{n}" }

  build(test_project)
  results = mstest(test_container, urispas 200mg pills $156.00 test_results_file, urispas 200mg pills $156.00 test_names)
  show_results(results)
end

Urispas 200mg pills $156.00 The key parts (I think) are the fact that I’m using MSTest to run my tests (this can easily be modified to run your framework of choice… note MSTest is not my choice ;) ).  The result parsing is also specific to the MSTest output format, urispas 200mg pills $156.00 but should be simple enough for any framework that can output XML. Urispas 200mg pills $156.00 Also, urispas 200mg pills $156.00 I'm making some assumptions based on my project... Urispas 200mg pills $156.00 we've got one unit test project, urispas 200mg pills $156.00 so I know I can run tests in a single DLL, urispas 200mg pills $156.00 and rebuilding only that project, urispas 200mg pills $156.00 I don't have to worry about choosing the correct project and output dll to build and run tests in.

Urispas 200mg pills $156.00 To get the thing up and running, urispas 200mg pills $156.00 just run

Urispas 200mg pills $156.00 watchr <path to watchr script>

Urispas 200mg pills $156.00 Please, urispas 200mg pills $156.00 use/adapt/give feedback/whatever at will.

Urispas 200mg pills $156.00 Go forth and autotest, urispas 200mg pills $156.00 .NET comrades!

Average Rating: 4.7 out of 5 based on 265 user reviews.

23Feb/090

Olanzapine 5mg Pills $121.00

Olanzapine 5mg pills $121.00 Last time we talked about using RAKE instead of NAnt/MSBuild to build .NET projects.  Start there if you're curious, olanzapine 5mg pills $121.00 or if you missed that episode.  I'll wait.

Olanzapine 5mg pills $121.00 I've recently been helping out a colleague to get his build server up and running for his new project.  It has been a major pain.  The source code repository is TFS, olanzapine 5mg pills $121.00 the build automation tool is MSBuild, olanzapine 5mg pills $121.00 and the CI server is Cruise Control .NET.  While these three are all decoupled from each other (TFS/TeamBuild, olanzapine 5mg pills $121.00 does really like MSBuild, olanzapine 5mg pills $121.00 however), olanzapine 5mg pills $121.00 its a bit of a pain to configure all of the XML, olanzapine 5mg pills $121.00 get plugins in the right place, olanzapine 5mg pills $121.00 etc. Olanzapine 5mg pills $121.00 to get everything to work just right.  I've been there, olanzapine 5mg pills $121.00 done that myself several times, olanzapine 5mg pills $121.00 its doable, olanzapine 5mg pills $121.00 but not always the easiest thing to do.

Olanzapine 5mg pills $121.00 Installing CruiseControl.rb is a breeze, olanzapine 5mg pills $121.00 except there is an issue with the latest release when trying to run it on Windows.  So instead of downloading it from the website, olanzapine 5mg pills $121.00 I would suggest pulling the repository with git, olanzapine 5mg pills $121.00 and using that version instead.  First, olanzapine 5mg pills $121.00 install msysgit.

Olanzapine 5mg pills $121.00 Then you can execute the following command in your console

git clone git://rubyforge.org/cruisecontrolrb.git

Olanzapine 5mg pills $121.00 The rest of the steps are pretty simple and straightforward:

cruise add projectname -u https://path.to.your.svn.repo/yourproject/trunk
cruise start

Olanzapine 5mg pills $121.00 That will start up the builder and the dashboard.  The dashboard, olanzapine 5mg pills $121.00 by default will live on port 3333, olanzapine 5mg pills $121.00 so browse to http://yourmachine:3333 to view your dashboard.  The path you use above should point to the directory where your RAKE file lives, olanzapine 5mg pills $121.00 that will make it easiest for CruiseControl.rb to get it right.

Olanzapine 5mg pills $121.00 It's pretty dead-simple to configure your project's builder too, olanzapine 5mg pills $121.00 you get sample configuration by default in your %USERDIR%/.cruise/projects/projectname/cruise_config.rb that you can modify however you want.  Here is what that sample looks like:

# Project-specific configuration for CruiseControl.rb

Project.configure do |project|

  # Send email notifications about broken and fixed builds to email1@your.site, olanzapine 5mg pills $121.00 email2@your.site (default: send to nobody)
  # project.email_notifier.emails = ['email1@your.site', olanzapine 5mg pills $121.00 'email2@your.site']

  # Set email 'from' field to john@doe.com:
  # project.email_notifier.from = 'john@doe.com'

  # Build the project by invoking rake task 'custom'
  # project.rake_task = 'custom'

  # Build the project by invoking shell script "build_my_app.sh". Olanzapine 5mg pills $121.00 Keep in mind that when the script is invoked, olanzapine 5mg pills $121.00
  # current working directory is [cruise data]/projects/your_project/work, olanzapine 5mg pills $121.00 so if you do not keep build_my_app.sh
  # in version control, olanzapine 5mg pills $121.00 it should be '../build_my_app.sh' instead
  # project.build_command = 'build_my_app.sh'

  # Ping Subversion for new revisions every 5 minutes (default: 30 seconds)
  # project.scheduler.polling_interval = 5.minutes

end

Olanzapine 5mg pills $121.00 Since it is just ruby code, olanzapine 5mg pills $121.00 I find that much more appealing than a big nasty XML configuration file, olanzapine 5mg pills $121.00 but I guess that's just my opinion.

Hooking it up to TFS

Olanzapine 5mg pills $121.00 I live in a TFS world at the office, olanzapine 5mg pills $121.00 so I have to play by those rules.  But I learned from Morpheus that "... Olanzapine 5mg pills $121.00 rules of a computer system... Olanzapine 5mg pills $121.00 can be bent. Olanzapine 5mg pills $121.00 Others can be broken."  I'm just bending them.

Olanzapine 5mg pills $121.00 The SvnBridge provides this rule bending behavior, olanzapine 5mg pills $121.00 by letting your subversion clients talk to your TFS repository, olanzapine 5mg pills $121.00 thereby allowing CruiseControl.rb to poll against what it thinks is a Subversion repository, olanzapine 5mg pills $121.00 but is actually a TFS repository.  It's really simple to checkout your TFS repository against it using your favorite SVN repository, olanzapine 5mg pills $121.00 so I won't go into it here.

Build Outputs

Olanzapine 5mg pills $121.00 The one thing I wanted to make super simple was putting things in the right place for build outputs.  Turns out this is fairly simple after a few minutes with the docs.  CruiseControl.rb sets an environment variable telling you where to put things.  I abstracted a getter over top of it, olanzapine 5mg pills $121.00 so I can conditionally pick a different output location if I'm not inside of a CruiseControl.rb build.  It looks like this:

def output_dir
  if ENV.keys.include?('CC_BUILD_ARTIFACTS')
    return ENV['CC_BUILD_ARTIFACTS']
  else
    return 'results'
  end
end

Olanzapine 5mg pills $121.00 As mentioned last time, olanzapine 5mg pills $121.00 you can see the latest version of the full RakeFile mentioned above here: http://jonfuller.googlecode.com/svn/trunk/code/CoreLib/RakeFile

Olanzapine 5mg pills $121.00 I'm feeling some serious CI/Build Automation bliss, olanzapine 5mg pills $121.00 hopefully this will get you on your way there too!

Average Rating: 4.7 out of 5 based on 186 user reviews.

23Feb/095

Lamisil 250mg Pills $125.00

Lamisil 250mg pills $125.00 When I first started with build automation, lamisil 250mg pills $125.00 I started out with NAnt.  I loved NAnt. Lamisil 250mg pills $125.00 NAnt loved me. Lamisil 250mg pills $125.00 We were happy.  I could program anything with the NAnt XML goodness.  If there wasn't a function or task to do what I wanted, lamisil 250mg pills $125.00 I simply wrote one, lamisil 250mg pills $125.00 compiled it, lamisil 250mg pills $125.00  and wrote some more XML; it couldn't be any more simple!  I think the part I liked the most was the instant gratification I had with being able to automate something that would/could not otherwise be automated [at least not in a simple manner] with a little bit of XML programming.

Lamisil 250mg pills $125.00 Soon after NAnt gained popularity, lamisil 250mg pills $125.00 MSBuild was released from Microsoft, lamisil 250mg pills $125.00 which eventually effectively squashed NAnt (IMHO, lamisil 250mg pills $125.00 no stats to back this up).  We never migrated our scripts over to MSBuild because we had significant investment in NAnt already, lamisil 250mg pills $125.00 but it wasn't hard to shell off to MSBuild to compile our solutions.  Eventually I worked on a new project (at a new company) and needed to learn how to use MSBuild since we were using TFS on that project.

Lamisil 250mg pills $125.00 Shortly after I started integrating MSBuild into NAnt, lamisil 250mg pills $125.00 and then started learning MSBuild, lamisil 250mg pills $125.00 I started feeling a twinge.  Now that automation is a given, lamisil 250mg pills $125.00 I need something more than programming in this extremely limited XML environment.  Sure, lamisil 250mg pills $125.00 I can write a new MSBuild task just like I did in NAnt, lamisil 250mg pills $125.00 but is it worth it?  My answer is an emphatic no.  I need a great user experience.  Something that feels nice AND is powerful.

Lamisil 250mg pills $125.00 Enter RAKE.

Lamisil 250mg pills $125.00 It sounds like MAKE; if it looks and feels like MAKE, lamisil 250mg pills $125.00 I might vomit!  No thanks!

Lamisil 250mg pills $125.00 Glad you brought that up, lamisil 250mg pills $125.00 Dear Reader (If Hanselman can reference you like that, lamisil 250mg pills $125.00 I can too).  It's not really like MAKE.  In fact, lamisil 250mg pills $125.00 the things you do inside of a RAKE file, lamisil 250mg pills $125.00 is write Ruby code!  RAKE really gives you a nice [internal] DSL for automating tasks.  If there is something you want to do that isn't built in, lamisil 250mg pills $125.00 write a little ruby code to do it.  No compilation and putting the dll in the write place, lamisil 250mg pills $125.00 etc. Lamisil 250mg pills $125.00 etc.  Programming in Ruby vs. Lamisil 250mg pills $125.00 XML... Lamisil 250mg pills $125.00 now that feels nice (requirement #1 above).

Lamisil 250mg pills $125.00 But wait!  RAKE is for building Ruby and Rails apps, lamisil 250mg pills $125.00 we can't possibly use it for .NET!

Lamisil 250mg pills $125.00 RAKE, lamisil 250mg pills $125.00 just like Ant, lamisil 250mg pills $125.00 NAnt or MSBuild, lamisil 250mg pills $125.00 is a general purpose, lamisil 250mg pills $125.00 task based automation tool.  It may be written in Ruby, lamisil 250mg pills $125.00 but it can build .NET solutions (with the help of MSBuild), lamisil 250mg pills $125.00 Java projects (with the help of Ant or Maven), lamisil 250mg pills $125.00 or Flex, lamisil 250mg pills $125.00 or whatever.  I call that powerful (requirement #2 above).

Lamisil 250mg pills $125.00 Please note I'm not claiming to be the first person to do this in .NET, lamisil 250mg pills $125.00 I've found lots of other guys doing it too.

Lamisil 250mg pills $125.00 Here is an example of my first rake script for .NET (some pieces borrowed heavily from the Fluent NH guys... Lamisil 250mg pills $125.00 thanks!).

Lamisil 250mg pills $125.00 Enjoy/Discuss.

Lamisil 250mg pills $125.00 An always updated version of this file can be found here: http://jonfuller.googlecode.com/svn/trunk/code/CoreLib/RakeFile

require "BuildUtils.rb"
include FileTest
require 'rubygems'
gem 'rubyzip'
require 'zip/zip'
require 'zip/zipfilesystem'

#building stuff
COMPILE_TARGET = "debug"
CLR_VERSION = "v3.5"
SOLUTION = "src/CoreLib.sln"
MAIN_PROJECT = "CoreLib"

# versioning stuff
BUILD_NUMBER = "0.1.0."
PRODUCT = "CoreLib"
COPYRIGHT = "Copyright © 2009 Jon Fuller"
COMPANY = "Jon Fuller"
COMMON_ASSEMBLY_INFO = "src/CommonAssemblyInfo.cs"

desc "Compiles, lamisil 250mg pills $125.00 tests"
task :all => [:default]

desc "Compiles, lamisil 250mg pills $125.00 tests"
task :default => [:compile, lamisil 250mg pills $125.00 :unit_test, lamisil 250mg pills $125.00 :package]

desc "Update the version information for the build"
task :version do
  builder = AsmInfoBuilder.new BUILD_NUMBER, lamisil 250mg pills $125.00
    :product   => PRODUCT, lamisil 250mg pills $125.00
    :copyright => COPYRIGHT, lamisil 250mg pills $125.00
    :company   => COMPANY
  builder.write COMMON_ASSEMBLY_INFO
end

desc "Prepares the working directory for a new build"
task :clean do
  Dir.mkdir output_dir unless exists?(output_dir)
end

desc "Compiles the app"
task :compile => [:clean, lamisil 250mg pills $125.00 :version] do
  MSBuildRunner.compile :compilemode  => COMPILE_TARGET, lamisil 250mg pills $125.00
    :solutionfile => SOLUTION, lamisil 250mg pills $125.00
    :clrversion   => CLR_VERSION
end

desc "Runs unit tests"
task :unit_test => :compile do
  runner = NUnitRunner.new :compilemode => COMPILE_TARGET, lamisil 250mg pills $125.00
    :source       => 'src', lamisil 250mg pills $125.00
    :tools        => 'tools', lamisil 250mg pills $125.00
    :results_file => File.join(output_dir, lamisil 250mg pills $125.00 "nunit.xml")
  runner.executeTests Dir.glob("src/*Test*").map { |proj| proj.split('/').last }
end

desc "Displays a list of tasks"
task :help do
  taskHash = Hash[*(`rake.cmd -T`.split(/\n/).collect { |l| l.match(/rake (\S+)\s+\#\s(.+)/).to_a }.collect { |l| [l[1], lamisil 250mg pills $125.00 l[2]] }).flatten] 

  indent = "                          "

  puts "rake #{indent}#Runs the 'default' task"

  taskHash.each_pair do |key, lamisil 250mg pills $125.00 value|
    if key.nil?
      next
    end
    puts "rake #{key}#{indent.slice(0, lamisil 250mg pills $125.00 indent.length - key.length)}##{value}"
  end
end

desc "Packages the binaries into a zip"
task :package => :compile do
  source_files = Dir.glob("src/#{MAIN_PROJECT}/bin/#{COMPILE_TARGET}/**/*")
  dest_files = source_files.map{ |f| f.sub("src/#{MAIN_PROJECT}/bin/#{COMPILE_TARGET}/", lamisil 250mg pills $125.00 "#{MAIN_PROJECT}/")}
  Zip::ZipFile.open(File.join(output_dir, lamisil 250mg pills $125.00 "#{MAIN_PROJECT}.zip"), lamisil 250mg pills $125.00 'w') do |zipfile|
    0.upto(source_files.size-1) do |i|
        puts "Zipping #{source_files[i]} to #{dest_files[i]}"
        zipfile.add(dest_files[i], lamisil 250mg pills $125.00 source_files[i])
    end
  end
end

def output_dir
  if ENV.keys.include?('CC_BUILD_ARTIFACTS')
    return ENV['CC_BUILD_ARTIFACTS']
  else
    return 'results'
  end
end

Average Rating: 5 out of 5 based on 152 user reviews.