comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: yet another Ada web site?
Date: Thu, 13 Oct 2022 08:58:16 +0200	[thread overview]
Message-ID: <ti8cu8$shh$1@gioia.aioe.org> (raw)
In-Reply-To: 861qrch9j1.fsf@stephe-leake.org

On 2022-10-13 02:06, Stephen Leake wrote:
> Paul Jarrett <jarrett.paul.young@gmail.com> writes:
> 
>>> The main problem with that stuff is usually architectural. Most of it is
>> plain aggregation of source code, which is utterly wrong.
>>>
>>> The very idea to rebuild everything each time on each client is
>>> atrocious both with regard of wasting computing resources as well as
>>> testing, safety, consistency, interoperability inside the target.
> 
> Actually, it's better for consistency; that's why Alire does it.

Consistency is easier to enforce on pre-built deployments, obviously. 
Moreover libraries usually provide integrated checks and/or have some 
target platform policy, e.g. naming and placement conventions.

> I don't understand what you mean by "testing" here; how does compiling
> from source affect testing?

Because one can run tests on pre-built packages impossible to run on the 
sources. For example, network/hardware protocols. In order to test a 
protocol implementation one needs complex mock setups the client simply 
does not have. Such tests may run for many hours etc.

> Same for "interoperability".

See above. You cannot run integration tests on the client, it is just silly.

>> I've seen inconsistencies in builds when developers who rely on the
>> system libraries (installed by things like apt) join the project at
>> different times -- the earliest developers might be on libfoo-1.2
>> whereas newer developers are on libfoo-1.4. You don't run into this
>> problem if the repo points to the applicable dependencies and everyone
>> builds everything locally.

No difference whether deployment is in source or pre-built. Dependencies 
must be enforced regardless. However is far easier to do with pre-built 
packages.

> More precisely, an Alire crate can specify precisely which version of
> each dependency it requires/is compatible with.

It seems so. Multiple versions at once are not supported. E.g. when you 
are working on two projects both dependent on different versions of 
another project:

    B -> A.1
    C -> A.2

Or even the same project, e.g. when doing some migration from one 
version to another.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2022-10-13  6:58 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-25 10:01 yet another Ada web site? Maxim Reznik
2022-08-26 18:58 ` Paul Rubin
2022-08-27  9:12 ` Rene
2022-08-27  9:53   ` Nasser M. Abbasi
2022-08-28  7:21     ` Simon Wright
2022-08-28  7:50     ` Dmitry A. Kazakov
2022-08-28 10:26       ` Luke A. Guest
2022-09-16 15:25         ` Maxim Reznik
2022-09-16 17:07           ` Luke A. Guest
2022-09-16 17:34           ` Stephen Leake
2022-09-16 18:45             ` Jere
2022-09-17  9:45               ` Luke A. Guest
2022-09-16 18:49           ` Jere
2022-09-17 13:08           ` Move semantics (was: yet another Ada web site?) G.B.
2022-09-19 17:04             ` Move semantics Stephen Leake
2022-09-19 18:50               ` Paul Rubin
2022-09-20 11:44                 ` AdaMagica
2022-09-20 14:46                   ` Niklas Holsti
2022-09-20 19:39                   ` Paul Rubin
2022-09-24  6:54                 ` Stephen Leake
2022-09-18  8:47           ` yet another Ada web site? grosdan
2022-09-18 10:57             ` Dmitry A. Kazakov
2022-09-18 16:28             ` Luke A. Guest
2022-09-19 17:02             ` Stephen Leake
2022-09-19  6:39           ` Emmanuel Briot
2022-09-30 10:29   ` shtps
2022-09-30 12:29     ` Niklas Holsti
2022-10-09 16:13       ` Stephen Leake
2022-10-12  4:21         ` Paul Jarrett
2022-10-13  0:06           ` Stephen Leake
2022-10-13  6:58             ` Dmitry A. Kazakov [this message]
2022-10-14  8:41               ` Fabien Chouteau
2022-10-14 10:05                 ` Dmitry A. Kazakov
2022-10-14 11:19                   ` Stephen Leake
2022-10-14 13:05                     ` Dmitry A. Kazakov
2022-10-16  8:54                       ` G.B.
2022-10-16  9:20                         ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox