Browse Source

* Added ability to supply prefix for the archive-name (zipprefix)

git-svn-id: trunk@24478 -
joost 12 years ago
parent
commit
9e37374186
1 changed files with 15 additions and 2 deletions
  1. 15 2
      packages/fpmkunit/src/fpmkunit.pp

+ 15 - 2
packages/fpmkunit/src/fpmkunit.pp

@@ -874,6 +874,7 @@ Type
     FUnixPaths: Boolean;
     FUnixPaths: Boolean;
     FNoFPCCfg: Boolean;
     FNoFPCCfg: Boolean;
     FUseEnvironment: Boolean;
     FUseEnvironment: Boolean;
+    FZipPrefix: String;
     function GetBuildCPU: TCpu;
     function GetBuildCPU: TCpu;
     function GetBuildOS: TOS;
     function GetBuildOS: TOS;
     function GetBuildString: String;
     function GetBuildString: String;
@@ -897,6 +898,7 @@ Type
     procedure SetPrefix(const AValue: String);
     procedure SetPrefix(const AValue: String);
     procedure SetTarget(const AValue: String);
     procedure SetTarget(const AValue: String);
     procedure SetUnitInstallDir(const AValue: String);
     procedure SetUnitInstallDir(const AValue: String);
+    procedure SetZipPrefix(AValue: String);
   Protected
   Protected
     procedure RecalcTarget;
     procedure RecalcTarget;
     Function CmdLineOptions : String;
     Function CmdLineOptions : String;
@@ -940,6 +942,7 @@ Type
     Property LocalUnitDir : String Read GetLocalUnitDir Write SetLocalUnitDir;
     Property LocalUnitDir : String Read GetLocalUnitDir Write SetLocalUnitDir;
     Property GlobalUnitDir : String Read GetGlobalUnitDir Write SetGlobalUnitDir;
     Property GlobalUnitDir : String Read GetGlobalUnitDir Write SetGlobalUnitDir;
     Property Prefix : String Read FPrefix Write SetPrefix;
     Property Prefix : String Read FPrefix Write SetPrefix;
+    Property ZipPrefix : String Read FZipPrefix Write SetZipPrefix;
     Property BaseInstallDir : String Read GetBaseInstallDir Write SetBaseInstallDir;
     Property BaseInstallDir : String Read GetBaseInstallDir Write SetBaseInstallDir;
     Property UnitInstallDir : String Read GetUnitInstallDir Write SetUnitInstallDir;
     Property UnitInstallDir : String Read GetUnitInstallDir Write SetUnitInstallDir;
     Property BinInstallDir : String Read GetBinInstallDir Write FBinInstallDir;
     Property BinInstallDir : String Read GetBinInstallDir Write FBinInstallDir;
@@ -1438,6 +1441,7 @@ ResourceString
   sHelpThreads        = 'Enable the indicated amount of worker threads.';
   sHelpThreads        = 'Enable the indicated amount of worker threads.';
   sHelpUseEnvironment = 'Use environment to pass options to compiler.';
   sHelpUseEnvironment = 'Use environment to pass options to compiler.';
   SHelpUseBuildUnit   = 'Compile package in Build-unit mode.';
   SHelpUseBuildUnit   = 'Compile package in Build-unit mode.';
+  sHelpZipPrefix      = 'Use indicated prefix for generated archives.';
 
 
 
 
 Const
 Const
@@ -3642,6 +3646,12 @@ begin
     FUnitInstallDir:='';
     FUnitInstallDir:='';
 end;
 end;
 
 
+procedure TCustomDefaults.SetZipPrefix(AValue: String);
+begin
+  if FZipPrefix=AValue then Exit;
+  FZipPrefix:=AValue;
+end;
+
 
 
 procedure TCustomDefaults.RecalcTarget;
 procedure TCustomDefaults.RecalcTarget;
 begin
 begin
@@ -4178,6 +4188,8 @@ begin
       Defaults.Prefix:=OptionArg(I)
       Defaults.Prefix:=OptionArg(I)
     else if Checkoption(I,'n','nofpccfg') then
     else if Checkoption(I,'n','nofpccfg') then
       Defaults.NoFPCCfg:=true
       Defaults.NoFPCCfg:=true
+    else if Checkoption(I,'zp','zipprefix') then
+      Defaults.ZipPrefix:=OptionArg(I)
 {$ifdef HAS_UNIT_PROCESS}
 {$ifdef HAS_UNIT_PROCESS}
     else if Checkoption(I,'e','useenv') then
     else if Checkoption(I,'e','useenv') then
       Defaults.UseEnvironment:=true
       Defaults.UseEnvironment:=true
@@ -4291,6 +4303,7 @@ begin
   LogArgOption('o','options',SHelpOptions);
   LogArgOption('o','options',SHelpOptions);
   LogArgOption('io','ignoreinvalidoption',SHelpIgnoreInvOpt);
   LogArgOption('io','ignoreinvalidoption',SHelpIgnoreInvOpt);
   LogArgOption('d', 'doc-folder', sHelpFpdocOutputDir);
   LogArgOption('d', 'doc-folder', sHelpFpdocOutputDir);
+  LogArgOption('zp', 'zipprefix', sHelpZipPrefix);
 {$ifndef NO_THREADING}
 {$ifndef NO_THREADING}
   LogArgOption('T', 'threads', sHelpThreads);
   LogArgOption('T', 'threads', sHelpThreads);
 {$endif NO_THREADING}
 {$endif NO_THREADING}
@@ -6651,7 +6664,7 @@ procedure TBuildEngine.ZipInstall(Packages: TPackages);
           P:=Packages.PackageItems[i];
           P:=Packages.PackageItems[i];
           If PackageOK(P) then
           If PackageOK(P) then
             begin
             begin
-              FZipper.FileName := P.Name + '.' + MakeTargetString(Defaults.CPU,Defaults.OS) +'.zip';
+              FZipper.FileName := Defaults.ZipPrefix + P.Name + '.' + MakeTargetString(Defaults.CPU,Defaults.OS) +'.zip';
               Install(P);
               Install(P);
               FZipper.ZipAllFiles;
               FZipper.ZipAllFiles;
               FZipper.Clear;
               FZipper.Clear;
@@ -6677,7 +6690,7 @@ procedure TBuildEngine.ZipInstall(Packages: TPackages);
         P:=Packages.PackageItems[i];
         P:=Packages.PackageItems[i];
         If PackageOK(P) then
         If PackageOK(P) then
           begin
           begin
-            S := TGZFileStream.create(P.Name + '.' + MakeTargetString(Defaults.CPU,Defaults.OS) +'.tar.gz', gzopenwrite);
+            S := TGZFileStream.create(Defaults.ZipPrefix + P.Name + '.' + MakeTargetString(Defaults.CPU,Defaults.OS) +'.tar.gz', gzopenwrite);
             try
             try
               FTarWriter := TTarWriter.Create(S);
               FTarWriter := TTarWriter.Create(S);
               FTarWriter.Permissions := [tpReadByOwner, tpWriteByOwner, tpReadByGroup, tpReadByOther];
               FTarWriter.Permissions := [tpReadByOwner, tpWriteByOwner, tpReadByGroup, tpReadByOther];