Prechádzať zdrojové kódy

* When a add-in is installed, add it to the fpmake dependencies list, so that packages
depending on it can be installed in one go.

git-svn-id: trunk@16931 -

joost 14 rokov pred
rodič
commit
e5b156f29a
2 zmenil súbory, kde vykonal 14 pridanie a 9 odobranie
  1. 2 0
      utils/fppkg/pkgcommands.pp
  2. 12 9
      utils/fppkg/pkgrepos.pp

+ 2 - 0
utils/fppkg/pkgcommands.pp

@@ -320,6 +320,8 @@ begin
         end;
       UFN:=IncludeTrailingPathDelimiter(UFN)+S+PathDelim+UnitConfigFileName;
       LoadUnitConfigFromFile(P,UFN);
+      if P.IsFPMakeAddIn then
+        AddFPMakeAddIn(P);
     end
   else
     ExecuteAction(PackageName,'fpmakeinstall');

+ 12 - 9
utils/fppkg/pkgrepos.pp

@@ -15,6 +15,7 @@ procedure LoadLocalAvailableRepository;
 procedure LoadUnitConfigFromFile(APackage:TFPPackage;const AFileName: String);
 function LoadManifestFromFile(const AManifestFN:string):TFPPackage;
 procedure FindInstalledPackages(ACompilerOptions:TCompilerOptions;showdups:boolean=true);
+Procedure AddFPMakeAddIn(APackage: TFPPackage);
 function  PackageIsBroken(APackage:TFPPackage; MarkForReInstall: boolean):boolean;
 function  FindBrokenPackages(SL:TStrings):Boolean;
 procedure CheckFPMakeDependencies;
@@ -289,15 +290,6 @@ procedure FindInstalledPackages(ACompilerOptions:TCompilerOptions;showdups:boole
     end;
   end;
 
-  Procedure AddFPMakeAddIn(APackage: TFPPackage);
-  begin
-    Log(vlDebug,SLogFoundFPMakeAddin,[APackage.Name]);
-    setlength(FPMKUnitDeps,length(FPMKUnitDeps)+1);
-    FPMKUnitDeps[high(FPMKUnitDeps)].package:=APackage.Name;
-    FPMKUnitDeps[high(FPMKUnitDeps)].reqver:=APackage.Version.AsString;
-    FPMKUnitDeps[high(FPMKUnitDeps)].def:='HAS_PACKAGE_'+APackage.Name;
-  end;
-
   function CheckUnitDir(const AUnitDir:string; const Local: boolean):boolean;
   var
     SR : TSearchRec;
@@ -349,6 +341,17 @@ begin
 end;
 
 
+Procedure AddFPMakeAddIn(APackage: TFPPackage);
+begin
+  Log(vlDebug,SLogFoundFPMakeAddin,[APackage.Name]);
+  setlength(FPMKUnitDeps,length(FPMKUnitDeps)+1);
+  FPMKUnitDeps[high(FPMKUnitDeps)].package:=APackage.Name;
+  FPMKUnitDeps[high(FPMKUnitDeps)].reqver:=APackage.Version.AsString;
+  FPMKUnitDeps[high(FPMKUnitDeps)].def:='HAS_PACKAGE_'+APackage.Name;
+  FPMKUnitDeps[high(FPMKUnitDeps)].available:=true;
+end;
+
+
 function PackageIsBroken(APackage:TFPPackage; MarkForReInstall: boolean):boolean;
 var
   j : integer;