Tag Archive > git

Some tips for lazy Xcoders

stompy » 11 November 2009 » In Mac OS X » Comments Off

This post has been moved to http://abizern.org/2009/11/11/some-tips-for-lazy-xcoders/

Continue reading...

Tags: , ,

Integrating git with SubEthaEdit and Changes

stompy » 08 November 2009 » In Mac OS X » Comments Off

This post has been moved

Continue reading...

Tags: , , , , ,

Xcode and git – Another build script

stompy » 14 August 2008 » In Mac OS X » 6 Comments

Update: 17Oct09

Since the CFBundleVersion is now presented within brackets, I’ve changed this again.

You can copy and paste the version below, or you can get it directly from Github where it is gist 208825

Update 25Nov08: The script is also available from Codecollector.net here

I’ve rewritten the script from Cocoa Is My Girlfriend in ruby to append the git commit hash into an application’s Info.plist file.

This way, it keeps the version string that is added in Xcode, so the default About panel looks like this:

Bonsoir.png

Here is the script

#!/usr/bin/env ruby

# Xcode auto-versioning script for Subversion by Axel Andersson
# Updated for git by Marcus S. Zarra and Matt Long
# Converted to ruby by Abizer Nasir
# Appends the git sha to the version number set in Xcode.
# see
http://www.stompy.org/2008/08/14/xcode-and-git-another-build-script/ for more details

# These are the common places where git is installed.
# Change this if your path isn’t here
common_git_paths = %w[/usr/local/bin/git /usr/local/git/bin/git /opt/local/bin/git]
git_path = ""

common_git_paths.each do |p|
  if File.exist?(p)
    git_path = p
    break
  end
end

if git_path == ""
  puts "Path to git not found"
  exit
end

command_line = git_path + " rev-parse –short HEAD"
sha = `#{command_line}`.chomp
puts sha

info_file = ENV['BUILT_PRODUCTS_DIR'] + "/" + ENV['INFOPLIST_PATH']

f = File.open(info_file, "r").read
re = /([\t ]+<key>CFBundleVersion<\/key>\n[\t ]+<string>)(.*?)(<\/string>)/
f =~ re

# Get the version info from the source Info.plist file
# If the script has already been run we need to remove the git sha
# from the bundle’s Info.plist.
open = $1
orig_version = $2
close = $3

# If the git hash has not already been injected into the Info.plist, this will set version to nil
version = $2.sub!(/\s*git sha [\w]+/, )
if (!version)
  version = orig_version
end

# Inject the git hash into the bundle’s Info.plist
sub = "#{open}#{version}git sha #{sha}#{close}"
puts sub
f.gsub!(re, sub)
File.open(info_file, "w") { |file| file.write(f) }

Make sure that the shell is set to /usr/bin/ruby

Shell_setting.png

Continue reading...

Tags: , , , ,

Bonsoir Redux

stompy » 12 August 2008 » In Bonsoir, Mac OS X » 1 Comment

About 2 years ago R. Tyler Ballance went to BarCampTexas and, finding himself with no place to stay, holed himself up in a coffee shop for the night and knocked up a demo application Bonsoir in about six hours.

When this app is running, it uses Appleā€™s Bonjour service to find other running Bonsoir apps on the network and allows swapping of AddressBook cards. The idea is that it would be useful at get togethers such as BarCamp for people to swap contact details.

This code has been placed into the public domain but it doesn’t look like anybody is working on it. So I’ve put the code up on github and I’ll see if I can’t make this a more polished app.

Actually, this is prompted a little by guilt. I was looking through my iChat transcripts the other day and I said I’d do some work on it – and that was back in 2006.

Continue reading...

Tags: , , , ,