Composer: 동적 νŒ¨ν‚€μ§€μ˜ Composer μ €μž₯μ†ŒλŠ” κ²€μƒ‰λœ νŒ¨ν‚€μ§€μ— λŒ€ν•œ λ§€κ°œλ³€μˆ˜λ₯Ό μˆ˜μ‹ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ?

에 λ§Œλ“  2016λ…„ 08μ›” 16일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: composer/composer

μ €λŠ” _Composer ν”„λ‘μ‹œ μ„œλΉ„μŠ€/리포지토리_λ₯Ό κ΅¬μΆ•ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€. λ―Έλ‹ˆ μ„œλΉ„μŠ€μ˜ μ•„μ΄λ””μ–΄λŠ” _WordPress_ API μ‘λ‹΅μ—μ„œ ν…Œλ§ˆ λ˜λŠ” ν”ŒλŸ¬κ·ΈμΈμ— λŒ€ν•œ μ–Έμ–΄/λ²ˆμ—­ νŒ¨ν‚€μ§€λ₯Ό λ™μ μœΌλ‘œ μ „λ‹¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ²½λ‘œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

 https://api.wordpress.org/translations/plugins/1.0/?slug={slug}&version={version}

_Nodejs_-μ„œλΉ„μŠ€ μžμ²΄λŠ” repository 의 composer.json 에 type:project repository 둜 μΆ”κ°€λ˜μ–΄μ•Ό ν•˜λŠ” ν”„λ‘μ‹œμ— type:project ν•©λ‹ˆλ‹€. μ„œλΉ„μŠ€ μžμ²΄λŠ” (λ™μ μœΌλ‘œ μƒμ„±λœ) packages.json 파일의 μΌλΆ€λ‘œ providers-url -keyλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

"providers-url" : "/" + request.params.scope + "/providers/%package%$%hash%.json"

예λ₯Ό λ“€μ–΄ λ‹€μŒ composer.json λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

{
    "name"              : "vendor/testproject",
    "type"              : "wordpress-project",
    "minimum-stability" : "dev",
    "repositories"      : [
        {
            "type" : "composer",
            "url"  : "https://{unique-ID}.ngrok.io/test"
        }
    ]
}

μ§€κΈˆκΉŒμ§€ /endpoint/packages.json λŒ€ν•œ μš”μ²­λ§Œ λ³Ό 수 μžˆμ§€λ§Œ λ§€κ°œλ³€μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. 이상적인 μ„Έκ³„μ—μ„œ ComposerλŠ” required νŒ¨ν‚€μ§€λ₯Ό 헀더 λ˜λŠ” 쿼리 λ§€κ°œλ³€μˆ˜λ‘œ λ³΄λƒ…λ‹ˆλ‹€.

μš”μ²­ν•œ νŒ¨ν‚€μ§€ type:{composer|vcs|…} μ–»κΈ° μœ„ν•΄ μ‹œμŠ€ν…œμ„ _fake_ ν•˜κΈ° μœ„ν•΄ μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  μ˜΅μ…˜μ„ 이미 μ‚΄νŽ΄λ³΄κ³  ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€. 이것을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ μ΅œμ†Œν•œ PR을 μˆ˜λ½ν•˜μ—¬ 이λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ _μ˜μ§€_κ°€ μžˆμŠ΅λ‹ˆκΉŒ? ν•΄λ‹Ή λ™μž‘μ„ ν™œμ„±ν™”ν•˜κΈ° μœ„ν•œ μΆ”κ°€ ν”Œλž˜κ·Έμ™€ ν•¨κ»˜?

_ν˜ΈμŠ€νŒ…λœ μ„œλΉ„μŠ€μ— λŒ€ν•œ μ°Έκ³  사항: notify-batch 및 request/require μ˜΅μ…˜μ„ μ‘°ν•©ν•˜μ—¬ 검색 및 μ‹€μ œλ‘œ κ°€μ Έμ˜¨ 리포지토리에 λŒ€ν•œ 일뢀 톡계λ₯Ό μˆ˜μ§‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 μ ‘κ·Ό 방식을 μ‚¬μš©ν•˜λ©΄ "μΊμ‹œ λŒ€μƒ" νŒ¨ν‚€μ§€λ₯Ό 훨씬 더 잘 νƒ€κ²ŸνŒ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€._

Feature

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것은 ν˜„μž¬λ‘œμ„œλŠ” κ°€λŠ₯ν•˜μ§€ μ•ŠμœΌλ©° ν•œλ™μ•ˆμ€ κ·ΈλŸ΄μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ v2.0μ—μ„œ ν’€ ν•­λͺ©μ„ λ¦¬νŒ©ν† λ§ν•˜λ©΄ 이λ₯Ό 달성할 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. μ§€κΈˆμ€ μ—΄μ–΄λ‘κ² μ§€λ§Œ 숨 μ°Έμ§€λ§ˆμ„Έμš” :)

λͺ¨λ“  3 λŒ“κΈ€

이것은 ν˜„μž¬λ‘œμ„œλŠ” κ°€λŠ₯ν•˜μ§€ μ•ŠμœΌλ©° ν•œλ™μ•ˆμ€ κ·ΈλŸ΄μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ v2.0μ—μ„œ ν’€ ν•­λͺ©μ„ λ¦¬νŒ©ν† λ§ν•˜λ©΄ 이λ₯Ό 달성할 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. μ§€κΈˆμ€ μ—΄μ–΄λ‘κ² μ§€λ§Œ 숨 μ°Έμ§€λ§ˆμ„Έμš” :)

@alcohol 이제 λ ˆμ΄λΈ”μ„ μ‘°μ •ν•  수

λ‚΄κ°€ μ‹€μ œλ‘œ 이런 일이 μΌμ–΄λ‚˜λŠ” 것을 보지 λͺ»ν•˜κΈ° λ•Œλ¬Έμ— λ‹«λŠ” 것은 metadata-url: "/p2/%package%.json" μˆ˜ν–‰ν•  수 있고 ν•„μš”ν•œ λͺ¨λ“  νŒ¨ν‚€μ§€κ°€ ν•˜λ‚˜λ‘œ 호좜될 κ²ƒμ΄λ―€λ‘œ v2 메타데이터(μžμ„Έν•œ λ‚΄μš©μ— 관심이 μžˆλŠ” 경우 νŠΈλž™ #8248)둜 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜λ‚˜μ”©λ§Œ λ°˜ν™˜ν•  수 μžˆμ§€λ§Œ λ‹€λ₯Έ νŒ¨ν‚€μ§€κ°€ μ•„λ‹Œ ν•΄λ‹Ή νŒ¨ν‚€μ§€ 이름에 λŒ€ν•œ λ°μ΄ν„°λ§Œ λ°˜ν™˜ν•  수 μžˆμœΌλ―€λ‘œ μ‹€μ œλ‘œ 도움이 될지 ν™•μ‹ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ–΄λŠ μ •λ„λŠ” μ¦‰μ„μ—μ„œ νŒ¨ν‚€μ§€λ₯Ό 생성할 수 μžˆμœΌλ―€λ‘œ foo/plugin-translations-en 에 ν”ŒλŸ¬κ·ΈμΈμ„ μš”κ΅¬ν•˜λ„λ‘ λ§Œλ“  λ‹€μŒ 항상 νŒ¨ν‚€μ§€λ₯Ό λ°˜ν™˜ν•˜μ—¬ 내뢀에 μœ νš¨ν•œ λ²ˆμ—­μ΄ μžˆκ±°λ‚˜ νŒ¨ν‚€μ§€κ°€ μ„€μΉ˜ κ°€λŠ₯ν•œμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. λ²ˆμ—­μ„ μ‚¬μš©ν•  수 μ—†λŠ” 경우 아무것도 μ„€μΉ˜ν•˜μ§€ μ•ŠλŠ” 빈 λ©”νƒ€νŒ¨ν‚€μ§€?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰