rakelib/dist-jv.rake
changeset 137 e665031cade7
parent 112 9133803c99a2
child 152 22e0e7bc6180
--- a/rakelib/dist-jv.rake	Mon Mar 06 21:21:07 2017 +0000
+++ b/rakelib/dist-jv.rake	Fri Aug 11 09:23:06 2017 +0200
@@ -1,23 +1,24 @@
-task :'dist:jv' => [ :'dist:jv:pre' , :'dist:jv:main', :'dist:jv:post' ]
-  app_version = nil
-  version = nil
+task :'dist:jv' => %i(dist:jv:pre dist:jv:main dist:jv:post)
+
+app_version = nil
+version = nil
 
-  install_dir = nil
-  bin_dir = nil
-  pkg_dir = nil
-  lib_dir = nil
-  include_dir = nil
-  libexec_dir = nil
-  rc_dir = win32? ? bin_dir : lib_dir
+install_dir = nil
+bin_dir = nil
+pkg_dir = nil
+lib_dir = nil
+include_dir = nil
+libexec_dir = nil
+rc_dir = win32? ? bin_dir : lib_dir
 
-  install_dir_doc = nil
-  doc_dir = nil
+install_dir_doc = nil
+doc_dir = nil
 
 
 namespace :'dist:jv' do
-  task :'variables' do
-    app_name    = project.app_name      || (raise Exception.new("No app_name property specified"))
-    app_version = project.app_version   || (raise Exception.new("No app_version property specified"))
+  task :variables do
+    app_name = project.app_name || (raise Exception.new('No app_name property specified'))
+    app_version = project.app_version || (raise Exception.new('No app_version property specified'))
     version = app_version.split('_').first
 
     install_dir = ARTIFACTS_DIR / BUILD_NAME
@@ -25,7 +26,7 @@
     pkg_dir = install_dir / 'lib' / 'smalltalkx' / version / 'packages'
     lib_dir = install_dir / 'lib' / 'smalltalkx' / version / 'lib'
     include_dir = install_dir / 'lib' / 'smalltalkx' / version / 'include'
-    rc_dir  = win32? ? bin_dir : lib_dir
+    rc_dir = win32? ? bin_dir : lib_dir
     libexec_dir = install_dir / 'lib' / 'smalltalkx' / version / 'bin'
 
     # install_dir_doc = ARTIFACTS_DIR / 'docs' / "#{app_name}-#{app_version}_docs"
@@ -36,62 +37,61 @@
 
     # HACK to make dirs globally available in 'post' rules...
     $install_jv_dirs = {
-      :install_dir => install_dir,
-      :bin_dir => bin_dir,
-      :doc_dir => doc_dir,
-      :pkg_dir => pkg_dir,
-      :lib_dir => lib_dir,
-      :include_dir => include_dir,
-      :rc_dir  => rc_dir,
-      :libexec_dir => libexec_dir
+        :install_dir => install_dir,
+        :bin_dir => bin_dir,
+        :doc_dir => doc_dir,
+        :pkg_dir => pkg_dir,
+        :lib_dir => lib_dir,
+        :include_dir => include_dir,
+        :rc_dir => rc_dir,
+        :libexec_dir => libexec_dir
     }
 
   end
 
-  task :'all' => [:'pre', :'main',:'post']
+  task :all => %i(pre main post)
 
-  task :'pre'
-  task :'post'
+  task :pre
+  task :post
 
-  task :'main' => [ :'setup', :'binaries', :'scripts', :'librun', :'packages', :'resources' , :'doc']
+  task :main => %i(setup binaries scripts librun packages resources doc)
 
-  task :'binaries' => :'variables' do
+  task :binaries => :variables do
     mkdir_p bin_dir
     mkdir_p libexec_dir
 
-    install STC , bin_dir
-    install STC , libexec_dir
+    install STC, bin_dir
+    install STC, libexec_dir
     case
-    when win32?
-      install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / 'stx.exe', libexec_dir
-      install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / 'stx.com', libexec_dir
-    when unix?
-      install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / 'stx', libexec_dir
-      mv libexec_dir / 'stx' , libexec_dir / 'stx-bin'
-    else
-      error_unsupported_platform
+      when win32?
+        install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / 'stx.exe', libexec_dir
+        install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / 'stx.com', libexec_dir
+      when unix?
+        install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / 'stx', libexec_dir
+        mv libexec_dir / 'stx', libexec_dir / 'stx-bin'
+      else
+        error_unsupported_platform
     end
   end
 
-  task :'resources' => :'variables' do
-    [
-      'stx/goodies/bitmaps' ,
-      'stx/doc/online/english/credits.html'
-    ].each do | resource |
+  task :resources => :variables do
+    %w(stx/goodies/bitmaps
+       stx/doc/online/english/credits.html
+    ).each do |resource|
       mkdir_p pkg_dir / File.dirname(resource)
-      cp_r   BUILD_DIR / resource , pkg_dir / File.dirname(resource)
+      cp_r BUILD_DIR / resource, pkg_dir / File.dirname(resource)
     end
 
-    rm_rf  pkg_dir / 'stx' / 'include'
-    cp_r_dereference  BUILD_DIR / 'stx' / 'include' , include_dir
+    rm_rf pkg_dir / 'stx' / 'include'
+    cp_r_dereference BUILD_DIR / 'stx' / 'include', include_dir
   end
 
-  task :'scripts' => :'variables'  do
+  task :scripts => :variables do
     mkdir_p bin_dir
     mkdir_p lib_dir
     mkdir_p lib_dir / 'rc.d'
 
-    rc_files = %W{display.rc host.rc keyboard.rc smalltalk_r.rc smalltalk.rc private.rc patches}
+    rc_files = %w{display.rc host.rc keyboard.rc smalltalk_r.rc smalltalk.rc private.rc patches}
     if win32?
       rc_files << 'd_win32.rc'
     else
@@ -99,60 +99,58 @@
       #rc_files << 'd_xorg.rc'
     end
 
-    rc_files.each do | rc_file |
-      install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / rc_file, rc_dir
-    end
-    install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ '*.wsp' , lib_dir
-    install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ 'rc.d' / '*' , lib_dir / 'rc.d'
+    rc_files.each {|rc_file| install BUILD_DIR / 'stx' / 'projects' / 'smalltalk' / rc_file, rc_dir}
+    install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ '*.wsp', lib_dir
+    install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ 'rc.d' / '*', lib_dir / 'rc.d'
 
     case
-    when win32?
-      install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ 'smalltalk.bat' , bin_dir / 'stx.bat'
-    when unix?
-      install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ 'smalltalk' , bin_dir / 'stx'
-    else
-      error_unsupported_platform
+      when win32?
+        install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ 'smalltalk.bat', bin_dir / 'stx.bat'
+      when unix?
+        install BUILD_DIR / 'stx' / 'projects' / 'smalltalk'/ 'smalltalk', bin_dir / 'stx'
+      else
+        error_unsupported_platform
     end
 
   end
 
-  task :'librun' => :'variables'  do
+  task :librun => :variables do
     case
-    when unix?
-      mkdir_p lib_dir / 'lib'
-      install BUILD_DIR / 'stx' / 'librun' / 'librun.so' , lib_dir / 'lib'
-    when win32?
-      install BUILD_DIR / 'stx' / 'librun' / OBJ_DIR / 'librun.dll', bin_dir
-    else
-      error_unsupported_platform
+      when unix?
+        mkdir_p lib_dir / 'lib'
+        install BUILD_DIR / 'stx' / 'librun' / 'librun.so', lib_dir / 'lib'
+      when win32?
+        install BUILD_DIR / 'stx' / 'librun' / OBJ_DIR / 'librun.dll', bin_dir
+      else
+        error_unsupported_platform
     end
   end
 
-  task :'packages' => :'variables' do
+  task :packages => :variables do
     mkdir_p lib_dir / 'lib'
     pkgs = project.packages.clone
     pkgs.push(project.application)
     # Sort here by size of package. This forces nested packaged
     # to be installed after their 'super' package. Fixes
     # libjava#25
-    pkgs.sort! { | a, b | a.name.size <=> b.name.size }
+    pkgs.sort! {|a, b| a.name.size <=> b.name.size}
 
-    pkgs.each do | pkg |
+    pkgs.each do |pkg|
       rm_rf pkg_dir / pkg.directory if File.exist? pkg_dir / pkg.directory
       mkdir_p pkg_dir / pkg.directory
       #cp_rx BUILD_DIR / pkg.directory / '.' , pkg_dir / pkg.directory do | fname |
       #  /\.svn|CVS|\.cvsignore|objbc|\.H$|\.STH$|\.SC$|\.sc$|\.o/.match(fname) == nil
       #end
-      install   BUILD_DIR / pkg.directory / '*.st' ,         pkg_dir / pkg.directory
-      install   BUILD_DIR / pkg.directory / 'abbrev.stc' ,   pkg_dir / pkg.directory if File.exist? BUILD_DIR / pkg.directory / 'abbrev.stc'
-      if File.exist? BUILD_DIR / pkg.directory / pkg.dll_name then
-        install   BUILD_DIR / pkg.directory / '*.so',         pkg_dir / pkg.directory
+      install BUILD_DIR / pkg.directory / '*.st', pkg_dir / pkg.directory
+      install BUILD_DIR / pkg.directory / 'abbrev.stc', pkg_dir / pkg.directory if File.exist? BUILD_DIR / pkg.directory / 'abbrev.stc'
+      if File.exist? BUILD_DIR / pkg.directory / pkg.dll_name
+        install BUILD_DIR / pkg.directory / '*.so', pkg_dir / pkg.directory
       end
-      ['resources' , 'bitmaps' , 'styles', 'java' ].each do | subdir |
+      %w('resources' 'bitmaps' 'styles' 'java').each do |subdir|
         if File.exist? BUILD_DIR / pkg.directory / subdir
-          cp_rx BUILD_DIR / pkg.directory / subdir ,    pkg_dir / pkg.directory do | fname |
+          cp_rx BUILD_DIR / pkg.directory / subdir, pkg_dir / pkg.directory do |fname|
             # fname is full path!!!
-            /\.svn|CVS|\.cvsignore|tests/.match(fname) == nil
+            /\.svn|CVS|\.cvsignore|tests/.match(fname).nil?
           end
         end
       end
@@ -164,19 +162,19 @@
       end
 
       if unix?
-        ( pkg_dir / pkg.directory / '**' ).each do | file |
+        (pkg_dir / pkg.directory / '**').each do |file|
           chmod 0644, file if File.file? file
           chmod 0755, file if File.directory? file
         end
 
-        if not pkg.application?
-          (pkg_dir / pkg.directory / '*.so').each do | dll_name |
+        unless pkg.application?
+          (pkg_dir / pkg.directory / '*.so').each do |dll_name|
             # make the DLL executable
             chmod 0777, dll_name
             # symlink the dll
             chdir lib_dir / 'lib' do
               rm File.basename(dll_name) if File.exist? File.basename(dll_name)
-              ln_s File.join('..', '..' , 'packages' , pkg.directory , File.basename(dll_name)) , File.basename(dll_name)
+              ln_s File.join('..', '..', 'packages', pkg.directory, File.basename(dll_name)), File.basename(dll_name)
             end
           end
         end
@@ -189,8 +187,8 @@
           install BUILD_DIR / pkg.directory / '*.com', bin_dir
           install BUILD_DIR / pkg.directory / 'symbols.stc', bin_dir
           install BUILD_DIR / pkg.directory / 'modules.stx', bin_dir
-          mv bin_dir / 'stx.exe' , bin_dir / 'stx-bin.exe'
-          mv bin_dir / 'stx.com' , bin_dir / 'stx-bin.com'
+          mv bin_dir / 'stx.exe', bin_dir / 'stx-bin.exe'
+          mv bin_dir / 'stx.com', bin_dir / 'stx-bin.com'
         else
           rm pkg_dir / pkg.directory / '*.dll'
         end
@@ -198,29 +196,27 @@
     end
   end
 
-  task :'doc' => :'variables' do
+  task :doc => :variables do
     mkdir_p doc_dir
     puts BUILD_DIR / 'stx' / 'doc'
-    cp_rx BUILD_DIR / 'stx' / 'doc' , doc_dir do | fname |
+    cp_rx BUILD_DIR / 'stx' / 'doc', doc_dir do |fname|
       # fname is full path!!!
-      /\.svn|CVS|\.cvsignore|books|not_delivered/.match(fname) == nil
+      /\.svn|CVS|\.cvsignore|books|not_delivered/.match(fname).nil?
     end
   end
 end # namespace :'dist:jv'
 
-task :'dist:jv:docs' => [ :'dist:jv:docs:pre' , :'dist:jv:docs:main', :'dist:jv:docs:post' ]
+task :'dist:jv:docs' => %i(dist:jv:docs:pre dist:jv:docs:main dist:jv:docs:post)
 
 namespace :'dist:jv:docs' do
-  task :'pre'
-  task :'post'
-  task :'main' => [ :'setup', :'files' ]
+  task :pre
+  task :post
+  task :main => %i(setup files)
 
-  task :'setup' => [ :'dist:jv:variables' ]
+  task :setup => %i(dist:jv:variables)
 
-  task :'files' => :'setup' do
-    raise Exception.new("Not yet implemented");
+  task :files => :setup do
+    raise Exception.new('Not yet implemented')
   end
 
 end # namespace :'dist:jv:docs'
-
-