Skip to content

Alire.Utils.Switches: Disable No_Exception_Propagation warning#1030

Merged
mosteo merged 1 commit into
masterfrom
disable_warn_no_exception_propagation
Jun 1, 2022
Merged

Alire.Utils.Switches: Disable No_Exception_Propagation warning#1030
mosteo merged 1 commit into
masterfrom
disable_warn_no_exception_propagation

Conversation

@Fabien-Chouteau

Copy link
Copy Markdown
Member

This switch was always added to the init crates and should have been
included in the first version of build profiles. The warnings are only
displayed for embedded project based on run-times without exception
propagation, and can be very annoying.

This switch was always added to the init crates and should have been
included in the first version of build profiles. The warnings are only
displayed for embedded project based on run-times without exception
propagation, and can be very annoying.
@Fabien-Chouteau Fabien-Chouteau requested a review from mosteo May 25, 2022 20:56
@Fabien-Chouteau

Copy link
Copy Markdown
Member Author

@mosteo This should go into 1.2.

@JeremyGrosser

Copy link
Copy Markdown
Contributor

If we're reconsidering style flags, I find the 80 character line limit to be a bit small and would prefer that it either be disabled or set to a higher value by default.

@Fabien-Chouteau

Copy link
Copy Markdown
Member Author

If we're reconsidering style flags,

This is not a style flag 😉

I find the 80 character line limit to be a bit small and would prefer that it either be disabled or set to a higher value by default.

I think it's important to define a minimal common coding style for open-source Ada projects, and that's why I added this in the build profile system. Of course I know we can't get everyone to agree on all the details of that coding style. The max line length is obviously one of the oldest debate in that topic.

I am OK to explore different options but I don't want to drag the 1.2 release further, and don't want this to be a showstopper for the build profile feature...

I see a couple of options:

  • Stick with 80 limit. You can override locally with pragma Style_Check ("gnatyM120") or add another -gnatyM in the GPR file compiler switches.
  • Add a switch category just for the max line length. A minor issue here is that switch configurations are supposed to be enumerations, so it will look like this (M80, M100, M120, Custom)
  • Don't use any max line length style checks at all

If we decide to remove the limit, it will be impossible add any limit in the future because that will break existing crates.

@mosteo what's your opinion on this?

@mosteo

mosteo commented May 31, 2022

Copy link
Copy Markdown
Member

Sorry, I've been traveling the last days.

Given the inevitable friction to come from style checks, I'd like to have some way of providing my own preferred defaults somehow (config settings, templates for the user gpr...). For line length, 80 or 100 is OK for me. More complicates diffs.

As long as Alire style settings in the autogenerated project file can be overriden by hand in the user project file, I don't see as very urgent what the particular override mechanism could be.

If we decide to remove the limit, it will be impossible add any limit in the future because that will break existing crates.

Isn't this a per-project setting? So adding a limit would only affect newly created crates?

@Fabien-Chouteau

Copy link
Copy Markdown
Member Author

Hi @JeremyGrosser

I just checked for a solution to your issue. You can simply add your preferred max line length limit in the root gpr file of your project in addition to the switches provided by Alire. For instance:

   package Compiler is
      for Default_Switches ("Ada") use My_Crate_Config.Ada_Compiler_Switches & ("-gnatyM120");
   end Compiler;

This is a simple one time change that you can use to adjust the style checks to your preference.

I think the best solution right now as I would like to preserve a max line length in the default coding style, and the adding a new switch category is too heavy.

CC @mosteo

@mosteo

mosteo commented Jun 1, 2022

Copy link
Copy Markdown
Member

Merging this one now, as it is not entirely related to the discussion. Please open a new issue/discussion if you thing the topic merits further debate. Thanks to all involved.

@mosteo mosteo merged commit d2a7bcf into master Jun 1, 2022
@mosteo mosteo deleted the disable_warn_no_exception_propagation branch June 1, 2022 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants