📄 mk_distro.pl
字号:
#!perl########################################################################### FILE mk_distro.pl# PURPOSE General Interface for making a Windows distribution# ====================================================================# Copyright (c) 2000-2004 CollabNet. All rights reserved.## This software is licensed as described in the file COPYING, which# you should have received as part of this distribution. The terms# are also available at http://subversion.tigris.org/license-1.html.# If newer versions of this license are posted there, you may use a# newer version instead, at your option.## This software consists of voluntary contributions made by many# individuals. For exact contribution history, see the revision# history and logs, available at http://subversion.tigris.org/.# ====================================================================########################################################################### INCLUDED LIBRARY FILESuse strict;#use File::Find;use Cwd;#use Win32;require 'cmn.pl';########################################################################### FUNCTION DECLARATIONSsub Main;sub MakeSetup;########################################################################### CONSTANTS AND GLOBAL VARIABLESmy $g_AutoRun='';my $g_MakeVersion='';my $g_MakeDocs='';my $g_MakeSetup='';########################################################################### PROGRAM ENTRANCEMain;########################################################################### FUNCTION DEFINITIONS#-------------------------------------------------------------------------# FUNCTION Main# DOES This is the program's main functionsub Main{ $g_AutoRun="y" if ($ARGV[0] eq "-a"); my $Input=''; if ($g_AutoRun) { system ("perl set_version.pl -a"); system ("perl mk_svndoc.pl"); &MakeSetup; } else { print "mk_distro\n\n", " You can make a complete or partial part of your setup from here. Bear in mind\n", " that all the files needed to make and include in the setup must be in place.\n", "\n MENU:\n", " -----\n", " v) Set version info on files related to the setup\n", " d) Make documentation of the XML files in your working Subversion repository\n", " s) Make a final setup of what you have made of v and d\n", " e) Make everything\n\n", " q) quit\n\n", " Please, select one item [v/d/s/e/q]: "; chomp ($Input = <STDIN>); exit if ($Input eq "q"); $g_MakeVersion='y' if ($Input eq "v" || $Input eq "e"); $g_MakeDocs='y' if ($Input eq "d" || $Input eq "e"); $g_MakeSetup='y' if ($Input eq "s" || $Input eq "e"); if (! $g_MakeVersion && ! $g_MakeDocs && ! $g_MakeSetup) { print "\nUh, you did not give me a v,d,s,e or q, please try again\n"; sleep (2); &Main; } system ("perl set_version.pl") if ($g_MakeVersion); system ("perl mk_svndoc.pl")if ($g_MakeDocs); &MakeSetup if ($g_MakeSetup); }}#-------------------------------------------------------------------------# FUNCTION MakeSetup# DOES Making the Setup filesub MakeSetup{ my $SetupOut=&PathSetupOut; my $PathISExe=&PathISExe; my $RetVal=0; chdir '..'; if (! $g_AutoRun) { print "Compiling the setup (take a nap, this will take some time)...\n";; } $RetVal=`$PathISExe svn.iss`;}#-------------------------------------------------------------------------------# FUNCTION PathISExe# DOES Finding and returning the current svn.exe path as of# ..\svn_iss_dyn.isssub PathISExe{ my $PathISExe = &cmn_ValuePathfile('path_is'); if ( ! -e "$PathISExe/ISCC.exe") { die "ERROR: Could not find path to ISCC.exe in svn_dynamics.iss\n"; } $PathISExe = "$PathISExe\\ISCC.exe"; return $PathISExe;}#-------------------------------------------------------------------------------# FUNCTION PathSetupOut# DOES Finding and returning the current svn.exe path as of# ..\svn_iss_dyn.isssub PathSetupOut{ my $SetupOut = &cmn_ValuePathfile('path_setup_out'); if ( ! -e "../$SetupOut") { die "ERROR: Could not find output directory as described in svn_dynamics.iss\n"; } return $SetupOut;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -