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

Consider building upstream modules regardless of being changed or not when using -pl and -am #269

Closed
famod opened this issue Oct 2, 2020 · 3 comments · Fixed by #287
Closed
Assignees

Comments

@famod
Copy link
Member

famod commented Oct 2, 2020

See https://github.com/vackosar/gitflow-incremental-builder#mvn--pl:

  • Upstream projects of these selected projects are built if:
    • -am (--also-make) is used
    • and:
      • they are changed (or depend on other changed upstream modules) and buildUpstream is not never or false
      • or buildAll is enabled

More specifically this part:

they are changed (or depend on other changed upstream modules)

I had a reason to implement it like this but I don't remember. Actually I now think this is counterintuitive and the condition should be dropped.

@famod
Copy link
Member Author

famod commented Oct 4, 2020

@mickroll Do you have an opinion about this?

@mickroll
Copy link
Contributor

mickroll commented Oct 5, 2020

I see 2 main use cases for gib:

  • ci builds, where only changed modules should be built, on top of an existing workspace of an earlier build.
  • local, day to day builds where gib should 'not get in the way' (which means something different for any dev)

CI builds may use some more gib configuration, as it is not changed very often.
Local builds should be not need a lot of config parameters. If i supply mvn with a project list, i expect it to be built, regardless of detected changes. So:

  • -pl should skip change detection
  • -am, -amd and -rf should also skip change detection

Maybe there is a way to use properties like -Dgib.am (like mvn -am) to have a clear distinction between gib-enhanced and mvn-default behaviour? This would end the discussion which behaviour is 'best' and enable users to directly tell mvn/gib what they want. No guesswork needed.

@famod
Copy link
Member Author

famod commented Oct 6, 2020

At some point, I actually thought about something like -Dgib.am but it somehow felt like reinventing the wheel.
Besides, there is already -Dgib.buildUpstream=... (and -Dgib.buildDownstream). Maybe changed could be added as value.

So, basically you confirmed what I was thinking. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants