Changeset 761

Show
Ignore:
Timestamp:
08/12/07 03:42:54 (1 year ago)
Author:
Gregor
Message:

sss/conf.d: Added 'installdir' hook command (see ticket #84).

docs/README.software_engineers: Updated with 'installdir'.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/docs/ChangeLog

    r760 r761  
    66        - Added 'noinstall' setting (see ticket #106). 
    77        - `dsss install` now installs .di files in libraries (see ticket #92). 
     8        - Added 'installdir' hook command (see ticket #84). 
    89 
    9100.70 from 0.69: 
  • trunk/docs/README.software_engineers

    r759 r761  
    291291easily. 
    292292 
     293= installdir = 
     294 
     295'installdir' is similar to 'install', with the exception that it can install 
     296entire directories (and all of their subdirectories). The /content/ of the 
     297first directory will be installed into the second directory. 
     298 
    293299= cd = 
    294300 
  • trunk/docs/html/README.software_engineers.html

    r759 r761  
    292292easily. 
    293293 
     294<h3> installdir </h3> 
     295 
     296'installdir' is similar to 'install', with the exception that it can install 
     297entire directories (and all of their subdirectories). The /content/ of the 
     298first directory will be installed into the second directory. 
     299 
    294300<h3> cd </h3> 
    295301 
  • trunk/sss/conf.d

    r760 r761  
    901901                manifest ~= (manifestPath ~ comps[1]); 
    902902            } 
     903 
     904        } else if (cmd.length > 11 && 
     905                   cmd[0..11] == "installdir ") { 
     906            // crawl for files, installing each 
     907            char[][] comps = std.string.split(cmd); 
     908            if (comps.length != 3) continue; // FIXME: not valid 
     909 
     910            /// install the files in this directory 
     911            void instDir(char[] ndir, char[] ipostfix = "") { 
     912                char[][] dirFiles = listdir(ndir); 
     913                foreach (file; dirFiles) { 
     914                    // either recurse, 
     915                    if (isdir(file)) { 
     916                        instDir(ndir ~ std.path.sep ~ file, ipostfix ~ std.path.sep ~ file); 
     917 
     918                    } else { 
     919                        // or install this file 
     920                        dsssScriptedStep(conf, "install " ~ 
     921                                         ndir ~ std.path.sep ~ file ~ " " ~ 
     922                                         comps[2] ~ ipostfix); 
     923 
     924                    } 
     925                } 
     926            } 
     927 
     928            // start with the base 
     929            instDir(comps[1]); 
    903930             
    904931        } else if (cmd.length > 3 &&