lib/raykit/project.rb
require 'rake/clean' RAKE_DIRECTORY=Rake.application.original_dir module Raykit class Project attr_accessor :name @directory @version def initialize() @name=NAME if(defined?(NAME)) @directory=RAKE_DIRECTORY @version=Raykit::Version.detect end def directory @directory end def version @version end def info puts "Raykit::Environment.root_dir=#{Raykit::Environment.root_dir}" puts "Raykit::Environment.home_dir=#{Raykit::Environment.home_dir}" puts "PROJECT.name=#{PROJECT.name}" puts "PROJECT.version=#{PROJECT.version}" end def commit Dir.chdir(@directory) do if(File.exist?('.gitignore')) Raykit::run("git add --all") if(GIT_DIRECTORY.outstanding_commit?) Raykit::run("git commit -m'update'") Raykit::run("git push") end else puts "warning: .gitignore not found." end end self end def push Dir.chdir(@directory) do Raykit::run('git push') Raykit::run('git push --tags') end self end def pull Dir.chdir(@directory) do Raykit::run('git pull') end self end def tag Dir.chdir(@directory) do tag = `git describe --abbrev=0 --tags`.strip if(@version != tag) Raykit::run('git add --all') Raykit::run("git tag #{@version} -m'#{@version}'") Raykit::run('git push') Raykit::run("git push --tags") end end self end end end