Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi GetIt Package Manager Command Line (https://www.delphipraxis.net/205358-delphi-getit-package-manager-command-line.html)

himitsu 11. Nov 2020 14:43

AW: Delphi GetIt Package Manager Command Line
 
Hat das inzwischen jemand zum Laufen gebracht?

Vor Aufruf der getitcmd.exe soll man einmal die rsvars.bat aufrufen, um die Umgebungsvariablen von der IDE zu setzen.
Auflisten der Packages funktioniert. (so halbwegs)
Nur das mit dem Installieren, also der Hauptfunktion, ... naja.

Code:
cd /d "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin"
rsvars
getitcmd --list= --filter=installed
getitcmd --list= --filter=all
getitcmd --install=Navigator-1.6.1 --accepteulas --installdeferred --verb=minimal --donotsetenvfile

Nach
Delphi-Quellcode:
getitcmd --list= --filter=all
stürzt GetIt ab, nachdem es fertig ist.
Code:
...
Command finished with success!
Runtime error 217 at 00409825
Bei
Delphi-Quellcode:
getitcmd --install=Navigator-1.6.1 --accepteulas --installdeferred --verb=minimal --donotsetenvfile
heißt es
Code:
ERROR: Too many arguments.
[edit] OK, Installdeferred, darf nicht mit Anderem zusammen. [/edit]

Das sind übrigens auch so in etwa die Parameter, welche die GetIt-Dependencies in den Projektoptionen benutzen, was auch nicht benutzbar ist.
Code:
[Warning Warnung] Checking GetIt package dependencies
[MSBuild Fehler] Unerwarteter Fehler bei der GetItCmd-Aufgabe.
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Borland.Build.Tasks.Common.CommandLineTask.Execute()
   bei Borland.Build.Tasks.Shared.GetItCmd.Execute()
   bei Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)
aus CodeGear.Common.Targets (wer zu den GetIt-Dependencies etwas sucht und dort findet, dass man BDSHost=true in die Umgebungsvariablen schreiben soll ... hier sieht man das Gegenstück dazu)
Code:
  <!-- Since there's an IDE limitation about handling more than one compilation,
  GetItCmd should be called only when compiling from command line -->
  <Target Name="_CheckGetItPackageDependencies" DependsOnTargets="_CheckBDSHostObject"
    Condition="('$(GetItPackages)'!='') And '$(BDSHost)'!='true'">
    <CallTarget Targets="_ExecGetItCmd"/>
  </Target>

  <Target Name="_ExecGetItCmd">
    <Warning Text="Checking GetIt package dependencies"/>
    <GetItCmd
        ProjectFileName="$(MSBuildProjectFullPath)"
        Accept_eulas="true"
        InstallPackages="$(GetItPackages)"
        DoNotSetEnvFile="true"
        Verbosity="Normal"
    />
  </Target>

Und bei
Delphi-Quellcode:
getitcmd --install=Navigator-1.6.1 --accepteulas
will GetIt erstmal alles/einiges deinstallieren. (da hab ich den UAC-Dialog abgebrochen, bevor was kaputt geht)
Als Erstes gleich mal die Delphi-IDE selbst. (scheint das zu sein, was man sich mühevoll über den GetItInstaller runtergeholt hatte)
Code:
Uninstalling: Uninstalling Library "Delphi Common Files Enterprise German"...

Anfangen wollte ich erstmal mit.
10.4Patch1-10
10.4Patch2de-10
10.4Patch3-10
ParnassusCoreEditor-1.6.1 ?
Navigator-1.6.1
Bookmarks-1.6.1
Icons8-1.0
(Komponenten für's Programm werden wohl nie über GetIt verwendet, so lange man dort keine eigenen/alternativen Paketquellen angeben kann und somit auf's Gutdünken Embas angewiesen ist, außerdem haben wir die Fremdkomponenten größtenteils als Quellcode in einem eigenen Git-Repository ... den Teil aber über eine eigene Paketquelle wäre schon interessant, anstatt es manuell im FinalBuilder zu machen)


Man findet ja nicht viel zum Thema, aber da hat/hatte man auch das selbe Problem, wo Packages deinstalliert werden.
https://qiita.com/ht_deko/items/2e7184431888c6c0612f

Benmik 21. Jun 2021 08:22

AW: Delphi GetIt Package Manager Command Line
 
Zitat:

Zitat von himitsu (Beitrag 1477131)
Code:
cd /d "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin"
rsvars
getitcmd --list= --filter=installed
getitcmd --list= --filter=all
getitcmd --install=Bookmarks-1.6.2 --accepteulas --verb=minimal --donotsetenvfile

Funktioniert! Allerdings fehlt da vorher noch
Delphi-Quellcode:
getitcmd -c=useonline
, sonst kommt "RADSTUDIO.JSON metadata not found".

BastiFantasti 6. Mär 2023 08:14

AW: Delphi GetIt Package Manager Command Line
 
Ich bringe das Thema nach sehr langer Zeit mal wieder nach oben :-)

Gibt es eine Möglichkeit die Pakete darüber zu installieren ohne die absolute Version anzugeben?
Hintergrund ist, ich möchte auf meinem bestehenden System die Paketliste exportieren, dann Delphi updaten und die Packages wieder installieren.
Allerdings ändert sich natürlich auch die Paketversion mit neueren Delphiversionen...

Praktisch wäre, wenn man die Pakete wie mit pip installiren könnte und getit die jeweils aktuelle und zur Delphiversion passende auswählen würde.

z.b.

Code:
getitcmd --install=Bookmarks --accepteulas --verb=minimal --donotsetenvfile
anstatt

Code:
getitcmd --install=Bookmarks-1.6.2 --accepteulas --verb=minimal --donotsetenvfile

Viele Grüße
Bastian

BastiFantasti 6. Mär 2023 10:11

AW: Delphi GetIt Package Manager Command Line
 
hab es mal mit der "EdgeBrowserDemo" versucht

das scheint leider nicht zu klappen...

Code:
getitcmd --install=EdgeBrowserDemo

Uwe Raabe 6. Mär 2023 10:51

AW: Delphi GetIt Package Manager Command Line
 
Du könntest ja das AutoGetIt entsprechend anpassen :)

himitsu 6. Mär 2023 11:41

AW: Delphi GetIt Package Manager Command Line
 
Es heißt ja auch EdgeBrowserDemo-1.0 :wink:
(ich finde immernoch, dass die Versionsnummer im Namen der größte Schwachsinn ist, zumindest wenn nicht optional)
Code:
getitcmd --list=

getitcmd --filter=all --list=

getitcmd --filter=all --list=EdgeBrowserDemo

Sicherheitshalber vorm getitcmd noch die rsvars.bat ausführen (weiß nicht ob es noch nötig ist, aber mit lief es bisher immer am Besten)
Code:
cd /d "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin"
rsvars.bat
getitcmd --install=...
CD: Bzw. ich gehe im Explorer in dieses Verzeichnis (ist inzwichem im AutoComplete drin), schreibe oben in die Adressleiste
Delphi-Quellcode:
cmd
+ [Enter] und dann nur noch das Nachfolgende

BastiFantasti 6. Mär 2023 12:56

AW: Delphi GetIt Package Manager Command Line
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1519570)
Du könntest ja das AutoGetIt entsprechend anpassen :)


Das schaue ich mir mal an. Danke

BastiFantasti 6. Mär 2023 12:57

AW: Delphi GetIt Package Manager Command Line
 
[QUOTE=himitsu;1519577]Es heißt ja auch EdgeBrowserDemo-1.0 :wink:
(ich finde immernoch, dass die Versionsnummer im Namen der größte Schwachsinn ist, zumindest wenn nicht optional)

ja, das ist ja das doofe.
Ich will ja nicht die Version pinnen.
Ich will ja nur unter einer neuen Delphiversion die entsprechend aktuell verfügbare Version des gleichen Pakets installieren.

Das Ziel soll ja sein, eine neue Delphiversion so schmerzfrei wie möglich aufzusetzen. 8-)

BastiFantasti 6. Mär 2023 13:29

AW: Delphi GetIt Package Manager Command Line
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1519570)
Du könntest ja das AutoGetIt entsprechend anpassen :)


Das Programm kann das sogar schon :thumb:
Habe gerade in den Quellen geschaut.

Einfach aus der exportierten Liste händisch die Versionsnummern entfernen und fertig.
Beim Import wird automatisch geprüft mit "StartsText"

BastiFantasti 8. Mär 2023 09:56

AW: Delphi GetIt Package Manager Command Line
 
Habe nun versucht, einen neue Delphiversion (11.3) mittels AutoGetIt um die benötigten Pakete zu erweitern.
Das Problem ist, dass es von vielen Paketen welche mit XXXcb und ohne - alson nur XXX gibt.

Das heißt hier muss eine manuelle Auswahl erfolgen, oder der Paketnamen den Abschließenden Bindestrich bis zur Versionsbezeichnung beinhalten.
Die Installation einiger Pakete hat er mit Fehler abgebrochen und andere erfolgreich installierten Pakete wurden als nicht installiert angezeigt...

Also so ganz automatisch funktioniert das bei mir leider noch nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz