Recent

Author Topic: Boss - an open source dependency manager for Delphi & Lazarus - anyone tried it?  (Read 675 times)

PaulANormanNZ

  • Full Member
  • ***
  • Posts: 114
Hi,

Has anyone come across, or had any experience with this ...

Quote
Boss is an open source dependency manager inspired by npm
for projects developed in Delphi and Lazarus.

MIT license

https://github.com/HashLoad/boss

It looks to be a quite new release, and as it seems actually designed around Delphi? (– I could be wrong abut that,
but although naming Lazarus, they don't seem to talk abut it much).

So I first wanted to see if any one here has looked into it yet as useful ('safe') for Lazarus?

I couldn't seem to find any other Forum postings on it searching under "Boss", and wondered if their developers had communicated with any of the Lazarus team over Bosses development?

I'm obviously thinking about possible conflicts and proper compatibility with
Lazarus' standard Install/Uninstall Packages, Online Package Manager, and fppkg Packet Manager.

Wanted to ask here before contacting them, and certainly before risking possible Lazarus installation corruption  :o

TIA,
Paul

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 913
  • Professional amateur ;-P
Hey Paul,

While being rather new to us on the Lazarus community it seems it's quite huge in the Delphi community since it already has an integration module (dunno what them called, so Imma call'hem this :) ) for the Delphi IDE.

But this is just the feeling I have from some twitter posts from MVPs at Delphi, so I can't be completely sure.

I've also created a series of issues on the GitHub repository related to lack of documentation and possible lack of Lazarus support. I'm very sorry to say that they are all in Portuguese, since the team behind Boss is Brazilian and me being Portuguese, it made sense to carry on in a language that is native to both.

With regards to the lack of documentation, I've promised that I would create some PRs with some better content for some of the command line options that they are missing on the README.md.

Regarding the lack of support for Lazarus, well, this is still a tool in it's infancy and I think that the decision to make it Lazarus compatible is quite recent and hasn't been fully implemented. I have one or two issues regarding the Lazarus support, or lack thereof, but I need to follow up. (My usual mental health issues have been hammering me down as of late, sorry!)

Also, I think that the team behind Boss needs a bit more testers on the Light Side(Linux), since thems are a bunch on the Dark Side(Windows) :P

One of the issues I put down was due to the fact that Go (Yeap, boss is a tool for Object Pascal written in Go, go figure ;) ) doesn't acknowledge the contents of alias in Linux. Which would never be noticed from them on the Dark Side(Windows) :P

I'll try and make the next set of issues in English, since it makes more sense for a tool that serves a broader spoken language spectrum than just Portuguese.

Cheers,
Gus
Lazarus 2.3.0(trunk) FPC 3.3.1(trunk) Ubuntu 21.10 64b Dark Theme
Lazarus 2.0.12(stable) FPC 3.2.2(stable) Ubuntu 21.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 913
  • Professional amateur ;-P
Hey Paul,

Crap, almost forgot to answer the main question:

Has anyone come across, or had any experience with this ...

While I was trying it in it's full is when I came across all the issues I've mentioned on my previous message.

I have the impression that it is semi functional for Lazarus on Windows, but please don't quote me on that due to the fact that I don't have a Windows environment to attest this and I'm only going from others testimonies.

So, yeah, it may be useable in Windows, but I'm not completely sure about it.
I can't give a yay or nay on the Linux side since I stop my testing after hitting the brick walls I mention on the issues I've created.

I'm really sorry this is not that useful, I realize that. But at least I gave it a shot in the hopes that their claim was true ;)

Cheers,
Gus
Lazarus 2.3.0(trunk) FPC 3.3.1(trunk) Ubuntu 21.10 64b Dark Theme
Lazarus 2.0.12(stable) FPC 3.2.2(stable) Ubuntu 21.10 64b Dark Theme
http://github.com/gcarreno

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 10172
  • FPC developer.
Hmm, No Go :_)

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 913
  • Professional amateur ;-P
Hey Marco,

Hmm, No Go :_)

ROTFL!!!  :D

Indeed, the irony of a tool for a language being done in another language is indeed quite fair game for all the puns we can muster!!

Shall we have a Go?!

Cheers,
Gus
Lazarus 2.3.0(trunk) FPC 3.3.1(trunk) Ubuntu 21.10 64b Dark Theme
Lazarus 2.0.12(stable) FPC 3.2.2(stable) Ubuntu 21.10 64b Dark Theme
http://github.com/gcarreno

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 10172
  • FPC developer.
Seriously, using a tool in a different language is one thing. But a tool in another language that first needs additional development/investment, that is even worse.

Worse, there are already native options like fppkg, online package manager etc, I myself don't even see a role for it as temporary stopgap till native solutions are developed.

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 913
  • Professional amateur ;-P
Hey Marco,

Worse, there are already native options like fppkg, online package manager etc, I myself don't even see a role for it as temporary stopgap till native solutions are developed.

Well, in all honesty this was a tool that was developed with Delphi in mind, since they don't have ANY package manager to boot. Hence the anything is better than nothing approach makes some sense.

So I guess that Lazarus was an afterthought and kind of an attempt to be inclusive, I guess?! Maybe? I dunno, I'm still a bit stuck on the fact that they decided to use another language to make a tool.
For me it still feels like the carpenter decided to make a tool out of bread because he talked to a baker and he found it would be a good idea. Or some other analogy that makes sense in this situation.

I'm not against using another language for anything, because I'm a firm believer of the right tool for the job. But what does a package manager need that the basic building blocks of Delphi and/or FPC/Lazarus don't have?! And does Go fit the requirement for the right tool for the job in the context of a package manager?! And does Delphi fundamentally hinder such a package manager!? And in the long run, the tool has to be maintained by someone that knows the language, so why go outside the wheelhouse?!

But hey, let's not go into flamewar territory :)

And BTW, has anyone even tried to use fppkg and/or OPM on the Delphi side?
I've never used fppkg, so I'm not really sure how it works, so I'm not gonna opine.
But I've been using OPM a lot and I think the way it works, to use it on the Delphi side, we could only use the archives from the site since the tool itself is tied to the Lazarus IDE API. We could maybe have a have a version of OPM that is done with the Delphi IDE API.

Hummmm, after I get my head out of the slump I've been on and we finish the new OPM site, maybe I'll poke GetMem to maybe investigate how hard would it be to port OPM to the Dark Side? :P

Cheers,
Gus
Lazarus 2.3.0(trunk) FPC 3.3.1(trunk) Ubuntu 21.10 64b Dark Theme
Lazarus 2.0.12(stable) FPC 3.2.2(stable) Ubuntu 21.10 64b Dark Theme
http://github.com/gcarreno

PascalDragon

  • Hero Member
  • *****
  • Posts: 4299
  • Compiler Developer
Also, I think that the team behind Boss needs a bit more testers on the Light Side(Linux), since thems are a bunch on the Dark Side(Windows) :P

Can we please leave such euphemisms out of this?

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 913
  • Professional amateur ;-P
Hey PascalDragon,

Also, I think that the team behind Boss needs a bit more testers on the Light Side(Linux), since thems are a bunch on the Dark Side(Windows) :P

Can we please leave such euphemisms out of this?

I agree that the euphemisms may be of bad taste for the Windows crowd, so yeah, I'll drop those ;)
And apologise if my feeble attempts at humour offended anyone!!

What I won't drop is the ask for testers that are more Linux prone.
If the team behind boss really wants to make the tool appealing to the Lazarus crowd, then they should embrace the Windows/Linux/macOS balance that we have around here.
For me, this means that some of the Linux and/or macOS users should have a go at it and give more help in the testing phases.

And I do this with the knowledge that the Delphi crowd has a very small part of their Windows community that also deals with their code in Linux. The write once, compile anywhere is not quite in their blood.
And, I may be wrong, but I don't see them having a big portion of the community that is Linux only and using Delphi for development. I'm not even sure that Delphi is runnable under wine.

Cheers,
Gus
Lazarus 2.3.0(trunk) FPC 3.3.1(trunk) Ubuntu 21.10 64b Dark Theme
Lazarus 2.0.12(stable) FPC 3.2.2(stable) Ubuntu 21.10 64b Dark Theme
http://github.com/gcarreno

PaulANormanNZ

  • Full Member
  • ***
  • Posts: 114
Thanks Guys,

Thats a great overview, I would agree GO is a bit of a surprise  %)

It would leave us at the mercies of GO's development over the years ahead.

I'll just stick with our excellent and growing Lazarus and FP offerings,
especially as that BOSS project doesn't appear to be in touch with the Lazarus developers at present!

Thanks again for all the insight into the project as it stands.

Paul

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 10172
  • FPC developer.
Well, in all honesty this was a tool that was developed with Delphi in mind, since they don't have ANY package manager to boot. Hence the anything is better than nothing approach makes some sense.

Afaik recent Delphis have some nuget derivative. Don't know the exact details though as I don't use that part, having all used components in local svn.

IIRC jedi also has some fpcdeluxe like solution to download and install.

Quote
I'm not against using another language for anything, because I'm a firm believer of the right tool for the job. But what does a package manager need that the basic building blocks of Delphi and/or FPC/Lazarus don't have?! And does Go fit the requirement for the right tool for the job in the context of a package manager?! And does Delphi fundamentally hinder such a package manager!? And in the long run, the tool has to be maintained by someone that knows the language, so why go outside the wheelhouse?!

It is different if it is a big project that standalone and far along, and quite dominant in what it does. Nobody redid "make" in Pascal.

But for an just emerging package focused specifically on Delphi it is an odd choice. And I don't even know much about golang deployment, if there are dependencies on things external to the EXE that can't be packed in an installer.


 

TinyPortal © 2005-2018