123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- unit pkgcommands;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils,pkghandler;
- type
- { TCommandUpdate }
- TCommandUpdate = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- { TCommandAvail }
- TCommandAvail = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- { TCommandScanPackages }
- TCommandScanPackages = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- { TCommandDownload }
- TCommandDownload = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- { TCommandUnzip }
- TCommandUnzip = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- { TCommandBuild }
- TCommandBuild = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- { TCommandInstall }
- TCommandInstall = Class(TPackagehandler)
- Public
- Function Execute(const Args:TActionArgs):boolean;override;
- end;
- implementation
- uses
- pkgmessages,
- pkgglobals,
- pkgoptions,
- pkgdownload,
- pkgrepos;
- function TCommandUpdate.Execute(const Args:TActionArgs):boolean;
- begin
- DownloadFile(Defaults.RemotePackagesFile,Defaults.LocalPackagesFile);
- LoadLocalRepository;
- end;
- function TCommandAvail.Execute(const Args:TActionArgs):boolean;
- begin
- ListRepository;
- end;
- function TCommandScanPackages.Execute(const Args:TActionArgs):boolean;
- begin
- RebuildRepository;
- ListRepository;
- SaveRepository;
- end;
- function TCommandDownload.Execute(const Args:TActionArgs):boolean;
- begin
- if not assigned(CurrentPackage) then
- Error(SErrNoPackageSpecified);
- if not FileExists(PackageLocalArchive) then
- ExecuteAction(CurrentPackage,'downloadpackage',Args);
- end;
- function TCommandUnzip.Execute(const Args:TActionArgs):boolean;
- begin
- if not assigned(CurrentPackage) then
- Error(SErrNoPackageSpecified);
- ExecuteAction(CurrentPackage,'unziparchive',Args);
- end;
- function TCommandBuild.Execute(const Args:TActionArgs):boolean;
- begin
- if assigned(CurrentPackage) then
- begin
- if not DirectoryExists(PackageBuildPath) then
- ExecuteAction(CurrentPackage,'unziparchive',Args);
- end;
- ExecuteAction(CurrentPackage,'fpmakebuild',Args);
- end;
- function TCommandInstall.Execute(const Args:TActionArgs):boolean;
- begin
- ExecuteAction(CurrentPackage,'build',Args);
- ExecuteAction(CurrentPackage,'fpmakeinstall',Args);
- end;
- initialization
- RegisterPkgHandler('update',TCommandUpdate);
- RegisterPkgHandler('avail',TCommandAvail);
- RegisterPkgHandler('scan',TCommandScanPackages);
- RegisterPkgHandler('download',TCommandDownload);
- RegisterPkgHandler('unzip',TCommandUnzip);
- RegisterPkgHandler('build',TCommandBuild);
- RegisterPkgHandler('install',TCommandInstall);
- end.
|