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

Add revapi as option during build #11277

Merged
merged 1 commit into from
Aug 13, 2020
Merged

Conversation

maxandersen
Copy link
Member

@maxandersen maxandersen commented Aug 7, 2020

This is related to #10453 but just includes the minimal setup to run revapi (no modules gets it enabled; that will be future PR's)

Initial setup of revapi to get API change reports.
Still ways to go in tuning it; but would like to have it included in master
now to make coming PR's simpler to apply/manage.

This adds a profile to run api check - it is not currently activated by default
but should be in the future when we have the defaults tuned in to not generate
unwarranted noise.

Also revapi.skip is default true, meaning even when the profile is active no api check
will be done on a module unless it defines revapi.skip=true in its properties.

Thus for now to even have it run you need enable the api-check profile and the property.
i.e. mvn -Papi-check -Drevapi.skip=false

If you want to run it for everything (ignoring revapi.skip do the following::
mvn -Papi-check -Drevapi.skip=false -DskipTests verify

If you want to see it detect changes in dependencies that quarkus exposes/uses add -Drevapi.checkdeps=true

When run you should get a target/revapi-results/ in every module that are included in the check.

That folder will have a .json and .adoc file capturing detected API changes/issues.

If you want to tweak the format of the .adoc file you can change that in revapi/**/*.ftl
and do a mvn install to have changes picked up.

@boring-cyborg boring-cyborg bot added the area/dependencies Pull requests that update a dependency file label Aug 7, 2020
@maxandersen maxandersen requested review from geoand and n1hility August 7, 2020 08:43
@maxandersen maxandersen mentioned this pull request Aug 7, 2020
@geoand
Copy link
Contributor

geoand commented Aug 7, 2020

I don't think I can meaningfully review this before I get back from PTO.

But as soon as I do, it will be one of the first things I do

@geoand
Copy link
Contributor

geoand commented Aug 7, 2020

I just saw that this just configures revapi and doesn't enable it in any way.

I would still prefer if someone else pulled the trigger on it as I won't really be around for follow-ups and subsequent discussions.

@maxandersen
Copy link
Member Author

I don't think I can meaningfully review this before I get back from PTO.

But as soon as I do, it will be one of the first things I do

understood - there isn't much to it though; should have zero effect on build both locally and in CI but lets us try out revapi configs in tiny PR updates.

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

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

Want to clarify something before thinking about merging.

build-parent/pom.xml Outdated Show resolved Hide resolved
Initial setup of revapi to get API change reports.
Still ways to go in tuning it; but would like to have it included in master
now to make coming PR's simpler to apply/manage.

This adds a profile to run api check - it is not currently activated by default
but should be in the future when we have the defaults tuned in to not generate
unwarranted noise.

Also `revapi.skip` is default true, meaning even when the profile is active no api check
will be done on a module unless it defines `revapi.skip=true` in its properties.

Thus for now to even have it run you need enable the api-check profile *and* the property.
i.e. `mvn -Papi-check -Drevapi.skip=false`

If you want to run it for everything (ignoring revapi.skip do the following::
`mvn -Papi-check -Drevapi.skip=false -DskipTests verify`

If you want to see it detect changes in dependencies that quarkus exposes/uses add `-Drevapi.checkdeps=true`

When run you should get a `target/revapi-results/` in every module that are included in the check.

That folder will have a `.json` and `.adoc` file capturing detected API changes/issues.

If you want to tweak the format of the `.adoc` file you can change that in revapi/**/*.ftl
and do a `mvn install` to have changes picked up.
@gsmet
Copy link
Member

gsmet commented Aug 13, 2020

I made some changes to disable the profile by default: it now needs to be enabled explicitly.

@gsmet gsmet added this to the 1.8.0 - master milestone Aug 13, 2020
@gsmet gsmet added the triage/waiting-for-ci Ready to merge when CI successfully finishes label Aug 13, 2020
@maxandersen maxandersen merged commit 2bed8df into quarkusio:master Aug 13, 2020
@maxandersen maxandersen deleted the justrevapi branch August 13, 2020 11:47
@maxandersen
Copy link
Member Author

thanks @gsmet - merged with ci passing and i'll updated #10453 to just have the new delta(s)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dependencies Pull requests that update a dependency file triage/waiting-for-ci Ready to merge when CI successfully finishes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants