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.0 required=3.0 tests=BAYES_20,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:a0c:c3d1:: with SMTP id p17mr17378049qvi.44.1622473324971; Mon, 31 May 2021 08:02:04 -0700 (PDT) X-Received: by 2002:a25:fc1c:: with SMTP id v28mr31729308ybd.277.1622473324368; Mon, 31 May 2021 08:02:04 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!news.uzoreto.com!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 31 May 2021 08:02:04 -0700 (PDT) In-Reply-To: Injection-Info: google-groups.googlegroups.com; posting-host=2a03:7380:380d:3b:71c8:7ef7:9378:7f50; posting-account=K1cP1QoAAAD_GR6kW2Td0NqGqGBLRE8h NNTP-Posting-Host: 2a03:7380:380d:3b:71c8:7ef7:9378:7f50 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <966aa783-a803-46ea-bdac-3092bc8ad418n@googlegroups.com> Subject: Re: Suggestion about best practice with .gpr files From: Maxim Reznik Injection-Date: Mon, 31 May 2021 15:02:04 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader02.eternal-september.org comp.lang.ada:62058 List-Id: We use a dedicated folder `gnat/` to keep project files there. This has several a advantages: * you doesn't pollute the root directory with extra files (as you see you need at least two project file - for library and for tests) * a user is able to observe all project files in one place and pick up needed one * if you tend to use the repo as mono-repo (or if you split the library into two), you will get much more project files (see Matreshka or VSS). So keep them in order is important * people who don't use project files don't see them :D The layout becomes foolib/ ...| ...+-- Makefile ...+--alire.toml ...+-- docs ...+-- gnat ...| ......+-- foo.gpr ......+-- foo_tests.gpr ...+-- source ...+-- testsuite To simplify a new repository creation I made a template repo and keep common files there. Take a look, perhaps you find something useful there. https://github.com/reznikmm/matreshka https://github.com/AdaCore/VSS https://github.com/reznikmm/template Best regards,