Skip to content

Suggestion about configuration confusion #400

Description

@rulrok

I am setting up a library project and wanted to use the appropriate semver versioning and ensure the build breaks if a binary incompatible version is generated yet the semver is violated.

I initially configured my project with these two flags enabled, because I thought one was a complement of the other:
image

I thought that breakBuildOnBinaryIncompatibleModifications was the initially resonable flag that I need, and upon that, breakBuildBasedOnSemanticVersioning would complement the previous behaviour.

Then, I made changes and the building kept breaking even though I was bumping the major version.

After disabling the breakBuildOnBinaryIncompatibleModifications and leaving only breakBuildBasedOnSemanticVersioning, I realized it worked as expected.

Thus, it seems to me that they are Mutually exclusive options, and the plugin could either A) not allow me to configure in such a way, or B) at least giving me a warn message.

For suggestion A, maybe the setting could be something like:

<configuration>
    <breakBuildCriteria>
        source|binary|semver|zero
    </breakBuildCriteria>
</configuration>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions