Go
Π Π΅Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Go Π½Π° GitVerse ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Go-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ zip-Π°ΡΡ ΠΈΠ²Ρ
Π ΡΠΎΡΡΠ°Π²Π΅ Π°ΡΡ
ΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ@Π²Π΅ΡΡΠΈΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ@Π²Π΅ΡΡΠΈΡ-timestamp-commit hash, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ pkg-example1@v1.0.0 ΠΈΠ»ΠΈ pkg-example1@v2.1.0-20230520120000-8a3d2e1f7b11.
C ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ zip-Π°ΡΡ ΠΈΠ²Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° go ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ https://go.dev/ref/mod#zip-files.
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ:
ΠΌΠΎΠ΄ΡΠ»ΡΠ΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Go, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ;Π²Π΅ΡΡΠΈΡΠ΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π° Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ;timestampΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π°ΡΡ ΠΈΠ²Π°;commit hashΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Ρ ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ: Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π°ΡΡ ΠΈΠ²Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ΄Π°Π»ΡΡΡ Π²ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΠΎΠ², Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ;
- ΡΡΠ½ΠΎΡΡΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°;
- ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ: ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ:
go-package/
βββ main.go
βββ internal/
β βββ utils.go
β βββ server.go
βββ cmd/
βββ app/
βββ main.goΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠ»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π² Π½Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ Π½Π° Π²Π°ΡΠΈ:
curl --user Π²Π°Ρ_username:Π²Π°Ρ_ΡΠΎΠΊΠ΅Π½ \ --upload-file ΠΏΡΡΡ/ΠΊ/ΡΠ°ΠΉΠ»Ρ.zip \ https://gitverse.ru/api/packages/Π²Π°Ρ_username/go/uploadΠΡΠΈΠΌΠ΅Ρ:
curl --user author2:73630ec71155c3014bcc50ca5b63e8cc8440ed8f --upload-file calculator-v1.0.0.zip https://gitverse.ru/api/packages/author2/go/uploadΠ ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠ°ΠΊΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ:

Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°:
