# Any problems using "extends" in a gpr file used with Alire?

**URL:** https://forum.ada-lang.io/t/any-problems-using-extends-in-a-gpr-file-used-with-alire/4599
**Category:** General
**Created:** [July 29, 2026, 9:00pm UTC](https://forum.ada-lang.io/t/any-problems-using-extends-in-a-gpr-file-used-with-alire/4599 "2026-07-29T21:00:14Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![pat-rogers](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/pat-rogers/32/1024_2.png) [@pat-rogers](https://forum.ada-lang.io/u/pat-rogers)
#### Post date: [July 29, 2026, 9:00pm UTC](https://forum.ada-lang.io/t/any-problems-using-extends-in-a-gpr-file-used-with-alire/4599/1 "2026-07-29T21:00:14Z")

</div>

I have a new crate that doesn’t implement two package bodies because clients are meant to do so. But because Alire won’t publish a crate that won’t compile everything successfully (IIUC), my crate provides dummy bodies (the routines raise P\_E if called) for the two package declarations. Then the client extends the first crate’s gpr file and overrides the two dummy package bodies with actual implementations.

Will that cause any issues with Alire?

---

<div class="post-metadata">

### Author: ![godunko](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/godunko/32/22_2.png) [@godunko](https://forum.ada-lang.io/u/godunko)
#### Post date: [July 30, 2026, 12:47pm UTC](https://forum.ada-lang.io/t/any-problems-using-extends-in-a-gpr-file-used-with-alire/4599/2 "2026-07-30T12:47:00Z")

</div>

I suppose it should work, automatic adding of dependency should be disabled in first crate, and project file of second crate should be extended project.

---

<div class="post-metadata">

### Author: ![pat-rogers](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/pat-rogers/32/1024_2.png) [@pat-rogers](https://forum.ada-lang.io/u/pat-rogers)
#### Post date: [July 30, 2026, 3:31pm UTC](https://forum.ada-lang.io/t/any-problems-using-extends-in-a-gpr-file-used-with-alire/4599/3 "2026-07-30T15:31:10Z")

</div>

Hi Vadim,

Nice to hear from you. It’s been a while!

You mentioned “automatic adding of dependency should be disabled in first crate”. What do you have in mind, specifically? (I’m new to Alire.) Is it the use of `auto-gpr-with = false` in the manifest?

I should add that if there’s a better way to approach this problem, I’m certainly interested. The underlying cause is that build by the publisher checks, which I assume is unavoidable. But then again, project extension is a reasonable approach for these two crates anyway.

Thanks,

Pat
