DPM Support #138
Replies: 3 comments
-
|
Hi @vincentparrett , Thank you so much for reaching out and for taking the time to create all these I would love to have Dext available on DPM. However, I currently face a significant technical bottleneck regarding the build matrix. Dext is designed to support multiple Delphi versions and various target platforms (Windows, Linux, Android, iOS, macOS). As an open-source maintainer, my local infrastructure is quite lean: I actively run Delphi Sydney (for my daily job) and Delphi 13 (where I develop Dext), keeping only the specific target platforms I strictly need installed to save resources. To publish binary packages on DPM, I would need to compile the Is there a way we can bridge this gap collaboratively?
I really want to support the DPM ecosystem, but I need an automated or source-first approach to make it sustainable on my end. Let me know your thoughts! Best regards, |
Beta Was this translation helpful? Give feedback.
-
|
Hi Cesar
I have XE2-13.0 installed on my dev machine, and on all our CI agent machines (just copied the bits needed and the registry keys) - it's so easy to accidently break code for earlier versions with delphi, something as simple as calling an overload that doesn't exist, or array initializers (that is a common one I see a lot of), inline variables etc. The sad fact is that most libraries that I have looked at to get published on dpm are not in a good state - they have packages for some random versions, but those don't actually compile. When working on DPM I have D13.0 and XE2 open all the time. I code in 13.0 but always build/test with XE2 as well. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @vincentparrett , First of all, a massive mea culpa on my end! I completely misunderstood the DPM architecture, and I have to admit, my Delphi-wired brain played tricks on me. Whenever I read "build package" or "create package" in the DPM documentation, I immediately assumed it meant compiling the source code into binary distribution files (like A friendly suggestion: It might be incredibly helpful to add a highly visible note in the DPM documentation explicitly stating that DPM is a source-first package manager—meaning Regarding the syntax compatibility you mentioned, you are absolutely right. Interestingly, just a few weeks ago, I did a massive refactoring and completely removed all Our recommended baseline is now Delphi 10.1 Berlin. This is primarily because our ORM relies heavily on the I will read the documentation to make the necessary adjustments to the Thanks again for your patience, the DSpec files, and for building such an essential tool for the community! Best regards, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Cesar
Any chance you could consider publishing DPM packages for dext? I have attached the dspec files I created (designed to live in a \dpm folder in the repo).
I created multiple package definitions with (I hope) the correct dependencies (please check).
Dext.AI.dspec.yaml
Dext.AST.dspec.yaml
Dext.Core.dspec.yaml
Dext.EF.Components.dspec.yaml
Dext.EF.Core.dspec.yaml
Dext.Events.dspec.yaml
Dext.Hosting.dspec.yaml
Dext.Net.dspec.yaml
Dext.Testing.dspec.yaml
Dext.UI.dspec.yaml
Dext.Web.Core.dspec.yaml
Dext.Web.Hubs.dspec.yaml
To create the package files, download and install the dpm client from github and then either use the dpm cli
dpm pack Dext.Core.dspec.yaml -o=c:\outputfolderfor each package - or use the DSpecCreator gui to pack (and upload) the packages.
To publish packages, you need to sign up on the website, verify your email address (enable 2fa if you didn't use a social login), then create an api key to use with the cli or with DSpecCreator.
dpm push Dext.*.dpkg -source=dpm -apiKey=xxxxxxVincent.
Beta Was this translation helpful? Give feedback.
All reactions