рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░

рдПрдХрддрд╛ рд╣реЗ рдПрдХ рд╡реНрдпрд╛рд╕рдкреАрда рдЖрд╣реЗ рдЬреЗ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдЖрд╣реЗ рдЖрдгрд┐ рд╕рддрдд рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛, рддрд░реАрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд░реЛрдд (.cs), рд▓рд╛рдпрдмреНрд░рд░реА (.dll) рдЖрдгрд┐ рдЗрддрд░ рдорд╛рд▓рдорддреНрддрд╛ (рдЗрдореЗрдЬ, рдзреНрд╡рдиреА, рдореЙрдбреЗрд▓, рдкреНрд░реАрдлреЕрдм) рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдгреА рдпреЗрдК рд╢рдХрддрд╛рдд. рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА рдпреБрдирд┐рдЯреАрд╕рд╛рдареА рдЕрд╢рд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдореВрд│ рдирд┐рд░рд╛рдХрд░рдг рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЖрдордЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ.

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░

рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рддрд░рдг рдкрджреНрдзрддреА

рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреЗ рддреНрдпрд╛рдЪреЗ рдлрд╛рдпрджреЗ рдЖрдгрд┐ рддреЛрдЯреЗ рдЖрд╣реЗрдд.

1. рдбреБрдкреНрд▓рд┐рдХреЗрд╢рди - "рд╣рд╛рддрд╛рдиреЗ" рдЖрдореНрд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╕рдВрд╕рд╛рдзрдиреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рддреЛ.

рд╕рд╛рдзрдХ:

  • рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА рдпреЛрдЧреНрдп.
  • рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реАрдд.
  • рдорд╛рд▓рдорддреНрддрд╛ GUID рд╕рд╣ рдХреЛрдгрддреАрд╣реА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА.

рдмрд╛рдзрдХ

  • рдорд╣рд╛рдХрд╛рдп рднрд╛рдВрдбрд╛рд░.
  • рд╡реНрд╣рд░реНрдЬрдирд┐рдВрдЧрд╕рд╛рдареА рдкрд░реНрдпрд╛рдп рдирд╛рд╣реА.
  • рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдмрджрд▓ рдЯреНрд░реЕрдХ рдХрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдг.
  • рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЗ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдг.

2. Git submodules - рдмрд╛рд╣реНрдп рд╕рдмрдореЙрдбреНрдпреВрд▓рджреНрд╡рд╛рд░реЗ рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╡рд┐рддрд░рдг.

рд╕рд╛рдзрдХ:

  • рдЖрдкрдг рд╕реНрддреНрд░реЛрддрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛.
  • рддреБрдореНрд╣реА рдорд╛рд▓рдорддреНрддрд╛ рд╡рд┐рддрд░реАрдд рдХрд░реВ рд╢рдХрддрд╛.
  • рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реАрдд.

рдмрд╛рдзрдХ

  • Git рдХреМрд╢рд▓реНрдп рдЖрд╡рд╢реНрдпрдХ.
  • Git рдмрд╛рдпрдирд░реА рдлрд╛рдпрд▓реАрдВрд╕рд╣ рдлрд╛рд░ рдЕрдиреБрдХреВрд▓ рдирд╛рд╣реА - рддреБрдореНрд╣рд╛рд▓рд╛ LFS рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
  • рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдВрддреНрд░рдг.
  • рдЕрдкрдЧреНрд░реЗрдб рдЖрдгрд┐ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдг.
  • GUID рдЯрдХреНрдХрд░ рд╢рдХреНрдп рдЖрд╣реЗрдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреБрдирд┐рдЯреАрдХрдбреВрди рдХреЛрдгрддреЗрд╣реА рдЕрд╕реНрдкрд╖реНрдЯ рд╡рд░реНрддрди рдирд╛рд╣реА.

3. NuGet - NuGet рдкреЕрдХреЗрдЬреЗрд╕рджреНрд╡рд╛рд░реЗ рд╕рд╛рдорд╛рдпрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреЗ рд╡рд┐рддрд░рдг.

рд╕рд╛рдзрдХ:

  • рдпреБрдирд┐рдЯреАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╣ рд╕реЛрдпреАрд╕реНрдХрд░ рдХрд╛рдо.
  • рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╡реГрддреНрддреА рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди.

рдмрд╛рдзрдХ

  • рдпреБрдирд┐рдЯреАрд▓рд╛ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ NuGet рдкреЕрдХреЗрдЬреЗрд╕рд╕рд╣ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рд╛рд╡реЗ рд╣реЗ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА (рддреБрдореНрд╣реА рдЧрд┐рдЯрд╣рдмрд╡рд░ рдпреБрдирд┐рдЯреАрд╕рд╛рдареА NuGet рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╢реЛрдзреВ рд╢рдХрддрд╛, рдЬреЗ рдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдд рдмрд╛рд░рдХрд╛рд╡реЗ рдЖрд╣реЗрдд).
  • рдЗрддрд░ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдорд╛рд▓рдорддреНрддреЗрдЪреЗ рд╡рд┐рддрд░рдг рдХрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдгреА.

4. рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ - рдпреБрдирд┐рдЯреА рд╕рд╛рдареА рдиреЗрдЯрд┐рд╡реНрд╣ рд╕реЛрд▓реНрдпреВрд╢рдирджреНрд╡рд╛рд░реЗ рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╡рд┐рддрд░рдг.

рд╕рд╛рдзрдХ:

  • рдкреЕрдХреЗрдЬрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореВрд│ рдЗрдВрдЯрд░рдлреЗрд╕.
  • GUID рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕рд╛рдВрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдкреЕрдХреЗрдЬреЗрд╕рдордзреНрдпреЗ .meta рдлрд╛рдЗрд▓реНрд╕ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдЯ рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг.
  • рдЖрд╡реГрддреНрддреА рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛.
  • рдпреБрдирд┐рдЯреА рд╕рд╛рдареА рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╡рд┐рддрд░рдг рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛.

рдмрд╛рдзрдХ

  • GUID рд╕рдВрдШрд░реНрд╖ рдЕрдЬреВрдирд╣реА рд╣реЛрдК рд╢рдХрддрд╛рдд.
  • рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдХреЛрдгрддреАрд╣реА рдХрд╛рдЧрджрдкрддреНрд░реЗ рдирд╛рд╣реАрдд.

рдирдВрддрд░рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдЪреЗ рддреЛрдЯреЗ рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдлрд╛рдпрджреЗ рдЖрд╣реЗрдд. рддрдерд╛рдкрд┐, рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рдХрдорддрд░рддреЗрдореБрд│реЗ рддреЗ рдЖрддрд╛ рдлрд╛рд░рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╛рд╣реА рдЖрдгрд┐ рдореНрд╣рдгреВрдирдЪ рдЖрдореНрд╣реА рддреНрдпрд╛рд╡рд░ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ.

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ (рдпрд╛рдкреБрдвреЗ UPM рдореНрд╣рдгреВрди рд╕рдВрджрд░реНрднрд┐рдд) рд╣реЗ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╕рд╛рдзрди рдЖрд╣реЗ. рд╣реЗ рдпреБрдирд┐рдЯреА 2018.1 рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ рдЖрдгрд┐ рддреЗ рдлрдХреНрдд рдпреБрдирд┐рдЯреА рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреАрдЬрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рд╣реЛрддреЗ. рддрдерд╛рдкрд┐, рдЖрд╡реГрддреНрддреА 2018.3 рдкрд╛рд╕реВрди рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди, рд╕рд╛рдиреБрдХреВрд▓ рдкреЕрдХреЗрдЬреЗрд╕ рдЬреЛрдбрдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ.

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░
рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕

рдкреЕрдХреЗрдЬреЗрд╕ рдкреНрд░рдХрд▓реНрдк рд╕реНрддреНрд░реЛрддрд╛рдВрдордзреНрдпреЗ (рдорд╛рд▓рдорддреНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рд╕рдВрдкрдд рдирд╛рд╣реАрдд. рддреЗ рд╡реЗрдЧрд│реНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдЖрд╣реЗрдд. %projectFolder%/Library/PackageCache рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдкрд░рд┐рдгрд╛рдо рдХрд░реВ рдирдХрд╛, рддреНрдпрд╛рдВрдЪрд╛ рдлрдХреНрдд рд╕реНрддреНрд░реЛрдд рдХреЛрдбрдордзреНрдпреЗ рдЙрд▓реНрд▓реЗрдЦ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдЖрд╣реЗ packages/manifest.json.

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдкреЕрдХреЗрдЬреЗрд╕

рдкреЕрдХреЗрдЬ рд╕реНрд░реЛрдд

UPM рдЕрдиреЗрдХ рдкреЕрдХреЗрдЬ рд╕реНрд░реЛрдд рд╡рд╛рдкрд░реВ рд╢рдХрддреЗ:

1. рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо.

рд╕рд╛рдзрдХ:

  • рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЧрддреА.
  • рдХреЛрдгрддреНрдпрд╛рд╣реА рддреГрддреАрдп рдкрдХреНрд╖ рд╕рд╛рдзрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.

рдмрд╛рдзрдХ

  • рдЖрд╡реГрддреНрддреАрдЪреА рдЬрдЯрд┐рд▓рддрд╛.
  • рдкреНрд░рдХрд▓реНрдкрд╛рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгрд╛рд▒реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдкреНрд░рд╡реЗрд╢ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

2. Git рднрд╛рдВрдбрд╛рд░.

рд╕рд╛рдзрдХ:

  • рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╣рд╡реА рдЖрд╣реЗ.

рдмрд╛рдзрдХ

  • рддреБрдореНрд╣реА UPM рд╡рд┐рдВрдбреЛрджреНрд╡рд╛рд░реЗ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рд╕реНрд╡рд┐рдЪ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА.
  • рд╕рд░реНрд╡ Git рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА.

3. npm рднрд╛рдВрдбрд╛рд░.

рд╕рд╛рдзрдХ:

  • UPM рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд▓рд╛ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЖрдгрд┐ рдЕрдзрд┐рдХреГрдд рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬрдЪреЗ рд╡рд┐рддрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рдмрд╛рдзрдХ

  • рд╕рдзреНрдпрд╛ "-preview" рд╡рдЧрд│рддрд╛ рдкреЕрдХреЗрдЬреЗрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рддреЗ.

рдЖрдореНрд╣реА рдЦрд╛рд▓реА UPM + npm рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкрд╛рд╣реВ. рд╣реЗ рдмрдВрдбрд▓ рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ рдХрд╛рд░рдг рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдкреЕрдХреЗрдЬ рдЖрд╡реГрддреНрддреНрдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЖрдгрд┐ рдореВрд│ UPM рдЗрдВрдЯрд░рдлреЗрд╕рд▓рд╛ рджреЗрдЦреАрд▓ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдорд░реНрдерди рджреЗрддреЗ.

рдПрдирдкреАрдПрдо рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдореНрд╣рдгреВрди, рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рд╡рд░реНрдбрд╛рд╕реАрдУ. рддреНрдпрд╛рдд рддрдкрд╢реАрд▓рд╡рд╛рд░ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг, рдЖрдгрд┐ рддреЗ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдХреНрд╖рд░рд╢рдГ рджреЛрди рдХрдорд╛рдВрдбреНрд╕ рд▓рд╛рдЧрддрд╛рдд.

рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯрдЕрдк

рдкреНрд░рдердо рдЖрдкрдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдиреЛрдб.рдЬреЗрдПрд╕.

рдПрдХ рдкреЕрдХреЗрдЬ рддрдпрд╛рд░ рдХрд░рд╛

рдкреЕрдХреЗрдЬ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд╛рдЗрд▓ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ package.json, рдЬреЗ рдпрд╛ рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрд╕рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рд╡рд░реНрдгрди рдХрд░реЗрд▓. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:

рдЖрдореНрд╣рд╛рд▓рд╛ рдкреЕрдХреЗрдЬ рдмрдирд╡рд╛рдпрдЪреЗ рдЖрд╣реЗ рддреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рд░реЗрдХреНрдЯрд░реАрд╡рд░ рдЬрд╛.

npm init рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛ рдЖрдгрд┐ рд╕рдВрд╡рд╛рджрд╛рджрд░рдореНрдпрд╛рди рдЖрд╡рд╢реНрдпрдХ рдореВрд▓реНрдпреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. рдирд╛рд╡рд╛рд╕рд╛рдареА, рд░рд┐рд╡реНрд╣рд░реНрд╕ рдбреЛрдореЗрди рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдирд╛рд╡ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, com.plarium.somepackage.
рдкреЕрдХреЗрдЬ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рд╕реЛрдпреАрд╕реНрдХрд░ рдкреНрд░рджрд░реНрд╢рдирд╛рд╕рд╛рдареА, package.json рдордзреНрдпреЗ displayName рдЧреБрдгрдзрд░реНрдо рдЬреЛрдбрд╛ рдЖрдгрд┐ рддреЗ рднрд░рд╛.

npm js-рдУрд░рд┐рдПрдВрдЯреЗрдб рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдлрд╛рдИрд▓рдордзреНрдпреЗ рдореБрдЦреНрдп рдЖрдгрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧреБрдгрдзрд░реНрдо рдЖрд╣реЗрдд рдЬреНрдпрд╛рдЪреА рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА, рдЬреНрдпрд╛рдЪрд╛ рдпреБрдирд┐рдЯреА рд╡рд╛рдкрд░ рдХрд░рдд рдирд╛рд╣реА. рдкреЕрдХреЗрдЬрдЪреЗ рд╡рд░реНрдгрди рдЕрдбрдХреВ рдирдпреЗ рдореНрд╣рдгреВрди рддреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ. рдлрд╛рдЗрд▓ рдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рд▓реА рдкрд╛рд╣рд┐рдЬреЗ:

  1. рдЖрдореНрд╣рд╛рд▓рд╛ рдкреЕрдХреЗрдЬ рдмрдирд╡рд╛рдпрдЪреЗ рдЖрд╣реЗ рддреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рд░реЗрдХреНрдЯрд░реАрд╡рд░ рдЬрд╛.
  2. npm init рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛ рдЖрдгрд┐ рд╕рдВрд╡рд╛рджрд╛рджрд░рдореНрдпрд╛рди рдЖрд╡рд╢реНрдпрдХ рдореВрд▓реНрдпреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. рдирд╛рд╡рд╛рд╕рд╛рдареА, рд░рд┐рд╡реНрд╣рд░реНрд╕ рдбреЛрдореЗрди рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдирд╛рд╡ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, com.plarium.somepackage.
  3. рдкреЕрдХреЗрдЬ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рд╕реЛрдпреАрд╕реНрдХрд░ рдкреНрд░рджрд░реНрд╢рдирд╛рд╕рд╛рдареА, package.json рдордзреНрдпреЗ displayName рдЧреБрдгрдзрд░реНрдо рдЬреЛрдбрд╛ рдЖрдгрд┐ рддреЗ рднрд░рд╛.
  4. npm js-рдУрд░рд┐рдПрдВрдЯреЗрдб рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдлрд╛рдИрд▓рдордзреНрдпреЗ рдореБрдЦреНрдп рдЖрдгрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧреБрдгрдзрд░реНрдо рдЖрд╣реЗрдд рдЬреНрдпрд╛рдЪреА рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА, рдЬреНрдпрд╛рдЪрд╛ рдпреБрдирд┐рдЯреА рд╡рд╛рдкрд░ рдХрд░рдд рдирд╛рд╣реА. рдкреЕрдХреЗрдЬрдЪреЗ рд╡рд░реНрдгрди рдЕрдбрдХреВ рдирдпреЗ рдореНрд╣рдгреВрди рддреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ. рдлрд╛рдЗрд▓ рдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рд▓реА рдкрд╛рд╣рд┐рдЬреЗ:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Unity рдЙрдШрдбрд╛ рдЖрдгрд┐ package.json рд╕рд╛рдареА рдПрдХ .meta рдлрд╛рдЗрд▓ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛ (Unity .meta рдлрд╛рдЗрд▓реНрд╕рд╢рд┐рд╡рд╛рдп рдорд╛рд▓рдорддреНрддрд╛ рдкрд╛рд╣рдд рдирд╛рд╣реА, рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬреЗрд╕ рдлрдХреНрдд рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЙрдШрдбрддрд╛рдд).

рдкреЕрдХреЗрдЬ рдкрд╛рдард╡рдд рдЖрд╣реЗ

рдкреЕрдХреЗрдЬ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛рд╡реА рд▓рд╛рдЧреЗрд▓: npm publish --registry *╨░╨┤╤А╨╡╤Б ╨┤╨╛ ╤Е╤А╨░╨╜╨╕╨╗╨╕╤Й╨░ ╨┐╨░╨║╨╡╤В╨╛╨▓*.

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░рджреНрд╡рд╛рд░реЗ рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ

рдпреБрдирд┐рдЯреА рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдкреЕрдХреЗрдЬ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд╛ manifest.json рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рд╕реНрддреНрд░реЛрддрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдПрдХ рдорд╛рд▓рдорддреНрддрд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ scopedRegistries рдЖрдгрд┐ рд╕реНрдХреЛрдк рдЖрдгрд┐ рд╕реНрддреНрд░реЛрддрд╛рдЪрд╛ рдкрддреНрддрд╛ рд╕реВрдЪрд┐рдд рдХрд░рд╛ рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреЛрдк рд╢реЛрдзрд▓реЗ рдЬрд╛рддреАрд▓.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "╨░╨┤╤А╨╡╤Б ╨┤╨╛ ╤Е╤А╨░╨╜╨╕╨╗╨╕╤Й╨░ ╨┐╨░╨║╨╡╤В╨╛╨▓",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. рдпреБрдирд┐рдЯреА рд╡рд░ рдЬрд╛ рдЖрдгрд┐ рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ рд╡рд┐рдВрдбреЛ рдЙрдШрдбрд╛ (рд╕рд╛рдиреБрдХреВрд▓ рдкреЕрдХреЗрдЬрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдЕрдВрдЧрднреВрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реЗ рдирд╛рд╣реА).
  3. рд╕рд░реНрд╡ рдкреЕрдХреЗрдЬреЗрд╕ рдирд┐рд╡рдбрд╛.
  4. рдЖрд╡рд╢реНрдпрдХ рдкреЕрдХреЗрдЬ рд╢реЛрдзрд╛ рдЖрдгрд┐ рддреЗ рдЬреЛрдбрд╛.

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░

рд╕реНрддреНрд░реЛрддрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдЖрдгрд┐ рдбреАрдмрдЧ рдХрд░рдгреЗ

рд╕реНрддреНрд░реЛрдд рдкреНрд░рдХрд▓реНрдкрд╛рд╢реА рдЬреЛрдбрд▓реЗ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкреЕрдХреЗрдЬрд╕рд╛рдареА.

рдкреЕрдХреЗрдЬреЗрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдбреАрдмрдЧрд┐рдВрдЧрдЪреА рд╡реНрдпрд╛рдкреНрддреА рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдд рдирд╛рд╣реА. рддрдерд╛рдкрд┐, рдпреБрдирд┐рдЯреАрдордзреАрд▓ рдкреЕрдХреЗрдЬреЗрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛, рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рддреНрд░реБрдЯреА рдЖрдврд│рд▓реНрдпрд╛рд╕ рдХрдиреНрд╕реЛрд▓рдордзреАрд▓ рддреНрд░реБрдЯреАрд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░реВрди рддреБрдореНрд╣реА IDE рд╡рд░ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА. рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдпреБрдирд┐рдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╡реЗрдЧрд│реНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕ рдореНрд╣рдгреВрди рдкрд╛рд╣рдд рдирд╛рд╣реА, рдХрд╛рд░рдг рдЕрд╕реЗрдВрдмреНрд▓реА рдбреЗрдлрд┐рдирд┐рд╢рди рд╡рд╛рдкрд░рддрд╛рдирд╛, рддреЗ рдПрдХрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рд╕реНрддреНрд░реЛрддрд╛рдВрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛, IDE рд╡рд░ рдХреНрд▓рд┐рдХ-рдереНрд░реВ рд╕рдВрдХреНрд░рдордг рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ.

рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬрд╕рд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреАрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░
рдХрд╛рд░реНрдпрд░рдд рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯрд╕рд╣ рдкреЕрдХреЗрдЬрдордзреВрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░

рдкреЕрдХреЗрдЬреЗрд╕рдЪреЗ рддрд╛рддрдбреАрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг

рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЬреЛрдбрд▓реЗрд▓реА рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬреЗрд╕ рдХреЗрд╡рд│ рд╡рд╛рдЪрдиреАрдп рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдкреЕрдХреЗрдЬ рдХреЕрд╢реЗрдордзреНрдпреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдпрд╛рд╕рд╛рдареА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рдкреЕрдХреЗрдЬ рдХреЕрд╢реЗрдордзреАрд▓ рдкреЕрдХреЗрдЬрд╡рд░ рдЬрд╛.

    рдпреБрдирд┐рдЯреА рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░

  2. рдЖрд╡рд╢реНрдпрдХ рдмрджрд▓ рдХрд░рд╛.
  3. рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдЖрд╡реГрддреНрддреА рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛ package.json.
  4. рдкреЕрдХреЗрдЬ рдкрд╛рдард╡рд╛ npm publish --registry *╨░╨┤╤А╨╡╤Б ╨┤╨╛ ╤Е╤А╨░╨╜╨╕╨╗╨╕╤Й╨░ ╨┐╨░╨║╨╡╤В╨╛╨▓*.
  5. UPM рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдкреЕрдХреЗрдЬ рдЖрд╡реГрддреНрддреА рджреБрд░реБрд╕реНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрд╡реГрддреНрддреАрд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛.

рдкреЕрдХреЗрдЬ рдЖрдпрд╛рдд рд╡рд┐рд░реЛрдз

рдкреЕрдХреЗрдЬреЗрд╕ рдЖрдпрд╛рдд рдХрд░рддрд╛рдирд╛, рдЦрд╛рд▓реАрд▓ GUID рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдЙрджреНрднрд╡реВ рд╢рдХрддрд╛рдд:

  1. рдкреЕрдХреЗрдЬ рд╣реЗ рдкреЕрдХреЗрдЬ рдЖрд╣реЗ. рдЬрд░, рдкреЕрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддрд╛рдирд╛, рдЕрд╕реЗ рдЖрдврд│реВрди рдЖрд▓реЗ рдХреА рдЖрдзреАрдЪ рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рд╕рдорд╛рди GUID рдЕрд╕рд▓реЗрд▓реА рдорд╛рд▓рдорддреНрддрд╛ рдЖрд╣реЗ, рддрд░ рдЖрдпрд╛рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬрдордзреВрди рдЬреБрд│рдгрд╛рд░реЗ GUID рдЕрд╕рд▓реЗрд▓реА рдорд╛рд▓рдорддреНрддрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЬреЛрдбрд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА.
  2. рдкреЕрдХреЗрдЬ рд╣рд╛ рдПрдХ рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ. рдЬрд░, рдПрдЦрд╛рджреЗ рдкреЕрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддрд╛рдирд╛, рдЕрд╕реЗ рдЖрдврд│реВрди рдЖрд▓реЗ рдХреА рдкреНрд░рдХрд▓реНрдкрд╛рдордзреНрдпреЗ рдЬреБрд│рдгрд╛рд░реЗ GUID рдЕрд╕рд▓реЗрд▓реА рдорд╛рд▓рдорддреНрддрд╛ рдЖрд╣реЗ, рддрд░ рдкреЕрдХреЗрдЬрдордзреАрд▓ рдорд╛рд▓рдорддреНрддрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЬреЛрдбрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд. рдорд╛рддреНрд░, рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рд▓рдорддреНрддрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рдорд╛рд▓рдорддреНрддрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рддреАрд▓.

рдкреНрд░рдХрд▓реНрдкрд╛рддреВрди рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рдорд╛рд▓рдорддреНрддрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ

рдпреБрдирд┐рдЯреА рдЦреБрд▓реА рдЕрд╕рддрд╛рдирд╛ рддреБрдореНрд╣реА рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреВрди рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рдорд╛рд▓рдорддреНрддрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬрддрди рдХреЗрд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рд▓рдорддреНрддреЗрддреАрд▓ рд▓рд┐рдВрдХреНрд╕ рдкреЕрдХреЗрдЬрдордзреАрд▓ рдорд╛рд▓рдорддреНрддрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреАрд▓.

рдорд╣рддреНрд╡рд╛рдЪреЗ: рдкреНрд░рдХрд▓реНрдкрд╛рдордзреВрди рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рдорд╛рд▓рдорддреНрддрд╛ рдХреЙрдкреА рдХрд░рддрд╛рдирд╛, рд╡рд░реАрд▓ рд╡рд┐рднрд╛рдЧрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдкреЕрдХреЗрдЬ-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрдШрд░реНрд╖ рд╣реЛрдИрд▓.

рд╡рд┐рд╡рд╛рджрд╛рдВрд╡рд░ рд╕рдВрднрд╛рд╡реНрдп рдЙрдкрд╛рдп

  1. рдЯрдХреНрдХрд░ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдорд╛рд▓рдорддреНрддрд╛ рдЖрдпрд╛рдд рдХрд░рддрд╛рдирд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордиреБрд╕рд╛рд░ GUID рдкреБрдиреНрд╣рд╛ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреЗ.
  2. рд╕рд░реНрд╡ рдорд╛рд▓рдорддреНрддрд╛ рдПрдХрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЬреЛрдбрдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рд╡рд┐рднрдХреНрдд рдХрд░рдгреЗ.
  3. рд╕рд░реНрд╡ рдорд╛рд▓рдорддреНрддреЗрдЪреЗ GUID рдЕрд╕рд▓реЗрд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рдкреЕрдХреЗрдЬреЗрд╕ рд╕рдмрдорд┐рдЯ рдХрд░рддрд╛рдирд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рд╛.

рдирд┐рд╖реНрдХрд░реНрд╖

UPM рд╣реЗ рдпреБрдирд┐рдЯреАрдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╡рд┐рддрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдирд╡реАрди рдЙрдкрд╛рдп рдЖрд╣реЗ рдЬреЗ рд╡рд┐рджреНрдпрдорд╛рди рдкрджреНрдзрддреАрдВрдирд╛ рдпреЛрдЧреНрдп рдкрд░реНрдпрд╛рдп рдЕрд╕реВ рд╢рдХрддреЗ. рд▓реЗрдЦрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╢рд┐рдлрд╛рд░рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд░рдгрд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рдЙрджреНрднрд╡рд▓реНрдпрд╛. рдЖрдореНрд╣реА рдЖрд╢рд╛ рдХрд░рддреЛ рдХреА рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдЙрдкрдпреБрдХреНрдд рд╡рд╛рдЯрддреАрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛