рдорд╛рд╡реЗрди рдФрд░ рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдВрдХрд▓рди

рд╢реБрдн рджреЛрдкрд╣рд░, рд╕рд╛рдерд┐рдпреЛрдВ!

рдореИрдВ рдЕрдкрд╛рдЪреЗ рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Google рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ Google рдХреНрд▓реЛрдЬрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдкрдиреА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда https://github.com/urmuzov/closure-maven , рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рднреА рд╣реИред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдореБрдЦреНрдп рдШрдЯрдХ рдЖрд░реНрдХрд╖рдХ рд╣реИред рдЪрд╛рдкрд▓реВрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреНрдп рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдЬреЛ рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдХрдЯрд╛рдЗрдк рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:


sources рдФрд░ sources-no-compile рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдорд╛ рд╣реИ, рд╡реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдЬрдЧрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдпрд╣ рд╕реАрдорд╛ depswriter.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ, рдЬреЛ deps.js рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреА рд╣реИ, рдЬреЛ рдХреНрд▓реЛрдЬрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг


рдЗрд╕ рдЕрднрд┐рд▓реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдмрд╕ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ (рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг 3 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):
 mvn -DarchetypeRepository=http://urmuzov.github.com/maven-repository/releases/ \ -DarchetypeGroupId=com.github.urmuzov \ -DarchetypeArtifactId=closure-package-maven-archetype \ -DarchetypeVersion=1.0.2 \ -DgroupId=my.test.group \ -DartifactId=test-artifact \ -Dversion=1.0.0-SNAPSHOT \ -Dpackage=my.test.pkg \ archetype:generate 

рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ com.github.urmuzov:closure-package-maven-archetype:1.0.2 , рдЖрдк com.github.urmuzov:closure-package-maven-archetype:1.0.2 archetype рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП com.github.urmuzov:closure-package-maven-archetype:1.0.2 рдХреЛ com.github.urmuzov:closure-package-maven-archetype:1.0.2 рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдерд┐рдд urmuzov.github.com/maven-repository/releases urmuzov.github.com/maven-repository/releases рдЬрдмрдХрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдореВрд╣, рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреНрд░рдорд╢рдГ my.test.group , test-artifact рдФрд░ 1.0.0-SNAPSHOT рд╣реЛрдВрдЧреЗ, рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдореБрдЦреНрдп рдкреИрдХреЗрдЬ my.test.pkg рд╣реЛрдЧрд╛ред

рдорд╛рд╡реЗрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЗрд╕ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛: ( // )
 ~$ cd test-artifact/ ~/test-artifact$ tree . тФЬтФАтФА pom.xml тФФтФАтФА src тФФтФАтФА main тФЬтФАтФА python тФВ  тФФтФАтФА closure-library //  python    deps.js тФВ  ... тФЬтФАтФА resources тФВ  тФЬтФАтФА jquery-1.4.4.min.js тФВ  тФФтФАтФА my тФВ  тФФтФАтФА test тФВ  тФФтФАтФА pkg //,       тФВ  тФФтФАтФА javascript //  ,      js   ,     externs       тФВ  тФЬтФАтФА desktop.entry.js //     тФВ  тФЬтФАтФА mobile.entry.js //     тФВ  тФФтФАтФА sample //  js  тФВ  тФФтФАтФА sample.js //     тФФтФАтФА webapp тФЬтФАтФА index.html // html     desktop.entry.js тФЬтФАтФА META-INF тФЬтФАтФА mobile.html // html     mobile.entry.js тФФтФАтФА WEB-INF тФЬтФАтФА web.xml тФФтФАтФА wro.xml //  wro 14 directories, 19 files 

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ, рдЪрд▓реЛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред compiled рдмрдЬрд╛рдп compiled рдЖрдк рдХрд┐рд╕реА рднреА 5 рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 ~/test-artifact$ mvn -P compiled clean install [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building test-artifact 1.0.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ ... [INFO] --- closure-package-maven-plugin:1.0.2:copy (default) @ test-artifact --- [INFO] [INFO] --- closure-compiler-maven-plugin:1.0.2:compile (compile-advanced) @ test-artifact --- [INFO] simplePasses: [desktop, mobile] [INFO] == SimplePass (/home/urmuzov/test-artifact/target/closure/javascript/desktop.entry.js -> /home/urmuzov/test-artifact/target/test-artifact/desktop.js) == [INFO] file size: desktop.js -> 1588 bytes [INFO] == SimplePass (/home/urmuzov/test-artifact/target/closure/javascript/mobile.entry.js -> /home/urmuzov/test-artifact/target/test-artifact/mobile.js) == [INFO] file size: mobile.js -> 1587 bytes ... [INFO] --- gmaven-plugin:1.0-rc-5:execute (property-setup) @ test-artifact --- [INFO] SimplePass[desktop]: For simple inclusion use ${desktop.entry.js} in your HTML file [INFO] SimplePass[mobile]: For simple inclusion use ${mobile.entry.js} in your HTML file ... [INFO] --- wro4j-maven-plugin:1.3.8:run (default) @ test-artifact --- ... [INFO] /home/urmuzov/java/target/test-artifact/target/all.js (78601bytes) has been created! ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ 

рд▓реЙрдЧ рдХреЗ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдЬреЛ рдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдП рдЧрдП рдЪрд╛рдк рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИрдВред

рд╕рдВрдХрд▓рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
 ~/test-artifact$ cd target/test-artifact/ ~/test-artifact/target/test-artifact$ tree . тФЬтФАтФА desktop.js //    desktop.entry.js тФЬтФАтФА index.html // html    desktop.entry.js тФЬтФАтФА META-INF //  META-INF   javasript     тФЬтФАтФА mobile.html // html    mobile.entry.js тФЬтФАтФА mobile.js //    mobile.entry.js тФЬтФАтФА target тФВ  тФФтФАтФА all.js //   all  src/main/webapp/WEB-INF/wro.xml тФФтФАтФА WEB-INF //  WEB-INF   javasript     


рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдВрдЪрд╛рд▓рди


рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдСрдкрд░реЗрд╢рди рдХрд┐рдП рдЧрдП рдереЗ:

  1. closure-package-maven-plugin рдиреЗ closure-package-maven-plugin рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ <dependency> рдХреЛ рджреЗрдЦрд╛, рдкреИрдХреНрдб рдХреНрд▓реЛрдЬрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдвреВрдВрдврд╛ рдФрд░ рдЗрд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ред
     <dependency> <groupId>com.github.urmuzov</groupId> <artifactId>closure-library-package</artifactId> <version>${closureMaven.version}</version> </dependency> 

  2. closure-compiler-maven-plugin <properties>...<passes>desktop mobile</passes>...</properties> рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ <properties>...<passes>desktop mobile</passes>...</properties> рд╕рдВрдкрддреНрддрд┐ рдиреЗ desktop.entry.js рдФрд░ mobile.entry.js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рджреЛ "рд╕рд░рд▓ рдкрд╛рд╕" рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ mobile.entry.js рдЙрдиреНрд╣реЗрдВ desktop.js рдФрд░ mobile.js рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗред рдЖрдк рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рд╕рдВрдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рд░реНрдЧ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
  3. gmaven-plugin рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЧреБрдг HTML рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рддреНрд╡рд░рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рд╣реБрдП рдереЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ ${desktop.entry.js} рдФрд░ ${mobile.entry.js} ред рдореИрдВ рддреБрд░рдВрдд рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреВрдВрдЧрд╛, "рд╣рдореЗрдВ рдЗрди рдЧреБрдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?" рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ compiled рдпрд╛ merged compiled merged рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
     <script type="text/javascript" src="desktop.js"></script> 

    рдФрд░ рдЬрдм sources рдпрд╛ sources-no-compile рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ sources , рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреАрди рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
     <script type="text/javascript" src="goog/base.js"></script> <script type="text/javascript" src="deps.js"></script> <script type="text/javascript" src="desktop.entry.js"></script> 

    рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдмрджрд▓рддреЗ рд╕рдордп HTML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд / рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рд░реНрдорд╛рдг ${output.closure.js.prefix}desktop${output.closure.js.suffix} рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, gmaven-plugin рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ gmaven-plugin рдпрд╣ рдирд┐рд░реНрдорд╛рдг ${desktop.entry.js} рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, html рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
  4. Wro4j рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, jquery-1.4.4.min.js рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рднреА .js. рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдСрдкрд░реЗрд╢рди, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдмрд╣реБрдд рдХрдо рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЫреЛрдЯрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдореЗрдВ рдЪрд┐рддреНрд░ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдпреВрдЖрд░рдПрд▓ред


рдЖрдИрдбреАрдИ рдПрдХреАрдХрд░рдг


рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕рднреА рдЖрдИрдбреАрдИ рдореЗрдВ рдорд╛рд╡реЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред

рдиреЗрдЯрдмреАрдиреНрд╕ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рдПрдХ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╣реИ, рд╕реВрдЪреА рдореЗрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:


IntelliJ рдореЗрдВ рдЖрдИрдбрд┐рдпрд╛ рдХреЛ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╕реЗ рднреА рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ:

рд▓реЗрдХрд┐рди рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:


рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА


рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рдкреБрд░рд╛рд▓реЗрдЦ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреБрдЫ рднреА рд╣реЛ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ рдпрд╛ рдкреНрд░рд▓реЗрдЦрди, рдЬреЛ рдЕрдм рддрдХ рдХреЗрд╡рд▓ рд░реВрд╕реА рдореЗрдВ рд╣реИ:

рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдШрдЯрдирд╛рдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦреЗрдЧрд╛ред

рдЦреИрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдореБрдЭреЗ GitHub рдкрд░ рдХрд╛рдВрдЯрд╛!

Source: https://habr.com/ru/post/In130419/


All Articles