рдЕрдм рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЧреНрд░реИрдбрд▓ рдиреЗ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЭреБрдХрд╛ рджрд┐рдпрд╛ред рд╣рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЧреНрд░реИрдбрд▓ рдореЗрдВ рдХрд╛рд░реНрдп рдЪреАрдВрдЯреА рд▓рдХреНрд╖реНрдп рдХрд╛ рдПрдХ рдирд┐рдХрдЯ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдФрд░, рд╢рдмреНрджреЛрдВ рдореЗрдВ рднреНрд░рдорд┐рдд рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдп (рдпрд╛ рдХрд╛рд░реНрдп) рд╣рдореЗрд╢рд╛ рдЧреНрд░реЗрдб рдЯрд╛рд╕реНрдХ рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рд╣рдо рдЪреАрдВрдЯреА рд╕реЗ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдЪреАрдВрдЯреА рдХрд╛рд░реНрдпред
рдЗрд╕рд▓рд┐рдП рдЧреНрд░реВрд╡реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рд╢реЗрд╖ dsl (рдбреЛрдореЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░реИрдбрд▓ рдореЗрдВ рдХрд╛рд░реНрдп рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдЬреЛ рдЗрд╕ dsl рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЪреАрдВрдЯреА рдпрд╛ рдорд╛рд╡реЗрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рдЕрдВрддрд╣реАрди рд╣реИред
рдЖрдЗрдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рдВрдкрд░рд┐рдХ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рд▓реА
build.gradle
рдлрд╝рд╛рдЗрд▓ рд╣реИред рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
task hello << { println 'Hello world!' }
рд╣рдо рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ
>gradle -q hello
Hello world!
рдмрд┐рдВрдЧреЛ! рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдирд╣реАрдВ рд╣реИред рдЪрд▓реЛ рдХреБрдЫ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:
task upper << { String someString = 'mY_nAmE' println "Original: " + someString println "Upper case: " + someString.toUpperCase() 4.times { print "$it " } }
рд╣рдо рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ
>gradle -q upper
Original: mY_nAmE
Upper case: MY_NAME
0 1 2 3
рдпрд╣реА рд╣реИ, рдХрд╛рд░реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдВрджрд░ рдордирдорд╛рдирд╛ Groovy рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдХрд╛рд░реНрдп рд╕реНрд╡рдпрдВ рдкреВрд░реНрдг рдЧреНрд░реВрд╡реА рд╡рд╕реНрддреБ рд╣реИрдВред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЧреБрдг рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдИ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ред
рдЖрдЗрдП рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЫреЛрдЯрд╛ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ build.gradle рд╣реИ:
apply plugin: 'java' version = '1.0' repositories { mavenCentral() } dependencies { compile group: 'commons-collections', name: 'commons-collections', version: '3.2' testCompile group: 'junit', name: 'junit', version: '4.7' }
рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛
/ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЕрд▓реНрдлрд╛ / src / рдкрд░реАрдХреНрд╖рдг / рдореБрдЦреНрдп / рдЬрд╛рд╡рд╛ / рдореЗрд░рд╛ / рдЦреБрдж рдХрд╛ / рдХреЛрдб / рд╡рд╕рдВрдд / рдбреАрдмреА / рдкреНрд▓рдЧрдЗрди / рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░
рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ: рд╕рдВрд╕реНрдХрд░рдг, рдорд╛рд╡реЗрди рд╕реЗрдВрдЯреНрд░рд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рджреЛ рдирд┐рд░реНрднрд░рддрд╛, рдХрдИ рдкреИрдХреЗрдЬред рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╕рдордп
>gradle build
projectAlpha-1.0.jar
рд╕рдВрдЧреНрд░рд╣ рдХреЛ
projectAlpha-1.0.jar
projectAlpha/build/libs
projectAlpha-1.0.jar
рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рднреА рд╕рдордЭреМрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреВрд░реНрдгред рдорд╛рд╡реЗрди рдареАрдХ рдпрд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рд╕рдордп рдХреЗ рд╕рд╛рде, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрджрд▓реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ-рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдЬрд╛рд░ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдЬрд╛рд░ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВред рдЧреНрд░реЗрдбрд▓ рдореЗрдВ, рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
task sourcesJar(type: Jar) { appendix = 'sources' from sourceSets.main.allJava } task testJar(type: Jar) { appendix = 'test' from sourceSets.test.classes } jar { exclude 'my/spring/**' } task springDbJar(type: Jar) { appendix = 'spring-db' from sourceSets.main.classes include 'my/spring/db/**' } task springAuthJar(type: Jar) { appendix = 'spring-auth' from sourceSets.main.classes include 'my/spring/auth/**' } task springPluginJar(type: Jar) { appendix = 'spring-plugin' from sourceSets.main.classes include 'my/spring/plugin/**' }
рд╣рдо рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ
>gradle assemble
рдФрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:
projectAlpha>dir /b build\libs
projectAlpha-1.0.jar
projectAlpha-sources-1.0.jar
projectAlpha-spring-auth-1.0.jar
projectAlpha-spring-db-1.0.jar
projectAlpha-spring-plugin-1.0.jar
projectAlpha-test-1.0.jar
рдХреНрдпрд╛ рд╣реБрдЖ:
- рд╣рдордиреЗ рдЬрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рджреЛ рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛:
sourcesJar
рдФрд░testJar
ред рдкреБрд░рд╛рд▓реЗрдЦ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╕реНрд░реЛрдд рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредappendix
рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рд╕рдВрдЧреНрд░рд╣ рдирд╛рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред - рд╣рдордиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ
jar
рдХрд╛рд░реНрдп рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ (рдпрд╣ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рддрд╛рдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдХреЗрдЬ рд╕реЗ рдХрдХреНрд╖рд╛рдПрдВ рдореБрдЦреНрдп рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рди рдЖрдПрдВред - рд╣рдордиреЗ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред рдЬрдм рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛рд░реНрдп рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рдиреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ (рдЬрд┐рдк, рдЬрд╛рд░ ..) рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рд╕реНрд░реЛрдд рд╕реЗрдЯ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВред
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕реЗ рдорд╛рд╡реЗрди рдореЗрдВ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ?
рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдЕрднреА рднреА рдЦрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реА рдорд╛рдВрдЧреЗрдВ рдмрджрд▓рддреА рд░рд╣рддреА рд╣реИрдВред рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╕реБрдмрд╣, рд╕реНрдкреНрд░рд┐рдВрдЧ рдлрд╛рдЙрдВрдбреЗрд╢рди рдиреЗ рд╣рд░ рдЬрд╛рд░ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдиреЗ рдХреА рдорд╛рдВрдЧ рдХреА, рдЬреЛ рд╡рд╕рдВрдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рд╣реИрдмрд░ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдорд╛рди habr.ru рдХреЗ рд╕рд╛рде рдбреЗрдореЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рднреА рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреЛрдбрд╝реЗрдВ:
tasks.withType(Jar).matching { task -> task.archiveName.contains('spring') }.allObjects { task -> task.manifest { attributes demo: 'habr.ru' } }
рдЪрд▓рд╛рдПрдБ:
projectAlpha>gradle assemble
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:sourcesJar UP-TO-DATE
:springAuthJar
:springDbJar
:springPluginJar
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:testJar UP-TO-DATE
:assemble
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ UP-TO-DATE рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЧреНрд░реИрдбрд▓ рдХрд╛ рдПрдХ рдФрд░ рдореБрдЦреНрдп рдЖрдХрд░реНрд╖рдг рд╣реИ - рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛ред рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдПрдХ рдФрд░ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЕрдм, рдпрджрд┐ рдЖрдк рдмрд╣реБрдд рдЖрд▓рд╕реА рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЖрд░реНрдХрд╛рдЗрд╡ рдореИрдирд┐рдлреЗрд╕реНрдЯреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдкреНрд░рд┐рдВрдЧ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ
Manifest-Version: 1.0
demo: habr.ru
рдмрд┐рдВрдЧреЛ!
рд▓реЗрдХрд┐рди рд╕реНрдкреНрд░рд┐рдВрдЧ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдЬрд╛рд░реА рд╣реИред рдФрд░ рдЕрдм рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЬрд╛рд░ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЗрд╕рдХреА рдЪреЗрдХрд╕рдо рдбрд╛рд▓рдиреА рд╣реЛрдЧреА :) рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рд╕рдлрд╛рдИ рдПрдХ рдЧрдВрднреАрд░ рдорд╛рдорд▓рд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЧреНрд░реИрдбрд▓ рдХреЗ рдкрд╛рд╕ рдПрдордбреА 5 рдЧрдгрдирд╛ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЪреАрдВрдЯреА рдореЗрдВ рд╣реИред рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрджрд▓реЗрдВ:
def allSpringJars = tasks.withType(Jar).matching { task -> task.archiveName.contains('spring') } allSpringJars.allObjects { task -> configure(task) { manifest { attributes demo: 'habr.ru' } doLast { ant.checksum(file: archivePath, todir: archivePath.parentFile) } } } task springJars(dependsOn: allSpringJars)
рдФрд░ рдЗрд╕ рдмрд╛рд░ рд╣рдо рдХреЗрд╡рд▓ рдмреАрдорд╛рд░ рд╡рд╕рдВрдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗ:
projectAlpha>gradle clean springJars
:clean
:compileJava
:processResources UP-TO-DATE
:classes
:springAuthJar
:springDbJar
:springPluginJar
:springJars
BUILD SUCCESSFUL
Total time: 5.015 secs
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХреНрдпрд╛ рд╣реБрдЖред
c:\Work\Gradle\tasksAreCode\projectAlpha>dir /b build\libs
projectAlpha-spring-auth-1.0.jar
projectAlpha-spring-auth-1.0.jar.MD5
projectAlpha-spring-db-1.0.jar
projectAlpha-spring-db-1.0.jar.MD5
projectAlpha-spring-plugin-1.0.jar
projectAlpha-spring-plugin-1.0.jar.MD5
рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдХреГрддреНрд░рд┐рдо рдФрд░ рдереЛрдбрд╝реА рднреЛрд▓реА рд▓рдЧрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рд╡реЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╡рд┐рд╡рд┐рдз рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдЧреНрд░реВрд╡реА рдХреЛрдб рдХреА рдПрдХ рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рдХреА рдорджрдж рд╕реЗ, рд╣рдо рдмрджрд▓рддреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдиреЗ рдФрд░ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рдЬрд┐рдиреНрд╣реЗрдВ рдЪреАрдВрдЯреА рдпрд╛ рдорд╛рд╡реЗрди рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред Xml рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд▓рдЪреАрд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рдХреИрд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдПред