BuildGraph 스크립트 엘리먼트

BuildGraph 엘리먼트에 대해 알아봅니다.

Windows
MacOS
Linux

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 프로퍼티는 다음 엘리먼트로 변경할 수 있습니다:

  • 프로퍼티

  • 환경변수

프로퍼티

는 프로퍼티의 값을 설정합니다. 외부 영역의 프로퍼티가 이미 같은 이름으로 선언된 경우, 로 덮어씁니다. 그렇지 않은 경우, 현재 영역에 새로운 프로퍼티를 선언합니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

설정할 프로퍼티 이름입니다.

Value

String

필수

프로퍼티에 대한 새 값입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

옵션

어트리뷰트

유형

필수?

설명

Name

Name

필수

옵션의 값으로 초기화시킬 옵션(과 프로퍼티) 이름입니다.

Description

String

필수

BuildGraph 에 -ListOnly 인수를 붙여 실행하면 표시되는 옵션에 대한 설명입니다.

Restrict

Regex

옵션

이 옵션의 유효 값에 일치하는 정규표현식입니다 (예: [a-zA-Z]+, `true

false`).

DefaultValue

String

필수

사용자가 명시적으로 설정하지 않은 경우의 옵션 기본값입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

환경변수

는 환경 변수의 내용( 또는 설정되지 않은 경우 빈 스트링)을 담는 프로퍼티를 선언합니다. 는 전체 영역에서만 나타납니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

프로퍼티로 도입할 환경 변수 이름입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

흐름 제어

BuildGraph 스크립트의 흐름을 제어할 수 있는 엘리먼트는 다음과 같습니다:

Include

는 다른 BuildGraph 스크립트의 내용을 이 파일 안에 나타난 것처럼 처리합니다. 는 전체 영역에서만 나타날 수 있습니다.

어트리뷰트

유형

필수?

설명

Script

String

필수

포함시키고자 하는 스크립트로의 (현재 스크립트 기준 상대) 경로입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

Do

는 엘리먼트 시퀀스를 그룹으로 묶어 조건이 true 로 평가되는 경우에만 처리합니다.

어트리뷰트

유형

필수?

설명

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

Switch

C 의 switch 문과 비슷한데, 브랜치의 시퀀스에 있는 조건을 평가하고, true 로 평가되는 조건이 있는 첫 번째 문을 처리합니다.

예제 문:

<Switch>
    <Case If=X>
        <Elements go here>
    </Case>
    <Case If=Y>
        <Elements go here>
    </Case>
    <Default>
        <Elements go here>
    </Default>
</Switch>

어트리뷰트

유형

필수?

설명

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

ForEach

는 엘리먼트의 본문을 목록 내 세미콜론으로 구분된 각 항목에 할당된 프로퍼티 값으로 확장시킵니다.

예제 문:

<ForEach Name="Counter" Values="1;2;3;4;5">
    <Log Message="Counter=$(Counter)"/>
</ForEach>

어트리뷰트

유형

필수?

설명

Name

Name

필수

목록 내 각 값에 할당할 프로퍼티입니다.

Values

String List

필수

세미콜론으로 구분되는 값 목록입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

진단

BuildGraph 스크립트에 대한 진단을 할 수 있는 엘리먼트는 다음과 같습니다:

  • 경고

  • 오류

경고

은 그래프 실행 전 경고 메시지를 출력합니다. 은 노드, 에이전트, 트리거, 전체 영역에 포함시킬 수 있습니다. 은 실행중인 대상으로 추려낸(trim down) 이후에도 그래프의 일부인 경우에만 출력을 제공할 것입니다.

어트리뷰트

유형

필수?

설명

Message

String

필수

로그에 출력할 텍스트입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

오류

는 오류 메시지를 출력합니다. 는 노드, 에이전트, 트리거, 전체 영역에 포함시킬 수 있습니다. 는 실행중인 대상으로 추려낸(trim down) 이후에도 그래프의 일부인 경우에만 출력을 제공할 것입니다.

어트리뷰트

유형

필수?

설명

Message

String

필수

로그에 출력할 텍스트입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼