* Added uninstall command to fppkg

git-svn-id: trunk@29439 -
This commit is contained in:
joost 2015-01-11 18:22:01 +00:00
parent e2b241e0ee
commit 96ea6b0001
3 changed files with 59 additions and 0 deletions
packages/fppkg/src
utils/fppkg

View File

@ -83,6 +83,13 @@ type
Procedure Execute;override;
end;
{ TCommandUnInstall }
TCommandUnInstall = Class(TPackagehandler)
Public
Procedure Execute;override;
end;
{ TCommandClean }
TCommandClean = Class(TPackagehandler)
@ -121,6 +128,43 @@ type
var
DependenciesDepth: integer;
{ TCommandUnInstall }
procedure TCommandUnInstall.Execute;
var
AvailP: TFPPackage;
APackage: TFPPackage;
begin
if PackageName<>'' then
begin
if (PackageName=CmdLinePackageName) then
begin
ExecuteAction(PackageName,'unzip');
end
else if (PackageName<>CurrentDirPackageName) then
begin
AvailP:=AvailableRepository.FindPackage(PackageName);
if not assigned(AvailP) then
begin
APackage := InstalledRepository.FindPackage(PackageName);
if assigned(APackage) and (APackage.SourcePath<>'') then
begin
AvailP := AvailableRepository.AddPackage(PackageName);
AvailP.Assign(APackage);
// The package won't be recompiled, but should be handled as such.
AvailP.RecompileBroken:=true;
end
else
begin
// The package is not available locally, download and unzip it.
ExecuteAction(PackageName,'unzip');
end;
end;
end;
end;
ExecuteAction(PackageName,'fpmakeuninstall');
end;
{ TCommandListSettings }
procedure TCommandListSettings.Execute;
@ -535,6 +579,7 @@ initialization
RegisterPkgHandler('compile',TCommandCompile);
RegisterPkgHandler('build',TCommandBuild);
RegisterPkgHandler('install',TCommandInstall);
RegisterPkgHandler('uninstall',TCommandUnInstall);
RegisterPkgHandler('clean',TCommandClean);
RegisterPkgHandler('archive',TCommandArchive);
RegisterPkgHandler('installdependencies',TCommandInstallDependencies);

View File

@ -58,6 +58,12 @@ type
Procedure Execute;override;
end;
{ TFPMakeRunnerUnInstall }
TFPMakeRunnerUnInstall = Class(TFPMakeRunner)
Public
Procedure Execute;override;
end;
{ TFPMakeRunnerClean }
@ -381,6 +387,12 @@ begin
end;
procedure TFPMakeRunnerUnInstall.Execute;
begin
RunFPMake('uninstall');
end;
procedure TFPMakeRunnerClean.Execute;
begin
RunFPMake('clean');
@ -404,6 +416,7 @@ initialization
RegisterPkgHandler('fpmakecompile',TFPMakeRunnerCompile);
RegisterPkgHandler('fpmakebuild',TFPMakeRunnerBuild);
RegisterPkgHandler('fpmakeinstall',TFPMakeRunnerInstall);
RegisterPkgHandler('fpmakeuninstall',TFPMakeRunnerUnInstall);
RegisterPkgHandler('fpmakeclean',TFPMakeRunnerClean);
RegisterPkgHandler('fpmakemanifest',TFPMakeRunnerManifest);
RegisterPkgHandler('fpmakearchive',TFPMakeRunnerArchive);

View File

@ -104,6 +104,7 @@ begin
Writeln(' build Build package');
Writeln(' compile Compile package');
Writeln(' install Install package');
Writeln(' uninstall Uninstall package');
Writeln(' clean Clean package');
Writeln(' archive Create archive of package');
Writeln(' download Download package');