- Upgraded to gradle 6
- Added gradle test kit and refactored tests to use GradleRunner
- ReleaseExtension fields are gradle properties now
- gradle adapter config defaults to main instead of master branch
- Switched default branch to main
- GIT: Option
git.pushOptions
can now be set to add additional git options to the git push.
- COMMON: Detect errors of executed commands with their exit value
- GIT: Option
git.commitVersionFileOnly
can now be set to make sure we only commit the versionFile instead of all modified file.- This will be useful in some case when the repository is modified by the build job on some files to work around build server limitation.
- SVN: Option
svn.pinExternals
can now be set to pin the version of externals
- COMMON: Fix support for properties in gradle.properties separated by space or colon.
- COMMON: Avoid exception when buildtasks is an empy list (#156 thanks pepijnve)
- GIT: Disable coloring for git-branch call (#157 thanks diegotori)
- COMMON: Writing version property could override other properties (#149 thanks markalanturner)
- COMMON: Calling custom buildTasks was broken (#144, thanks madhead)
- COMMON: Order of tasks was not completely correct for --parallel runs
- SVN: Fix logic in checkUpdateNeeded (#146, thanks Myllyenko)
- SVN: Fix NPE happening in checkUpdateNeeded (#145, thanks IVU-chl)
- COMMON: Possibility to use the release plugin in multiprojects where each project has its own version (#116, thanks christierney)
- see the example
- GIT: Option
pushToBranchPrefix
can now be set to specify a remote branch prefix when committing next version (#140, #113, thanks muryoh)
- COMMON: The plugin now emits warnings when setting deprecated configuration or cli options
- COMMON: Fixed internal bug in Executor not overwriting environment variables as expected (#135, thanks ddimtirov)
- COMMON: Fix bug with projects that do not yet have a property file created (#123, thanks dodgex)
- COMMON: Fix bug with release failing when using --parallel option for gradle (#60, thanks tschulte)
- GIT: The option
pushToCurrentBranch
is deprecated, as it was simply unnecessary and can be safely removed
- COMMON: Writing version property could override other properties (#149 thanks markalanturner)
- GIT: Respect option
pushToRemote
when pushing tag to remote - GIT: Catch errors correctly when doing commit (#128, thanks grigorigoldman)
- SVN: Detect trunk/tag/branch directories case-insensitive (#130, thanks naugler)
- COMMON: Fix incompatibility with maven-publish plugin (#125, thanks raphsoft and alibkord)
- COMMON: Possibility to use a regex for the option requireBranch (#118,#119, thanks grigorigoldman)
- COMMON: Possibility to use custom build tasks by setting the option
buildTasks
(#117, thanks ntarocco)
- COMMON: Refactored writing of version property to property-file. (#120, thanks simonsilvalauinger)
- Spaces are now preserved in properties file
- No other properties will be touched
- DateTime will not be written anymore
- COMMON: Added cli option
release.useAutomaticVersion
to normalize with the other options.gradle.release.useAutomaticVersion
will be deprecated in the future.
- SVN: Fix checkUpdateNeeded when externals were used (#106, thanks pstanoev)
- SVN: Fix creating tags when subdirectories are used in tagname (#110, thanks kmoens)
- SVN: Fix exception when externals were used (#106, thanks pstanoev)
- SVN: Fix externals not to be detected as uncommited changes
This release contains new features but was also the target of some internal refactorings. Due to the refactoring one minor breaking change had to be done. See the list below for details and the upgrade instructions.
- GIT: The configuration options are now all contained in the release closure. If you were using one of the options
requireBranch
,pushToRemote
orpushToCurrentBranch
you need to adjust your config. See upgrade instructions.
- COMMON: New flexible configuration
tagTemplate
to specify the name of the tag. (#96) - COMMON: Refactored the build process during release to run in separate process. This will hopefully resolve all the issues with certain other plugins like the new maven-publish or the bintray plugin.
- COMMON: Added beforeReleaseBuild and afterReleaseBuild hook, which both run in the same process as the build itself.
- COMMON: Added a convenient way for external adapters to be used instead of the supplied ones. Documentation and example to follow.
- SVN: Allow credentials to be specified
- Either with commandline parameters
gradle release -Prelease.svn.username=eric -Prelease.svn.password=secret
- Or directly inside your build.gradle: (This is a silly example, don't put your credentials under version control! For security reasons you might want to put variables inside your users properties file and reference them in the projects gradle script)
- Either with commandline parameters
release {
svn {
username = eric
password = secret
}
}
- COMMON: The SCM adapter is now lazy loaded and does not require an scm to be present during plugin initialization. New task
createScmAdapter
added at the beginning of release, which handles the creation of the correct scm adapter.
- COMMON: The configuration options
includeProjectNameInTag
andtagPrefix
are deprecated and will be remove with 3.0. Please migrate totagTemplate
. See upgrade instructions. (#96) - COMMON: Depending on any internal release task like createReleaseTag is highly discouraged. Use the beforeReleaseBuild or afterReleaseBuild tasks. See upgrade instructions.
- SVN: Fixed running release plugin without using snapshot versions (#91 #92, thanks mwhipple)
- GIT: Fixed running release plugin on windows (#90, thanks SanderDN)
- COMMON: The release version and new version can be supplied as cli parameters (#44, #67, thanks thokuest)
- GIT: Option to disable pushing to remote (#41, #33, thanks szpak)
- GIT: Option to change name of remote to push to
- Package of classes had to be changed from
release
tonet.researchgate.release
. (This is only relevant if you imported some of the classes directly in your code.) - COMMON: Better error message if updating of version fails
- COMMON: Fixed problems with setting custom versionPropertyFile (#56, #57, #58, thanks jeffastorey)
- GIT: Fixed calling release plugin in sub-project with git repository in parent (#35, thanks szpak)
- GIT: Fixed setting requireBranch to empty string (#40, thanks szpak)
- HG: Only check for incoming and outgoing changes on current branch for Mercurial (#76, thanks litpho)
- SVN: Fixed SVN release on windows (#39, #68, thanks thokuest)
- SVN: Fix creating branch from correct revision (#48)
- SVN: Set proper environment for svn client (#52, #86)