The commandline has finally arrived, and Dependencies are on their way
Yesterday i merged the Commandline to the Masterbranch. After some little additional changes, it seems to be ready. If you’re using the WebSetup, simply do an Update, the Commandline (DPM.exe) will appear in the Bin-Subfolder. Otherwhise you’ll need to recompile it manually. The WIKI has been updated accordingly.
IMPORTANT for WebSetup users:
Please redownload the Setup. The last version used some outdated source and the new one includes some fixes.
For now the Commandline offers the same functionality as the GUI-Version. You can Install/Update/Remove packages or inspect them. My new favourite is the UPDATE Command. This one checks for all pending Paclage-Updates and executes them. This will simplify the task of keeping your environment uptodate!
There is one little disadvantage right now: I still haven’t added support for local repositories, which means the Commandline pulls form the Online-Repository(Aka GITHUB). However in most automated scenarios it is better to have an offline repository. These will be added in the future. But for now, enjoy the new possibillities of managing all your packages across all your IDEs.
Dependencies
SOmething which has been in the taskpipeline for way to long are dependencies. Those allow you to specify which packages your Package requires. The result is that Delphinus can prepare (i.e. install missing Packages) before installing yours. In my developmentbranch i modified the UI with a new Button. This one can display the Dependencies (direct+indirect) and which action the Setup will execute.
In my example, i created a testpackage which requires multiple packages. One is already installed, one is to old, and one must be installed.
That’s all for now. Hope you enjoyed the update!
Very very good!
its a pity that the delphi community is not used to packages managers.
Hope to see your project growing more!
Maybe someday an option as maven (dependencies per project, with a config file, integrate to the ide) 🙂
congratulations!
Thanks. Doing my best 🙂
Integrated into the IDE: Check!
Dependencies per Project: On the Road BUT not mixable(means if you load 2 projects, both use package Foo, but one uses v1 and one uses v2 you’ll have to decide which is used for both)
Config: I prefer the registry (as it is right now) for configuring.
“web” projects are file/directory based, so they don’t care about what is installed on the “IDE”.
And sometimes, for different projects you may need use different version of a lib.
On maven, what it does is put the dependencies, on a dir inside of the project.
In Delphi case, we should add a new dir clone everything inside and add the paths on the project.
Yeah, it’s bad because we need to add file per file in project, and not point the dir. That’s bad.
But it’s ok! again, very good project! I’ll add my projects there 😀
The Problem is, that Delphi already enforces a set of Environmentoptions which is a burden to work around. I will look into it, but there will be problems (what about 2 projects, same component, 2 versions, component has designtime). It is possible to solve it, but complicated.
EDIT: Thanks! More packages are always welcome!