From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.8 required=3.0 tests=BAYES_50,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:ac8:668d:: with SMTP id d13mr7614511qtp.178.1622558288970; Tue, 01 Jun 2021 07:38:08 -0700 (PDT) X-Received: by 2002:a25:5ec2:: with SMTP id s185mr40894893ybb.303.1622558288727; Tue, 01 Jun 2021 07:38:08 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 1 Jun 2021 07:38:08 -0700 (PDT) In-Reply-To: Injection-Info: google-groups.googlegroups.com; posting-host=146.5.2.231; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 146.5.2.231 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <65a6061f-e16d-4921-a73f-00bc93f272a1n@googlegroups.com> Subject: Re: Suggestion about best practice with .gpr files From: Shark8 Injection-Date: Tue, 01 Jun 2021 14:38:08 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:62080 List-Id: On Sunday, May 30, 2021 at 2:22:16 PM UTC-6, Jeffrey R. Carter wrote: > On 5/30/21 7:37 PM, mockturtle wrote:=20 > >=20 > > Do there exist some kind of "best practice" for this? > The best practice is not to use project files. When everything is is Ada,= they=20 > only add unnecessary and non-portable complexity. Unnecessary complexity = is a=20 > sign of incompetence. True; Ada's structuring is such that a project-file is *almost* unnecessary= . I remember reading, when doing some research on build-systems, someone re= marking that "build-systems are the consequence of using a language not mea= nt for engineering." -- Given this, the general lack of needing a "build-sy= stem" for Ada is a good sign, and a testament to how Ada really *is* meant = for Software Engineering. That said, the place where Ada isn't quite up to the task is configurations= , which is primarily what GPR files are used for; I've done some initial wo= rk on re-purposing Ada's generics as a "project file". (It could use a rest= ricted set of acceptable parameters and "ASIS-processing" them such that us= er-inputs could be queried/provided automatically [hence the restriction on= formal-parameter types].) >=20 > The same is true of build directory structures.=20 I have come to deeply despise using the file-system as the repository for s= ources, along with "magic" environment-variables. There are TONS of advantages that could be had with a database-based system= ; see: http://users.ece.utexas.edu/~perry/work/papers/icsm87.pdf and https:= //www.mindprod.com/project/scid.html Yes, more design-work up-front, but it yields better properties... just lik= e how sorting a collection allows you to have search-functions that are fas= ter than one-at-a-time linear.