tschulte/gradle-semantic-release-plugin

semanticRelease extension is inconsistent

Closed this issue · 0 comments

Currently, the semanticRelease extension allows to configure the changeLog, releaseBranches and branchNames. But because of a sloppy implementation, this is inconsistent:

semanticRelease {
    changeLog {
        changeScope = { ... }
    }
    releaseBranches {
        include 'release'
    }
    branchNames {
        replace 'dev/', ''
    }
}

vs.

semanticRelease {
    changeLogService.changeScope = { ... }
    onReleaseBranch.include 'release'
    appendBranchName.replace 'dev/', ''
}

This should be fixed. One way could be to rename the properties to match the methods with the closures. Thus resulting in the second part to become

semanticRelease {
    changeLog.changeScope = { ... }
    releaseBranches.include 'release'
    branchNames.replace 'dev/', ''
}

To not trigger a major version bump, add getter methods with the old wrong names marked as @deprecated. These methods should also trigger a deprecation warning on the console.

Once a bump to 2.0.0 is necessary, remove the deprecated methods.