/* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠT omas z ĠLink owski . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġpl . t link owski . gradle . my . super pom . shared . internal . task Ċ Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . tasks . Task Action Ċ import Ġpl . t link owski . gradle . my . super pom . shared . internal . Task Group Names Ċ Ċ /** Ċ Ġ* ĠTask Ġmodifying Ġ` gradle . properties ` Ġto Ġcontain Ġ` re ck on . scope = patch `. Ċ Ġ* Ċ Ġ* Ġ@ author ĠT omas z ĠLink owski Ċ Ġ*/ Ċ internal Ġopen Ġclass ĠReset Scope In Gradle Properties Task Ġ: ĠDefault Task () Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġconst Ġval ĠPROPERTY _ NAME Ġ= Ġ" re ck on . scope " ĊĠĠĠ Ġconst Ġval ĠFIL ENAME Ġ= Ġ" gradle . properties " ĊĠ Ġ} ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġgroup Ġ= ĠTask Group Names . INTERNAL ĊĠ Ġ} ĊĊĠ Ġfun Ġcan Reset Scope () Ġ= Ġproject . property ( PROPERTY _ NAME ) Ġ!= Ġ" patch " ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSets Ġthe Ġscope Ġof Ġnext Ġrelease Ġto Ġ" patch " Ġin Ġ` gradle . properties ` Ġ( the Ġscope Ġis Ġthen Ġto Ġbe Ġmodified Ġmanually ĊĠĠ Ġ* Ġwhen Ġ" minor " Ġor Ġ" major " Ġchanges Ġare Ġintroduced Ġinto Ġthe Ġcodebase ). ĊĠĠ Ġ*/ ĊĠ Ġ@ Task Action ĊĠ Ġfun Ġreset Scope In Gradle Properties () Ġ{ ĊĠĠĠ Ġcheck ( can Reset Scope ()) ĊĊĠĠĠ Ġval Ġgradle Properties Ġ= Ġproject . rootDir . resolve ( FILENAME ) ĊĠĠĠ Ġval Ġmodified Content Ġ= Ġgradle Properties . read Text (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRegex ("^ ${ Regex . escape ( PROPERTY _ NAME )} =( ?: major | minor )$ ", ĠRegex Option . MULT IL INE ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PROPERTY _ NAME = patch " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġlogger . info (" Setting Ġ{} = patch Ġin Ġ{}", ĠPROPERTY _ NAME , ĠFIL ENAME ) ĊĠĠĠ Ġgradle Properties . write Text ( modified Content ) ĊĠ Ġ} Ċ } Ċ