Dumplings 함수 사용하기
실행 컨텍스트
이 모듈 함수들은 PowerShell 7.4 이상(pwsh)에서 실행하세요. PackageModule과 Core는 Windows PowerShell 5.1을 지원하지 않습니다.
Core는 태스크 스크립트를 실행하기 전에 Preference.yaml에 선언된 PackageModule 및 PowerShell 모듈을 로드합니다. Tasks/*/Script.ps1에 Import-Module 호출을 추가하지 마세요.
독립 실행형 저장소 셸에서 필요한 외부 모듈과 PackageModule을 로드하세요.
Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1
이전 태스크 예제가 현재 메타데이터와 다른 경우 Get-Command <Name> -Syntax를 사용하여 매개변수를 확인하세요. 함수는 로드된 다른 PackageModule 파일에 의존할 수 있습니다. 해당 함수의 구현을 복사하지 말고 재사용하세요.
일반적인 가져오기는 구현 모듈을 재사용합니다. 개발 중에는 . .\Modules\PackageModule\Index.ps1 -Reload로 변경된 소스를 다시 로드하세요. 데이터 복사에는 Copy-Object를, 구조적 동등성 확인에는 Test-ObjectValueEqual을 사용하세요. 복사는 날짜, 스크립트블록, 명시적 null 및 중첩된 빈 배열을 보존합니다. 삭제 가능한 .NET 리소스는 복제할 수 없습니다.
함수 그룹
- 네트워킹 읽기 - GitHub API 호출, URI 구성, 리디렉션, 헤더, 응답 디코딩 및 임베디드 JSON.
- 파일 및 아카이브 읽기 - 캐시 다운로드, 임시 경로 및 제한된 아카이브 추출.
- 콘텐츠 및 데이터 읽기 - 텍스트 정규화, HTML 텍스트 투영, 인코딩, INI/XML 변환, 리스트 및 시간 변환.
- 업데이트 피드 읽기 - 호출자가 이미 검색한 Squirrel 및 electron-builder 피드 문자열.
- 브라우저 액세스 읽기 - 범위가 지정된 Playwright 임대 및 분리된 브라우저 결과.
- 외부 모듈 읽기 - PowerHTML 및 powershell-yaml 명령.
현재 작업에 필요한 그룹만 읽으세요. $analyze-winget-installer는 제품군별 파서 API에, $author-winget-manifest는 매니페스트 필드에, $author-dumplings-task는 태스크 수명 주기 및 소스 레시피에 사용하세요.
사용 규칙
공유 도우미를 재사용하고 해당 도우미의 소유권 및 정리 계약을 따르세요. PackageTask 설치 프로그램 다운로드는 $this.InstallerFiles에 등록하세요. 함수가 달리 명시하지 않는 한 독립 실행형 호출자는 임시 리소스를 소유합니다.
버전 없는 패키지 소스의 경우, 직접 프로브, 해시 및 게시 브랜치를 구성하는 것보다 PackageTask의 CheckInstallerUpdates/CompleteInstallerUpdates 워크플로를 선호하세요. 버전 없는 태스크 계약에서 유효성 검사기, 항목별 재정의, 콜백 소유권 및 레거시 상태 매핑을 읽으세요. 이러한 메서드는 다운로드를 자동으로 등록하고 확인된 해시 증거를 보존합니다.
브라우저 임대는 짧게 유지하고 분리된 값만 반환하세요. 범위가 지정된 도우미가 반환된 후에는 페이지, 로케이터, 응답 또는 브라우저 객체를 절대 보유하지 마세요. 다운로드한 설치 프로그램을 호스트에서 절대 실행하지 마세요.