рдореИрдВрдиреЗ auto
maven
рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рдХреА auto
рд╕рд╛рде рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдРрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдХреБрдЫ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВред
auto
рдХреЗ рд▓рд┐рдП maven
рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ maven-release-plugin
ред рдЗрд╕рдХреЗ рдХрдИ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ auto
рд▓рд┐рдП рдЦрд░рд╛рдм рдлрд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВред
рдХреА рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ maven-release-plugin
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрди рдЪрд░рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ release:prepare
:
рдФрд░ рдлрд┐рд░ release:perform
рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд░рд┐рд▓реАрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
deploy
site-deploy
)рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд▓рдЧрдЗрди auto
рдЕрдиреБрд░реВрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди release:prepare
рд▓рдХреНрд╖реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЛ рдирд┐рдкрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрд┐рдЯ рд╣реИрдХрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, maven-release-plugin
рд╡рд╣ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП auto
рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрдо-рд╕реЗ-рд╕реБрдВрджрд░ рддрд░реАрдХреЗ рд╕реЗ "рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо" рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рд▓реЗрдЦрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рд╕рдорд╛рди рдорд╣рддреНрд╡ рдХреА рд╣реИ - рд╡рд░реНрддрдорд╛рди рдореЗрдВ maven
рдкреНрд▓рдЧрдЗрди <scm/>
рдФрд░ <developers/>
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pom.xml
рдЕрдиреБрднрд╛рдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реАред рдпрд╣ рдмрд╛рдХреА auto
рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ git рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:
author
<developers/>
рдЕрдиреБрднрд╛рдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ pom.xml
, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдЪрдпрдирд┐рдд author
рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред <developers/>
рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде git рдкреНрд░рддрд┐рдмрджреНрдз рд▓реЗрдЦрдХ рдХреЛ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рд╣реИредowner
рдФрд░ repo
рдЬрд╛рдирдХрд╛рд░реА <scm/>
рдЕрдиреБрднрд╛рдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрдВрдбрд╛рд░ рдФрд░ рд╡рд░реНрддрдорд╛рди рдХреНрд▓реЛрди рдХреЗ рдорд╛рд▓рд┐рдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИредрдкреНрд▓рдЧрдЗрди рдХрд╛ рдПрдХ рдЧрд╣рд░рд╛ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдкрд░, рдФрд░ рдЗрд╕реЗ gradle
рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдкрд░, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ maven-release-plugin
рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд▓рдХреНрд╖реНрдп рдЬреЛ рд▓рд╛рдн рдХрд╛ рд╣реЛрдЧрд╛ рд╡рд╣ рд╣реИ release:update-versions
рд▓рдХреНрд╖реНрдпред рдЙрд╕ рд▓рдХреНрд╖реНрдп рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреБрдЫ рд╕рд░рд▓ XML рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
maven-release-plugin
рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдФрд░ рдиреНрдпреВрдирддрдо рд▓рд╛рдн рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ auto
maven
рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдзрд┐рдХ auto
рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реБрдБ!
рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд┐рдВрджреБ рдЬреЛ рдореБрдЭреЗ pom.xml рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ, рд╢рд╛рдпрдж рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдореЗрд░реА рдЧрд▓рддрдлрд╣рдореА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡ рд╕реНрд╡рд╛рдЧрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рдореИрдВ рдХрд┐рд╕реА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдирд╛ рд╣реИред рд╣рдо рд╕рдВрднрд╡рдд: #резрезрелрем рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдХреБрдЫ рдЫреЛрдЯреЗ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд░реЛрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ <scm/>
рдФрд░ <developers/>
рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рджреЛ рдмрд┐рдВрджреБ рдЧрд▓рдд рд╣реИрдВред npm
рдкреНрд▓рдЧрдЗрди рдЙрдиреНрд╣реЗрдВ package.json
рд╕реЗ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ _ рдЪрд╛рд╣рд┐рдП_ pom.xml
?
рдпрджрд┐ рд╡реЗ pom
рдПрдирдкреАрдПрдо repository
рдФрд░ author
рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рдордХрдХреНрд╖ рд╣реИрдВ рддреЛ рд╣рд╛рдБред
рд▓реЗрдЦрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
pom.xml рдХрд╛ рдЕрдиреБрднрд╛рдЧ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдЪрдпрдирд┐рдд рд▓реЗрдЦрдХ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз рд▓реЗрдЦрдХ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдЕрдк рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рд╣реИ рдЬрд╛рдирдХрд╛рд░реАред
рдпрд╣ npm рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИред рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдСрдЯреЛ рдЖрдкрдХреЗ git
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕реАрдЖрдИ рдПрдирд╡реА рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП author
рд╕реЗрдЯ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рдорд╛рд▓рд┐рдХ рдФрд░ рд░реЗрдкреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЕрдиреБрднрд╛рдЧ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрдВрдбрд╛рд░ рдФрд░ рд╡рд░реНрддрдорд╛рди рдХреНрд▓реЛрди рдХреЗ рд╕реНрд╡рд╛рдореА рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдЕрд▓рдЧ рд╣реЛрдЧрд╛? рдПрдирдкреАрдПрдо рджреБрдирд┐рдпрд╛ рдореЗрдВ repository
рдлрд╝реАрд▓реНрдб рдЖрдорддреМрд░ рдкрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ auto
fork
рдкрд░ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рд╡реЗ рд╣реЛрддреЗ рддреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реЛрддреА рдХрд┐ рд╡реЗ repository
рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рджреЗрдВрдЧреЗ
рдареАрдХ рд╣реИ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдЙрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрди рдЪреАрдЬреЛрдВ (рд╡рд░реНрддрдорд╛рди) рдХреА рддрд▓рд╛рд╢ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡реЗ pom.xml
рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рдкрд╕ рдЖрдПрдВ рдФрд░ рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ .autorc
рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдкреНрд▓рдЧ рдЗрди рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛ рдпрджрд┐ рдЙрд╕реЗ <scm/>
рдФрд░ <developers/>
рдЕрдиреБрднрд╛рдЧ pom.xml
рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред
рдЖрд╣ рд╣рд╛рдБ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдЧ рд╣реИред рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП https://github.com/intuit/auto/blob/master/plugins/npm/src/index.ts#L504
рдХреНрдпрд╛ рдорд╢реАрди-рдкрдардиреАрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг NUMBER рдХреЛ auto
рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ auto version
рдХрдорд╛рдВрдб рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд╕реНрдХрд░рдг рдЯрдХреНрдХрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдЖрдк --quiet
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ред рдпрд╛ рдЗрд╕реЗ --dry-run
рд╕рд╛рде рдкреЗрдпрд░ рдХрд░реЗрдВ рдФрд░ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЧреЗ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдереВрдХрдиреЗ рдХреЗ рд▓рд┐рдП version
рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣ рдмрд╣реБ рдкреИрдХреЗрдЬ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЕрдЬреАрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реБред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╣ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдХреЙрд▓рд░ рдкрд░ рдЫреЛрдбрд╝рдирд╛ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рд╣реИред
рдмрд╣реБ-рдкреИрдХреЗрдЬ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдмрд╛рдд рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ - рдорд╛рд╡реЗрди-рд░рд┐рд▓реАрдЬрд╝-рдкреНрд▓рдЧрдЗрди рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЖрдЙрдЯ-рдСрдл-рдж-рдмреЙрдХреНрд╕ред рдпрд╣ рдореБрдЭреЗ рд╕рд╡рд╛рд▓ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЙрд╕ рдХрд╛рдо рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рдЧрддрд┐рд░реЛрдз рдореЗрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ - рдПрдХ рддрд░рдл, рдорд╛рд╡реЗрди-рд░рд┐рд▓реАрдЬрд╝-рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рддрд░реНрдХ рдорд╛рдиреНрдп рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░реА рдУрд░, рд╕рдмрдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрди рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИред рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореЗрд╡реЗрди-рд░рд┐рд▓реАрдЬ-рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдореЗрд╡реЗрди-рд░рд┐рд▓реАрдЬ-рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рдорд┐рд▓реЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрд╡реЗрди рдкреНрд▓рдЧрдЗрди рдХреЛ release:prepare
рджреМрд░рд╛рди рднрдВрдбрд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдЬ рдмрд╛рдж рдореЗрдВ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
@hipsstersmoothie рдореЗрд░реЗ рдкрд╛рд╕ getAuthor
, getRepo
, рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИред рд╣реБрдХ рд╡реНрдпрд╡рд╣рд╛рд░ - рдЖрд░рдИ: https://github.com/intuit/auto/issues/1260#issuecomment рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА - ремрейрекреиреорежремрелрел, рдореИрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рд╡реЗ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг:
https://github.com/intuit/auto/blob/47d3b54ef1a7af990fe0ca898e747dd833fde3b1/plugins/maven/__tests__/maven.test.ts#L95
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдореИрдВ undefined
AuthorInformation
рд▓реМрдЯрд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡, рдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╣реБрдХ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ throw
рдлрд┐рд░ рд╕реЗ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ?
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓реМрдЯрдирд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ core
рд╕реНрдерд╛рдиреАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП git
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ
рдЧреЛрдЪрд╛ - рдореБрдЭреЗ рдпрд╣реА рд▓рдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрд╕рдлрд▓ рд╣реБрдХ рд╡рд╛рдкрд╕реА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ undefined
ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░реЗрдбреЗрд▓ рдФрд░ рдХреЛрдХреЛрдкреЛрдбреНрд╕ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреЛрдиреЛрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЧреНрд░реЗрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЧ рдмрдирд╛рдпрд╛ - рдХреНрдпрд╛ рдЖрдк рдХреЛрдХреЛрдкреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдиреЙрдЯ рдЫреЛрдбрд╝ рджреЗрдВред рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ hooks.beforeRun
рджреМрд░рд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдХреЛрдб рд╣реИ, рдХрд┐ рдЬрдм рдбрд┐рдмрдЧ рдХреЗ рддрд╣рдд hooks.beforeRun
рдЯреИрдк рдХреЗ рджреМрд░рд╛рди рд▓реЗрдЦрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:
test("should get author from pom.xml", async () => {
mockRead(`
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<developers>
<developer>
<name>Andrew Lisowski</name>
<email>[email protected]</email>
</developer>
</developers>
</project>
`);
await hooks.beforeRun.promise({} as any);
expect(await hooks.getAuthor.promise()).toStrictEqual(
expect.objectContaining({
email: "[email protected]",
name: "Andrew Lisowski",
})
);
});
рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг getAuthor
рд╣реБрдХ рдХреЗ рд▓рд┐рдП рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ beforeRun
рд╣реБрдХ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдиреНрдп рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ (рдЧреНрд░реЗрдбрд▓, рдПрд╕ 3), рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред
рдЕрд╕рд▓ рдореЗрдВ, рдореБрдЭреЗ beforeRun
рд╣реБрдХ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдПрдХ рд╢рд╛рдЦрд╛ рдзрдХреНрдХрд╛ рдФрд░ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ
@hipstersmoothie рдпрд╣рд╛рдБ рд╢рд╛рдЦрд╛ рд╣реИ: https://github.com/terradatum/auto/tree/remove-maven-release-plugin-requirement
рдореИрдВрдиреЗ рдЙрд╕ рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреЗрдВрджреНрд░реАрдп рд░реЗрдкреЛ рдореЗрдВ рдзрдХреЗрд▓ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рдореИрдВ рджреВрд░рд╕реНрде рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреВрдВред
рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк рдореБрдЭреЗ рдЬреЛ рднреА рдорджрдж рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ - рдореИрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ "рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдб рдЪрд▓рд╛рдПрдВ" рдХреА рдкреБрд░рд╛рдиреА-рд╡рд┐рджреНрдпрд╛рд▓рдп рдкрджреНрдзрддрд┐ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╛рдЗрд▓реЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП git reset --hard HEAD~1
рдЪрд▓рд╛рдПрдВ, рдХреБрд▓реНрд▓рд╛ рдФрд░ рджреЛрд╣рд░рд╛рдПрдВред"
рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд╕реНрдерд╛рдиреАрдп package.json
рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдкрдбрд╝реЗ рдЬреЛ IntelliJ рдореЗрдВ рдЬреЗрд╕реНрдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ package.json
рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдереЗ - рдХреНрдпрд╛ рдЙрд╕ рдкрд░ рдЖрдк рдореБрдЭреЗ рдХреЛрдИ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ "рдмрд╕ рдХрд╛рдо" рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рдореЗрд╡реЗрди рдкреНрд▓рдЧрдЗрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдФрд░ npm test
рдЪрд▓ рд░рд╣рд╛ рд╣реЛ - рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ "test": "jest --maxWorkers=2 --config ../../package.json"
ред
рдФрд░ рдЕрдЧрд░ рдореИрдВ рд╕рдВрдкрд╛рджрдХ рд╕реЗ IntelliJ рдЯреЗрд╕реНрдЯ рд░рдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:
тЧП Test suite failed to run
SyntaxError: /home/rbellamy/Development/Terradatum/auto/plugins/maven/__tests__/maven.test.ts: Unexpected token, expected "," (15:24)
13 | }));
14 |
> 15 | const mockRead = (result: string) =>
| ^
16 | jest
17 | .spyOn(fs, "readFile")
18 | // @ts-ignore
at Parser._raise (../../node_modules/@babel/parser/src/parser/location.js:241:45)
at Parser._raise [as raiseWithData] (../../node_modules/@babel/parser/src/parser/location.js:236:17)
at Parser.raiseWithData [as raise] (../../node_modules/@babel/parser/src/parser/location.js:220:17)
at Parser.raise [as unexpected] (../../node_modules/@babel/parser/src/parser/util.js:149:16)
at Parser.unexpected [as expect] (../../node_modules/@babel/parser/src/parser/util.js:129:28)
at Parser.expect [as parseParenAndDistinguishExpression] (../../node_modules/@babel/parser/src/parser/expression.js:1293:14)
at Parser.parseParenAndDistinguishExpression [as parseExprAtom] (../../node_modules/@babel/parser/src/parser/expression.js:1029:21)
at Parser.parseExprAtom [as parseExprSubscripts] (../../node_modules/@babel/parser/src/parser/expression.js:539:23)
at Parser.parseExprSubscripts [as parseMaybeUnary] (../../node_modules/@babel/parser/src/parser/expression.js:519:21)
at Parser.parseMaybeUnary [as parseExprOps] (../../node_modules/@babel/parser/src/parser/expression.js:311:23)
рдореИрдВ jest.config.ts
рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдХрд░ IntelliJ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
}
рдФрд░ рдлрд┐рд░ рд░реВрдЯ рдпрд╛ рдорд╛рд╡реЗрди package.json
рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ jest-circus
рдЬреЛрдбрд╝рдирд╛ред
рдмрд╕ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ xml2js
рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪреБрдкрдЪрд╛рдк рдПрдХреНрд╕рдПрдордПрд▓ => рдЬреЗрдПрд╕рдУрдПрди => рдПрдХреНрд╕рдПрдордПрд▓ рдЕрдиреБрд╡рд╛рдж рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдПрдХреНрд╕рдПрдордПрд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рджрд╛рдВрдд рдЦреАрдВрдЪрдиреЗ рдЬреИрд╕рд╛ рд╣реИред рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ xml2js
рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╕рдордп рдПрдХреНрд╕рдПрдордПрд▓ рдореВрд▓ рдЬреИрд╕рд╛ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдФрд░ рдпрд╣ рдПрдХ рдбреАрд▓-рдмреНрд░реЗрдХрд░ рд╣реИред
рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд░реВрдЯ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВред
yarn test plugins/maven
рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЙрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдмрд┐рдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдбреАрд▓ рдмреНрд░реЗрдХрд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЬрд╛рд╡рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреЛрдИ рдорд╛рдирдХ рд╕реАрдПрд▓рдЖрдИ рднреЗрдЬ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ?
рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕рд░ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛: рд░реВрдмреА) auto
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрд░ рд░реЗрдЧреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХреЛ beforeRun
рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛? рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ ...
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рд╕рд╛рде рд░реЗрдЧреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ - рдпрд╣ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рдФрд░ рднрдВрдЧреБрд░ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DOMParser
рдпрд╛ XMLSerializer
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ xml2js
рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдЕрдм рдЗрд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ!
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" рдЯреИрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрд╕рд┐рдВрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдЗрд╕реЗ рдмрджрд▓реЗрдВ
auto.hooks.beforeRun.tap(this.name, async () => {
рдЗрд╕рдХреЗ рд▓рд┐рдП
auto.hooks.beforeRun.tapPromise(this.name, async () => {
рдЖрд╣ рдкрд╣рд▓реЗ рд░рди рд╣реБрдХ рдЕрднреА рд╕рд┐рдВрдХ рд╣реИ, рдпрд╣реА рдЕрд╕рд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ рдпрджрд┐ рд╡рд╣ AsyncSeriesHook
рдмрдЬрд╛рдп SyncHook
ред рдЕрдЧрд░ рдореИрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╢рд╛рдЦрд╛ рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВ
рдХреГрдкрдпрд╛ рдХрд░реЗрдВ... рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВред
рдЖрдЧреЗ рдмрдврд╝реЛ!
рдмрд╕ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ред рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛ рдФрд░ рдЕрдм рдХреЗрд╡рд▓ рджреЛ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд░рди рд╣реБрдХ рдЕрдкреЗрдХреНрд╖рд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
@hipstersmoothie рдореБрдЭреЗ рдЯреЗрд░рд╛рдбрд╛рдЯрдо/рдСрдЯреЛ рд░реЗрдкреЛ рдХреЗ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИ?
рдЕрдм рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рд╣реИ
рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЯреИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?
рдирд╣реАрдВред рд╕рд┐рдВрдХ рдЯреИрдк рд╕рдорд╛рди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд╛рджреЗ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рдо рдХреЛ рднрдВрдЧреБрд░/рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд░реЗрдЧреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реА рдЪрд┐рдВрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ <version/>
рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ pom.xml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд░реЗрдЧреЗрдХреНрд╕ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕реЗ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХреНрд╕рдПрдордПрд▓ рдбреЛрдо (xmldom, xmldom-ts, xml2js, xml2json, рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдорд╣рд╛рдХрд╛рд╡реНрдп рдЕрдиреБрдкрд╛рдд рдХреЗ рджрд▓рджрд▓ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рдкрд╛рдпрд╛ рд╣реИред рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЦреБрдж рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рдорд╛рдирддрд╛, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╣реАрдВ рдЧрд┐рд░ рд░рд╣рд╛ рд╣реВрдВред
рджреЛ рдЪреАрдЬреЗрдВ рдореЗрд░реЗ рдЧрдзреЗ рдХреЛ рдорд╛рд░ рд░рд╣реА рд╣реИрдВ:
Document
рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ "/project/version" рдФрд░ "/project/parent/version" рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП xpath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛редрдЙрди рджреЛ рдореБрджреНрджреЛрдВ рдХреЗ рдмреАрдЪ рдореИрдВрдиреЗ рд╢рд╛рдпрдж рдХреБрд▓ резреи рд╕реЗ резрем рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВ, рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░рд╛рд╢ рд╣реЛ рд░рд╣рд╛ рд╣реВрдБред рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдЬ рд╕реБрдмрд╣ рддрдХ # 1 рдХрд╛рдо рдерд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ # 2 рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдореЛрдбрд╝ рдкрд░ рдореБрдЭрд╕реЗ рд▓рдбрд╝ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╕рд░рд▓ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд╡реЗрди-рд░рд┐рд▓реАрдЬ-рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдореЗрд╡реЗрди рдкрд░реАрдХреНрд╖рдг (рдФрд░ рдХреЗрд╡рд▓ рдореЗрд╡реЗрди рдкрд░реАрдХреНрд╖рдг) рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓рд┐рдЬреЗ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ред рдХрднреА-рдХрднреА рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдпрд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реВрдБред рдореИрдВ рд╡реАрдПрд╕рд╕реАрдУрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдк рд░реВрдЯ рд╕реЗ yarn test plugins/maven
рд╕рд╛рде рджреМрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?
pom.xml рдХреЛ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ "/ рдкреНрд░реЛрдЬреЗрдХреНрдЯ/рд╕рдВрд╕реНрдХрд░рдг" рдФрд░ "/ рдкреНрд░реЛрдЬреЗрдХреНрдЯ/рдкреИрд░реЗрдВрдЯ/рд╕рдВрд╕реНрдХрд░рдг" рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП xpath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИред рдЕрдЧрд░ рд╡рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред
рдореИрдВ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╕рд░рд▓ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд╡реЗрди-рд░рд┐рд▓реАрдЬ-рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХреЗрд╡рд▓ рдкреНрд▓рдЧрдЗрди рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬреИрд╕реЗ https://stackoverflow.com/questions/5726291/updating-version-numbers-of-modules-in-a-multi-module-maven-project рдорд╛рд╡реЗрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ? рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдПрдорд╡реАрдПрди рдЖрдзрд╛рд░рд┐рдд рдЪреАрдЬ рд╕рд╣реА рд╣реЛрдЧреАред
рдЗрд╕ рдкрд░ рдЗрддрдирд╛ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП BTW рдзрдиреНрдпрд╡рд╛рдж!
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╢реЗрдЦрд╝реА (рдИрд╢) рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рд╕рдВрд╕реНрдХрд░рдгреЛрдВ-рдореЗрд╡реЗрди-рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рд╛рди рдмрд┐рдВрджреБ - рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ ... рдпрд╣ рдореЗрд╡реЗрди-рд░рд┐рд▓реАрдЬ-рдкреНрд▓рдЧрдЗрди рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд╣реА рд╕рдордЭреМрддрд╛ рд╣реИ рдФрд░ рдСрдЯреЛ рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП yarn test plugins/maven
рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ console.log
рдмрдЬрд╛рдп рдЪреАрдЬреЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рднреА рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдирд╛рд░рд╛рдЬрд╝рдЧреА рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ...
рдПрдХ рд▓рдВрдмреА рдФрд░ рдХрдард┐рди рдпрд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рдж, рдореИрдВ рд▓рдЧрднрдЧ рдореИрдВ рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рдХрд┐ рдпрд╛ рддреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ pom.xml
рд╕реАрдзреЗ рдлрд╛рдЗрд▓ рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ versions-maven-plugin
рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВред
рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВред pom.xml
рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдПрдХ DOM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:
tsconfig.json
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ "dom"
lib "es2017"
рдореЗрдВ "compilerOptions"
:рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
"compilerOptions": [ "dom", "es2017" ]
рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛:
"compilerOptions": [ "es2017", "dom" ]
"рдлрд┐рдХреНрд╕" рдХреЗ рдмрд┐рдирд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ:
$ tsc -b tsconfig.dev.json
node_modules/@types/jsdom/index.d.ts:28:40 - error TS2304: Cannot find name 'DocumentFragment'.
28 static fragment(html: string): DocumentFragment;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/index.d.ts:45:28 - error TS2304: Cannot find name 'Node'.
45 nodeLocation(node: Node): ElementLocation | null;
~~~~
node_modules/@types/jsdom/index.d.ts:188:19 - error TS2304: Cannot find name 'HTMLScriptElement'.
188 element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/index.d.ts:188:39 - error TS2304: Cannot find name 'HTMLLinkElement'.
188 element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement;
~~~~~~~~~~~~~~~
<snip - numerous other errors>
jest
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП testEnvironment: 'jsdom'
рдХреЗ рд╡рд┐рдкрд░реАрдд 'node'
ред"рдлрд┐рдХреНрд╕" рдХреЗ рдмрд┐рдирд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ:
$ jest --runInBand plugins/maven
FAIL plugins/maven/__tests__/maven.test.ts
maven
updatePomVersion
тЬХ should replace the previousVersion with the newVersion (39ms)
тЧП maven тА║ updatePomVersion тА║ should replace the previousVersion with the newVersion
ReferenceError: XPathEvaluator is not defined
51 | ) => {
52 | const pomDom = new jsdom.JSDOM(content, {contentType: "text/xml"}).window.document;
> 53 | const evaluator = new XPathEvaluator();
| ^
54 | const resolver = evaluator.createNSResolver(pomDom.documentElement);
55 | const expression = evaluator.createExpression("/project/version", resolver);
56 | const versionNode = expression.evaluate(pomDom.documentElement, XPathResult.FIRST_ORDERED_NODE_TYPE);
at Object.exports.updatePomVersion (plugins/maven/src/index.ts:53:21)
at Object.test (plugins/maven/__tests__/maven.test.ts:53:26)
рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА "рдлрд┐рдХреНрд╕" рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рди рддреЛ plugins/maven/tsconfig.json
рдФрд░ рди рд╣реА jest
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди plugins/maven/package.json
ред рд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рдкрд░ рд╣реИ? рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ
рдЕрднреА рдирд╣реАрдВ... рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА рдкрд░реАрдХреНрд╖рдг (рдФрд░ рдирдП рд╡рд╛рд▓реЗ) рдкреБрд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рд╕ рд╣реЛ рдЬрд╛рдПрдВред рдЬрдм рд╡реЗ рдЖрдкрдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ, рддрдм рдореИрдВ рдЖрдкрдХреЛ рдкрд┐рдВрдЧ рдХрд░реВрдВрдЧрд╛ред
рдореИрдВрдиреЗ рдмрд╕ рдорд╛рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдореЗрдВ рд░рд┐рдмреЗрд╕ рдХрд┐рдпрд╛, рдФрд░ рдЕрдм рдореБрдЭреЗ рдХрдИ рдмрд┐рд▓реНрдб рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред
рдкрд╣рд▓реЗ yarn.lock
рдлрд╝рд╛рдЗрд▓ рдорд░реНрдЬ рд╡рд┐рд░реЛрдз рдХреЗ рдХрд╛рд░рдг рдмреЛрд░ рд╣реЛ рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдкрдбрд╝рд╛:
error Incorrect integrity when fetching from the cache for "babel-plugin-jest-hoist". Cache has "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== sha1-EpyAulx/x1uvOkW5Pi43LVfKJnc=" and remote has "sha512-+AuoehOrjt9irZL7DOt2+4ZaTM6dlu1s5TTS46JBa0/qem4dy7VNW3tMb96qeEqcIh20LD73TVNtmVEeymTG7w==". Run `yarn cache clean` to fix the problem
рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛, рдЕрдм рдореБрдЭреЗ @octokit/graphql
рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ:
$ tsc -b tsconfig.dev.json
packages/core/src/auto.ts:2018:13 - error TS2571: Object is of type 'unknown'.
2018 if (result?.[`hash_${commit}`]) {
~~~~~~
packages/core/src/auto.ts:2019:27 - error TS2571: Object is of type 'unknown'.
2019 const number = (result[`hash_${commit}`] as ISearchResult).edges[0]
~~~~~~
packages/core/src/release.ts:286:52 - error TS2769: No overload matches this call.
Overload 1 of 2, '(o: ArrayLike<unknown> | { [s: string]: unknown; }): [string, unknown][]', gave the following error.
Argument of type 'unknown' is not assignable to parameter of type 'ArrayLike<unknown> | { [s: string]: unknown; }'.
Type 'unknown' is not assignable to type '{ [s: string]: unknown; }'.
Overload 2 of 2, '(o: {}): [string, any][]', gave the following error.
Argument of type 'unknown' is not assignable to parameter of type '{}'.
286 (acc, result) => [...acc, ...(Object.entries(result) as QueryEntry[])],
~~~~~~
packages/core/src/__tests__/git.test.ts:209:12 - error TS2571: Object is of type 'unknown'.
209 expect(result!.data).not.toBeUndefined();
~~~~~~~
Found 4 errors.
error Command failed with exit code 2.
рдореБрдЭреЗ рдмрд╣реБрдд рдЙрдореНрдореАрдж рдереА рдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛ рдкрд╛рдКрдВрдЧрд╛ - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬреЛ рдореБрдЭреЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА - рдореИрдВрдиреЗ рдЕрднреА yarn.lock
рдлрд╝рд╛рдЗрд▓ рдХреЛ master
рд╕реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ yarn clean && yarn install && yarn build && yarn test plugins/maven
рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдЪреНрдЫрд╛ рд╣реВрдВ -рдЬрд╛рдУред
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдореИрдВ рдЖрдЬ рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реВрдВрдЧрд╛ред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛!
:рд░реЙрдХреЗрдЯ: рдореБрджреНрджрд╛ v9.40.0
рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд░реЙрдХреЗрдЯ: