10.XPLATFORM HTML5의 컴파일

10.1개요 및 주요사항

2012년 2월 패치버전부터 컴파일 속도 개선을 위하여 Server Compile방식이 Local Compile방식으로 변경되었습니다. 즉, 기존에는 Server에서 컴파일 되었지만 2012년 2월 패치버전부터는 Client(PC)에서 컴파일 됩니다. 기존 Server Compile방식에서는 UX-Studio에서 Compile 할 *.xadl, *.xfdl등을 Server로 전송하고, Server Compile모듈이 전송된 파일들을 컴파일하여 *.js파일들을 Server에 생성하였습니다. 하지만, 변경된 Local Compile방식에서는 UX-Studio에서 Local Compile모듈인 XHTML5Compiler.exe를 호출하고 이 모듈이 *.xadl, *.xfdl등을 컴파일하여 *.js파일들을 Client에 생성합니다. Local Compile 된 파일명은 기존 Server Compile방식의 파일명과 동일합니다.

Local Compile관련 주요사항을 정리하면 아래와 같습니다.

단, XHTML5Compiler.exe는 UXStudio92.exe가 위치한 폴더, 즉 “C:\Program Files\TOBESOFT\XPLATFORM\9.2\”와 동일한 위치에 있어야만 UX-Studio에서 컴파일을 실행할 수 있습니다.

단, 컴파일 된 결과물 *.js등은 Client에 저장되므로 WebServer에서 실행 가능한 위치로 수동으로 옮겨야 합니다. 만일, WebServer가 Client에서 동작된다면 UX-Studio에서 결과물 위치를 WebServer경로로 지정하면 됩니다. 향후 이 부분은 자동화할 예정입니다.

컴파일 할 파일

컴파일 된 파일

설명


LaunchProject.jsp

WebBrowser에서 실행할 최초 HTML파일


QuickView.jsp

QuickView시 동작될 HTML파일

*.xadl

*.xadl.js

ADL파일

*.xadl.debug.js

Debugging용 ADL파일

/Service /*.xfdl

/Service /*.xfdl.js

FDL(화면)파일

/Service/*. xfdl. debug.js

Debugging용 FDL(화면)파일

__theme__/…/*.css

__theme__/…/*.css.js

Theme의 css파일

__theme__/…/*.png,…

__theme__/…/*.png,…

Image파일들, 컴파일 시 파일명 변경 없음

10.2XHTML5Compiler.exe 사용법

XHTML5Compiler.exe는 아래표의 옵션을 이용하여 콘솔에서 직접 실행할 수도 있습니다.

XHTML5Compiler.exe의 옵션

아래 옵션은 입력 순서와 무관하게 사용할 수 있습니다.

옵션

설명

-A

(ADL)

컴파일 되는 프로젝트의 XADL 파일의 경로를 지정하는 옵션입니다.

※ 이 옵션은 반드시 입력해야 합니다.

-O

(Output)

컴파일 된 결과 파일들이 저장될 경로를 지정하는 옵션입니다.

'-O' 옵션으로 입력된 경로가 존재하지 않는 경우에는 컴파일 과정 중에 자동으로 생성됩니다.

※ 이 옵션은 반드시 입력해야 합니다.

-P

(Project)

컴파일 되는 프로젝트 이름을 지정하는 옵션입니다.

'-P' 옵션으로 입력된 이름은 '-O' 옵션의 입력값에 추가로 적용되어 컴파일 된 파일이 저장될 위치를 결정하게 됩니다.

만약 '-P' 옵션을 입력하지 않았다면 '-A'로 입력된 XADL파일명으로 자동 지정됩니다.

-R

(RootPath)

컴파일 되는 프로젝트의 루트 경로를 지정하는 옵션입니다.

프로젝트 전체 컴파일을 수행하는 경우 '-R'로 입력된 경로를 기준으로 컴파일 대상 파일들을 검색하게 됩니다. 그리고 컴파일 된 결과 파일들의 저장 경로 역시 '-R'로 입력된 경로를 기준으로 '-O'옵션의 상대 경로에 저장 됩니다.

만약 '-R' 옵션을 입력하지 않았다면 '-A'로 입력된 XADL파일의 경로로 자동 지정됩니다.

※ '-R' 옵션의 입력값은 반드시 '-A'로 입력되는 XADL파일의 경로와 동일하거나 상위 경로로 입력헤야 합니다

-AO

(XADL Only)

컴파일 되는 프로젝트의 XADL만 컴파일 할 경우에 사용되는 옵션입니다.

'-A' 옵션으로 입력된 XADL 파일만을 컴파일 합니다.

※ '-AO' 옵션은 컴파일 추가 옵션으로 '-S', '-F', '-T' 옵션과 병행하여 사용할 수 없습니다.

-S

(ServiceID)

컴파일 되는 프로젝트의 특정 서비스 경로만을 컴파일 할 경우에 사용되는 서비스명 옵션입니다. '-S'로 입력되는 서비스명은 반드시 TypeDefinition에 정의된 서비스ID만을 사용할 수 있습니다.

※ '-S' 옵션은 컴파일 추가 옵션으로 '-AO', '-F', '-T' 옵션과 병행하여 사용할 수 없습니다.

-F

(Files)

컴파일 되는 프로젝트 내의 특정 파일들만을 컴파일 하는 경우에 사용되는 옵션입니다. ',' 또는 ' '로 구분하여 파일을 복수 입력할 수 있습니다.

※ ‘-F’ 옵션은 컴파일 추가 옵션으로 '-AO', '-S', '-T' 옵션과 병행하여 사용할 수 없습니다.

-T

(Themes ID)

컴파일 되는 프로젝트 내의 특정 테마 파일들만을 컴파일 하는 경우에 사용되는 옵션입니다.

',' 또는 ' '로 구분하여 테마 ID를 복수 입력할 수 있습니다.

※ '-T' 옵션은 컴파일 추가 옵션으로 '-AO', '-S', '-F' 옵션과 병행하여 사용할 수 없습니다.

-L

(Log)

컴파일 진행 과정을 로그파일로 저장하는 옵션입니다.

'-L' 옵션을 사용한 경우에는 컴파일 소요시간이 다소 늘어날 수 있습니다

-H

(Help)

XHTML5Compiler.exe에서 지원되는 옵션을 알려주는 도움말 옵션입니다.

도움말은 콘솔창에서만 출력됩니다.

※ '-H' 옵션은 모든 옵션에 우선하여 적용되기 때문에 다른 옵션과 병행하여 사용할 경우 컴파일 동작은 수행되지 않습니다

XHTML5Compiler.exe의 옵션 사용 예

구분

사용 예

경우 예

"C:\TestCompile\TestCompile.xadl" 파일을 기준으로 해당 프로젝트를 컴파일하여 "E:\ResultCompile"로 출력한다

콘솔입력

XHTML5Compiler.exe -P "TestCompile" -R "C:\TestCompile" -A "C:\TestCompile\TestCompile.xadl" -O "E:\ResultCompile"

출력결과

E:\ResultCompile\TestCompile\LaunchProject.jsp

E:\ResultCompile\TestCompile\QuickView.jsp

E:\ResultCompile\TestCompile\TestCompile.xadl.js

E:\ResultCompile\TestCompile\TestCompile.xadl.debug.js

E:\ResultCompile\TestCompile\_theme\…

E:\ResultCompile\TestCompile\Base\…

구분

사용 예

경우 예

"C:\TestCompile\TestCompile2.xadl" 파일을 기준으로 해당 프로젝트를 컴파일하여 "E:\ResultCompile"로 출력한다

단 프로젝트는 위와 동일한 "TestCompile"이다

콘솔입력

XHTML5Compiler.exe -P "TestCompile" -R "C:\TestCompile" -A "C:\TestCompile\TestCompile2.xadl" -O "E:\ResultCompile"

출력결과

E:\ResultCompile\TestCompile\LaunchProject.jsp

E:\ResultCompile\TestCompile\QuickView.jsp

E:\ResultCompile\TestCompile\TestCompile2.xadl.js

E:\ResultCompile\TestCompile\TestCompile2.xadl.debug.js

E:\ResultCompile\TestCompile\_theme\…

E:\ResultCompile\TestCompile\Base\…

구분

사용 예

경우 예

C:\TestCompile\ChildDir\TestCompile3.xadl" 파일을 기준으로 해당 프로젝트를 컴파일하여 "E:\ResultCompile"로 출력한다

콘솔입력

XHTML5Compiler.exe -P "TestCompile" -R "C:\TestCompile" -A "C:\TestCompile\ChildDir\TestCompile3.xadl" -O "E:\ResultCompile"

출력결과

E:\ResultCompile\TestCompile\ChildDir\LaunchProject.jsp

E:\ResultCompile\TestCompile\ChildDir\QuickView.jsp

E:\ResultCompile\TestCompile\ChildDir\TestCompile3.xadl.js

E:\ResultCompile\TestCompile\ChildDir\TestCompile3.xadl.debug.js

단, 서비스를 지정한 경우 XADL, TypeDefinition, GlobalVariables등 프로젝트 정보는 컴파일 하지 않습니다.

구분

사용 예

경우 예

"C:\TestCompile\TestCompile.xadl" 파일을 기준으로 해당 프로젝트의 "Base" 서비스만 컴파일하여 "E:\ResultCompile"로 출력한다

콘솔입력

XHTML5Compiler.exe -P "TestCompile" -R "C:\TestCompile" -A "C:\TestCompile\TestCompile.xadl" -S "Base" -O "E:\ResultCompile"

출력결과

E:\ResultCompile\TestCompile\Base\…

단, 특정 파일을 지정한 경우 XADL, TypeDefinition, GlobalVariables등 프로젝트 정보는 컴파일 하지 않습니다.

구분

사용 예

경우 예

"C:\TestCompile\TestCompile.xadl" 파일을 기준으로 해당 프로젝트의 "Base/form1.xfdl"만 컴파일하여 "E:\ResultCompile"로 출력한다

콘솔입력

XHTML5Compiler.exe -P "TestCompile" -R "C:\TestCompile" -A "C:\TestCompile\TestCompile.xadl" -F "C:\TestCompile\Base\form1.xfdl" -O "E:\ResultCompile"

출력결과

E:\ResultCompile\TestCompile\Base\form1.xfdl.js

E:\ResultCompile\TestCompile\Base\form1.xfdl.debug.js

구분

사용 예

경우 예

"C:\TestCompile\TestCompile.xadl" 파일을 기준으로 해당 프로젝트의 "Default.xtheme"만 컴파일하여 "E:\ResultCompile"로 출력한다

콘솔입력

XHTML5Compiler.exe -P "TestCompile" -R "C:\TestCompile" -A "C:\TestCompile\TestCompile.xadl" -T "Default.xtheme" -Q "70432" -O "E:\ResultCompile"

출력결과

E:\ResultCompile\TestCompile\_theme_\Default\theme.css

E:\ResultCompile\TestCompile\_theme_\Default\theme.css.js

E:\ResultCompile\TestCompile\_theme_\Default\images\...