aboutsummaryrefslogtreecommitdiffhomepage
path: root/qi
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2014-08-29 19:28:23 -0400
committerRalph Amissah <ralph@amissah.com>2014-08-29 19:35:27 -0400
commit7248e7c48415e638813975fd9fc8fb409f27c00a (patch)
treeb5ea5e2540b1568ab21d19318e4292f080e9ff06 /qi
parentsetup/ (start using) Rakefile Rantfile link to setup/rbuild (diff)
qi, start using ruby-thor (for rake like tasks)
Diffstat (limited to 'qi')
-rwxr-xr-xqi234
1 files changed, 234 insertions, 0 deletions
diff --git a/qi b/qi
new file mode 100755
index 00000000..27516a67
--- /dev/null
+++ b/qi
@@ -0,0 +1,234 @@
+#!/usr/bin/env ruby
+=begin
+ Common Rakefile, Rantfile installer for SiSU
+ softlink Rakefile and Rantfile to this file
+
+ * Homepage: <http://www.jus.uio.no/sisu/SiSU>
+ <http://search.sisudoc.org>
+ * Download: <http://www.jus.uio.no/sisu/download>
+
+ Copyright (C) 2007 Ralph Amissah
+
+ * License: LGPL - GNU Lesser General Public License
+ [same license as Rant provided within the Rant package]
+
+ * Ralph Amissah <ralph@amissah.com>
+ Ralph Amissah <ralph.amissah@gmail.com>
+
+ Rake is a Ruby build program by Jim Weirich
+ * Rake may be downloaded and installed from:
+ <http://rake.rubyforge.org/>
+
+ Rant is a Ruby build program by Stefan Lang
+ * Rant may be downloaded and installed from:
+ <http://make.rubyforge.org/>
+
+ Notes on use:
+ [if rake is preferred and installed]
+ rake -T
+ [if rant is preferred and installed]
+ rant -T
+
+ SiSU can also be Setup/Installation using:
+ * Minero Aoki's setup.rb, provided along with SiSU, or
+
+=end
+#%% produce a makefile suitable for the target platform
+#require 'mkmf'
+#create_makefile("sisu")
+#% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file)
+begin
+ require 'thor'
+rescue LoadError
+ puts 'thor (package ruby-thor) not found'
+end
+require_relative 'setup/sisu_version' # setup/sisu_version.rb
+ include SiSUversion
+require_relative 'setup/qi_libs' # setup/qi_libs.rb
+require 'find'
+require 'fileutils'
+ include FileUtils
+require 'pathname'
+require 'rbconfig.rb'
+require 'yaml'
+module SiSUconf
+ class Configure < Thor
+ class_option :verbose, :type => :boolean
+ desc 'setup --all --bin --lib --conf --data --alt',
+ 'setup sisu'
+ options \
+ :all => :boolean,
+ :bin => :boolean,
+ :lib => :boolean,
+ :conf => :boolean,
+ :data => :boolean,
+ :share => :boolean,
+ :man => :boolean,
+ :vim => :boolean,
+ :alt => :boolean
+ def setup
+ unless options.length >= 1 \
+ and not (options[:bin] \
+ or options[:lib] \
+ or options[:conf] \
+ or options[:data] \
+ or options[:share] \
+ or options[:man] \
+ or options[:vim])
+ puts 'setup --all --bin --lib --conf --data --share --man --vim'
+ end
+ if not options[:alt]
+ if options[:all] \
+ or options[:bin]
+ exclude_files=['sisugem']
+ Install.setup_find_create('bin',Project_details.dir.bin,exclude_files) \
+ if File.directory?('bin')
+ end
+ if options[:all] \
+ or options[:lib]
+ Install.setup_find_create('lib',Project_details.dir.lib) \
+ if File.directory?('lib')
+ end
+ if options[:all] \
+ or options[:conf]
+ Install.setup_find_create('conf',Project_details.dir.conf) \
+ if File.directory?('conf')
+ end
+ if options[:all] \
+ or options[:data]
+ Install.setup_find_create('data',Project_details.dir.data) \
+ if File.directory?('data')
+ end
+ if options[:all] \
+ or options[:share]
+ Install.setup_find_create('data/sisu',Project_details.dir.share) \
+ if File.directory?('data/sisu')
+ end
+ if options[:all] \
+ or options[:man]
+ Install.setup_find_create('man',Project_details.dir.man) \
+ if File.directory?('man')
+ end
+ if options[:all] \
+ or options[:vim]
+ Install.setup_find_create('data/vim',Project_details.dir.vim) \
+ if File.directory?('data/vim')
+ end
+ else
+ if options[:all] \
+ or options[:bin]
+ Install.setup_find_cp_r('bin',Project_details.dir.bin) \
+ if File.directory?('bin')
+ end
+ if options[:all] \
+ or options[:bin]
+ Install.setup_find_cp_r('lib',Project_details.dir.lib) \
+ if File.directory?('lib')
+ end
+ if options[:all] \
+ or options[:conf]
+ Install.setup_find_cp_r('conf',Project_details.dir.conf) \
+ if File.directory?('conf')
+ end
+ if options[:all] \
+ or options[:data]
+ Install.setup_find_cp_r('data',Project_details.dir.data) \
+ if File.directory?('data')
+ end
+ if options[:all] \
+ or options[:share]
+ Install.setup_find_cp_r('data/sisu',Project_details.dir.share) \
+ if File.directory?('data/sisu') #
+ end
+ if options[:all] \
+ or options[:man]
+ Install.setup_find_cp_r('man',Project_details.dir.man) \
+ if File.directory?('man')
+ end
+ #if options[:all] \
+ #or options[:vim]
+ # Install.setup_find_cp_r('data/vim',"#{Project_details.dir.data}/vim") \
+ # if File.directory?('data/vim')
+ #end
+ end
+ end
+ desc 'gem --create --build --install --stable --unstable',
+ 'gem create build and install'
+ options \
+ :stable => :boolean,
+ :unstable => :boolean,
+ :create => :boolean,
+ :build => :boolean,
+ :install => :boolean
+ def gem
+ if options[:unstable]
+ if options[:create]
+ Gemspecs::Current.create_unstable
+ #Gemspecs::Next.create_unstable
+ puts 'created gemspec, version: unstable' \
+ if options[:verbose]
+ end
+ if options[:build]
+ Gemspecs::Current.build_unstable
+ #Gemspecs::Next.build_unstable
+ puts 'built gem, version: unstable' \
+ if options[:verbose]
+ end
+ if options[:install]
+ Gemspecs::Current.install_unstable
+ #Gemspecs::Next.install_unstable
+ puts 'installed gem, version: unstable' \
+ if options[:verbose]
+ end
+ end
+ if options[:stable] \
+ or not options[:unstable]
+ if options[:create]
+ Gemspecs::Current.create_stable
+ #Gemspecs::Current.create_unstable
+ puts 'created gemspec, version: stable' \
+ if options[:verbose]
+ end
+ if options[:build]
+ Gemspecs::Current.build_stable
+ #Gemspecs::Next.build_stable
+ puts 'built gem, version: stable' \
+ if options[:verbose]
+ end
+ if options[:install]
+ Gemspecs::Current.install_stable
+ #Gemspecs::Next.install_stable
+ puts 'installed gem, version: stable' \
+ if options[:verbose]
+ end
+ end
+ if options.length < 2
+ system("#{$called_as} help gem")
+ end
+ end
+ desc 'pkg',
+ 'package maintenance tasks, of no general interest (maintainer specific for package maintainer\'s convenience)'
+ options \
+ :update_version=> :boolean,
+ :tip => :boolean
+ def pkg
+ if options[:tip]
+ Package.sequence
+ end
+ if options[:update_version]
+ Version_info::Update.update_stable
+ Version_info::Update.update_unstable
+ end
+ if options.length == 0
+ system("#{$called_as} help pkg")
+ system("#{$called_as} pkg --tip")
+ end
+ end
+ end
+end
+begin
+ $called_as,$argv=$0,$*
+ SiSUconf::Configure.start(ARGV)
+rescue
+end
+__END__