개요 및 주요사항
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관련 주요사항을 정리하면 아래와 같습니다.
UX-Studio에서 HTML5메뉴를 이용하여 컴파일하는 방법은 변함이 없습니다.
실제 Local Compile 실행모듈 파일명은 XHTML5Compiler.exe입니다.
UX-Studio에서 컴파일을 실행하면 실제 컴파일은 UX-Studio가 아니라 XHTML5Compiler.exe가 합니다.
단, XHTML5Compiler.exe는 UXStudio92.exe가 위치한 폴더, 즉 “C:\Program Files\TOBESOFT\XPLATFORM\9.2\”와 동일한 위치에 있어야만 UX-Studio에서 컴파일을 실행할 수 있습니다.
Compile된 파일들이 위치할 폴더는 UX-Studio > Tools > Options > HTML5 > Compiled Path에서 설정합니다.
컴파일 된 파일명은 기존 Server Compile방식과 동일 합니다.
단, 컴파일 된 결과물 *.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파일들, 컴파일 시 파일명 변경 없음 |
XHTML5Compiler.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의 옵션 사용 예
특정 XADL파일로 프로젝트를 전체 컴파일 하는 경우
구분 | 사용 예 |
---|---|
경우 예 | "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\… … |
특정 XADL파일로 프로젝트를 전체 컴파일 해야 하지만, 컴파일 하는 XADL파일은 프로젝트에서 추가로 생성하였기 때문에 프로젝트 명도 변경해야 하는 경우
구분 | 사용 예 |
---|---|
경우 예 | "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\… … |
특정 XADL파일로 프로젝트를 전체 컴파일 해야 하지만, 컴파일 하는 XADL파일이 프로젝트의 루트 경로에 존재하지 않는 경우
구분 | 사용 예 |
---|---|
경우 예 | 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파일을 기준으로 해당 프로젝트의 특정 서비스 경로만 컴파일 하는 경우
단, 서비스를 지정한 경우 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파일을 기준으로 해당 프로젝트의 특정 파일만 컴파일 하는 경우
단, 특정 파일을 지정한 경우 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 |
특정 XADL파일을 기준으로 해당 프로젝트의 특정 테마만 컴파일 하는 경우
구분 | 사용 예 |
---|---|
경우 예 | "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\... … |