Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MARTIFACT-80] Apply ignore configuration to main project artifact as well #71

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

facboy
Copy link
Contributor

@facboy facboy commented Nov 12, 2024

Also

  • Use per-module ignore configuration when generating aggregated buildinfo in compare

…as well

Previously the `ignore` configuration did not apply to the main project artifact, only to secondary attached artifacts
…gregated buildinfo in `compare`

Use the per-module ignore configuration when generating buildinfo for comparison in the aggregator (usually the 'last' module). It's a bit of a bodge because it relies on the ignore config being stored when the `compare` goal runs in each module. If for some reason a module doesn't run the `compare` goal then it falls back to whatever config exists in the aggregator.

There's probably a much more complex solution that involves parsing the config out of the project model that would be more consistent.
<artifactId>@project.artifactId@</artifactId>
<version>@project.version@</version>
<configuration>
<ignore>*/ignore-modA-*.jar</ignore>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should not be configured in this module's POM but in parent

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it relates to artifacts produced by this module though, isn't it better to be 'closer' to the source?

or is artifact always intended to be configured at the 'top-level' of the build?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I never thought precisely at it in the past, but now I see it arises naturally

I'd say, yes, that it's intended to be configured at top-level, because it's a full build process that has to be checked. Partial checks run one one single module are just partial executions: it's useful to get faster feedback when testing, but at the end, it's the whole build that counts

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and TBH, I did not even expect compare goal to be configured in pom.xml: I always use this goal fully on CLI, because I compare a rebuild done on one situation with an initial build that may have been done anywhere, and the more environmental distance between the 2 builds, the better to discover unexpected discrepencies

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it wouldn't be part of the regular build. In practice we configure it in pluginManagement.

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.

2 participants