INTSourceChangelist:3356804 Availability: Public Title: BuildGraph 스크립트 엘리먼트 Crumbs: Description:BuildGraph 의 엘리먼트에 대해 알아봅니다. version: 4.13 parent:Programming/Development/BuildGraph type:Reference tags:Programming tags:BuildGraph [VAR:TopicCompact] [OBJECT:TopicCompact] [PARAM:image] ![%Programming/Development/BuildGraph/ScriptAnatomy/Elements%](elements_topic.png) [/PARAM] [PARAM:icon] ![](%ROOT%/reference_icon.png)(convert:false) [/PARAM] [PARAM:title] %Programming/Development/BuildGraph/ScriptAnatomy/Elements:title% [/PARAM] [PARAM:description] %Programming/Development/BuildGraph/ScriptAnatomy/Elements:description% [/PARAM] [PARAM:path] [RELATIVE:Programming/Development/BuildGraph/ScriptAnatomy/Elements] [/PARAM] [/OBJECT] [/VAR] [TOC(start:1 end:2)] [EXCERPT:BuildGraphScriptElements] BuildGraph 스크립트는 XML 로 작성합니다. 여기서는 BuildGraph 스크립트에서 찾을 수 있는 데이터 유형과 아울러 전체적인 구조체에 대해 알아봅니다. ## 엘리먼트 엘리먼트(element)는 그 안에 포함된 데이터의 설명으로, BuildGraph 스크립트의 기본 구성 요소 중 하나입니다. 다음 표는 메타데이터로 제공되는 항목으로, 빌드 시스템에서 실행할 때 익스포트되는 것입니다. 로컬에서 태스크를 실행할 때 BuildGraph 에 직접 사용되지는 않지만, `[META]` 태그가 붙습니다. ## 그래프 구조체 BuildGraph 스크립트는 보통 다음 엘리먼트로 정의됩니다: * `` 노드 * `` 어그리게이트 * `` 에이전트 * `` 트리거 ### 노드 `` 노드는 BuildGraph 의 가장 작은 실행 단위로, 입력과 출력 세트를 갖습니다. 각 `` 는 순서대로 실행되는 태스크 시퀀스로 이루어집니다. | 어트리뷰트 | 유형 | 필수 | 설명 | | ---------------- | ------------ | ------------ | ---------------- | | Name | Name | 필수 | 노드 이름입니다. | | Requires | Target List | 옵션 | 다른 노드에서 만들어진 노드, 어그리게이트, 태그 붙은 파일 세트의 세미콜론 구분 목록으로, 이 노드의 실행에 필요합니다. | | Produces | Tag List | 옵션 | 이 노드가 다른 노드에 사용할 수 있도록 만든 태그 붙은 파일 세트를 세미콜론으로 구분한 것입니다. | | After | Target List | 옵션 | 이 노드가 다음에 실행시켜야 하는 노드 목록으로, 현재 대상의 일부인 경우에만 실행합니다 (아니면 무시합니다). 세미콜론으로 구분합니다. | | NotifyOnWarnings | Boolean | 옵션 | false 면 이 노드는 경고시 알림 신호를 냅니다. 빌드 시스템에만 사용됩니다. 기본값은 `true` 입니다. `[META]` | | If | Condition | 옵션 | 평가할 조건입니다. 조건 평가가 `true` 로 나오지 않는 한 엘리먼트는 무시됩니다. | ### 어그리게이트 `` 는 다른 노드의 세트 (또는 생성된 태그 세트)에 대한 동의어로 사용될 수 있는 네임드 어그리게이트를 선언합니다. | 어트리뷰트 | 유형 | 필수 | 설명 | | | ---------------- | ------------ | ------------ | -------------- | | Name | Name | 필수 | 어그리게이트 이름입니다. | | Requires | Target List | 필수 | 이 어그리게이트의 종속성 목록입니다. 노드, 태그 붙은 파일 세트, 에이전트 그룹이 될 수 있습니다. | | If | Condition | 옵션 | 평가할 조건입니다. 조건이 `true` 로 평가되지 않는 한 엘리먼트는 무시됩니다. | ### 에이전트 `` 는 (중간 디렉터리를 지우지 않고) 시퀀스로 실행될 노드의 에이전트 요건을 정의합니다. `` 요건은 로컬에서 빌드할 때는 무시되지만, 반드시 지정해야 합니다. | 어트리뷰트 | 유형 | 필수? | 설명 | | ---------------- | --------------- | ------------ | ----------- | | Name | Name | 필수 | 그룹 이름입니다. | | Type | Identifier List | 옵션 | 에이전트를 실행시킬 유형입니다. 이 스트링의 뜻은 호스트 빌드 시스템이 추론하며, 고유 의미를 갖지는 않습니다. `[META]` | | If | Condition | 옵션 | 평가할 조건입니다. 조건이 `true` 로 평가되지 않는 한 엘리먼트는 무시됩니다. | ### 트리거 `` 는 사용자 직접 개입으로만 실행시켜야 하는 그래프 부분에 대한 컨테이너 역할을 합니다. 트리거 이후 노드를 실행하려면, 명령줄에 `-Trigger=` 을 전달합니다. | 어트리뷰트 | 유형 | 필수? | 설명 | | ---------------- | --------------- | ------------ | ------------------ | | Name | Name | 필수 | 트리거 이름입니다. | | If | Condition | 옵션 | 평가할 조건입니다. 조건이 `true` 로 평가되지 않는 한 엘리먼트는 무시됩니다. | ## 프로퍼티 조작 BuildGraph 프로퍼티는 다음 엘리먼트로 변경할 수 있습니다: * `` 프로퍼티 * `