개요
넥사크로플랫폼으로 작성한 앱은 모두 자바스크립트와 CSS 파일로 생성됩니다. 생성된 앱은 운영체제에 설치된 웹브라우저에서 실행할 수도 있고 NRE로 실행할 수 있습니다.
넥사크로 스튜디오에서 생성한 프로젝트는 메뉴[Generate], [Deploy]를 통해 코드를 변환(Generate)하고 배포하기 위한 준비 상태로 만들어집니다. 하지만 프로젝트의 규모가 크고 자동화된 빌드 시스템을 사용하는 경우에는 "nexacrodeploy17.exe" 도구를 사용해 변환, 배포 작업을 자동화할 수 있습니다.
필수로 지정하는 옵션
아래 3개의 옵션은 필수로 지정해주어야 합니다.
nexacrodeploy17.exe -P -O -B [args...]
옵션 | 설명 |
---|---|
-P [ARG] | 작업을 수행할 프로젝트의 XPRJ 파일 경로를 지정합니다. |
-O [ARG] | Generate된 파일이 저장될 Output 경로를 지정합니다. 지정된 경로가 존재하지 않는 경우 자동으로 경로를 생성합니다. |
-B [ARG] | Generate에 필요한 라이브러리 파일들이 있는 경로를 지정합니다. |
작업 대상 파일을 선택할때 지정하는 옵션
아래 옵션을 지정하지 않은 경우에는 프로젝트 내 모든 파일을 대상으로 작업을 진행합니다.
옵션 | 설명 |
---|---|
-FILE [ARG...] | Generate할 파일 경로 목록을 지정합니다. Generate할 Theme ID를 지정합니다. 복수 입력 시 ','(Comma) 또는 ';'(Semicolon)으로 구분합니다. 전체 파일 목록은 '"'(Double Quotation mark)로 감싸고 각각의 파일은 '''(Single Quotation mark)로 감싸서 입력되어야 합니다. |
-SERVICE [ARG...] | Generate할 서비스 prefix ID 목록을 지정합니다. 복수 입력 시 ','(Comma) 또는 ';'(Semicolon)으로 구분합니다. |
-BOOTSTRAP [ARG...] | Bootstrap 파일을 만들 OS를 지정합니다. 복수 입력 시 ','(Comma) 또는 ';'(Semicolon)으로 구분합니다. |
-MODULE | Module 파일들만 Generate할 때 사용합니다. |
-FILE, -SERVICE, -BOOTSTRAP, -MODULE 옵션을 지정하지 않은 경우 프로젝트와 관련된 모든 항목에 대해서 작업을 수행합니다.
-FILE 옵션으로 지정한 파일 중 XADL 파일이나 environment.xml 등 부트스트랩 파일에 영향을 미치는 파일이 있는 경우 부트스트랩 파일이 다시 생성될 수 있습니다.
-FILE, -BOOTSTRAP 옵션 지정 시 각 항목 사이에 공백문자가 없어야 합니다.
(X) -FILE "'C:\a.xfdl', 'C:\b.xfdl'
(O) -FILE "'C:\a.xfdl','C:\b.xfdl'
GENERATE 옵션
옵션 | 설명 |
---|---|
-REGENERATE | 파일 수정 여부와 상관 없이 모든 항목에 대하여 Generate를 수행합니다. 이 옵션이 없을 경우 수정된 이력이 없는 파일은 Generate를 수행하지 않습니다. |
-BROWSER [ARG...] | xcss, xtheme 파일을 Generate 할 때 Generate할 특정 WebBrowser를 별도로 지정합니다. 복수 입력시 ','(Comma) 또는 ';'(Semicolon)으로 구분합니다. 주의 : Nexacro에서 지원되는 Browser 이외의 값은 지정할 수 없습니다. |
-UNARCHIVE | Bootstrap 파일을 archive하지 않습니다. |
-JSVERSION | Generate 시 적용할 스크립트 검증 규칙을 설정합니다. 옵션값을 지정하지 않는 경우 기본값은 "ECMAScript 2015"입니다. "ECMAScript 5" 또는 "ECMAScript 2015"를 선택할 수 있습니다. -JSVERSION 옵션 사용 시에는 파일 수정 여부와 상관 없이 관련된 항목에 대해 Regenerate를 수행합니다. |
-BROWSER 옵션으로 지정할 수 있는 항목은 아래와 같습니다.
NRE
Nexacro Browser (deprecated)
Internet Explorer 11
Internet Explorer 10
Internet Explorer 9
Internet Explorer 8
Chrome
Firefox
Opera
Safari
NRE와 IE11을 지정한다면 아래와 같이 작성합니다.
nexacrodeploy17.exe -P -O -B -BROWSER "NRE,Internet Explorer 11"
-BROWSER 옵션을 지정하지 않으면 모든 브라우저를 지원하기 위한 파일을 생성합니다.
현재는 -UNARCHIVE 옵션 사용 시 iOS 운영체제 bootstrap 파일인 Run.zip에 대해서만 archive하지 않고 Run.html로 생성합니다.
-BROWSER 옵션 지정 시 각 항목 사이에 공백문자가 없어야 합니다.
(X) -BROWSER "NRE, Internet Explorer 11"
(O) -BROWSER "NRE,Internet Explorer 11"
DEPLOY 옵션
옵션 | 설명 |
---|---|
-D [ARG] | Deploy 작업을 처리하고 생성한 파일을 저장할 경로를 지정합니다. 지정한 경로가 존재하지 않는 경우 자동으로 경로를 생성합니다. -O 옵션에서 지정한 경로와 같은 경로를 사용할 수 없습니다. |
-MERGE | JSON Module에 정의된 js파일들을 하나의 파일로 합쳐서 생성합니다. |
-COMPRESS | Deploy시 JS File에 대한 Compress를 수행합니다. |
-SHRINK | 변수명을 난독화합니다. eval 구문을 포함한 함수는 난독화가 수행되지 않습니다. |
-IGNORECOMPRESS [ARG] | Compress 하지 않고 처리되어야 하는 목록이 저장된 .ignorecompress 파일 경로를 지정합니다. 주의 : 이 옵션을 사용하기 위해서는 반드시 -COMPRESS 옵션과 함께 사용되어야 합니다. |
-IGNOREEVAL | eval 함수와 상관없이 난독화 기능을 수행합니다. (권장하지않음) 주의 : 이 옵션을 사용하기 위해서는 반드시 '-SHRINK' 옵션과 함께 사용되어야 합니다. |
-COMPILE | NRE에서 사용되는 암호화된 파일로 변환합니다. 주의 : 이 옵션을 사용한 결과물은 NRE에서만 사용 가능합니다. |
-PRJURL [ARG] | App을 Load할 Project URl을 지정 합니다. 주의 : IOS 전용 옵션입니다. |
모듈 프로젝트 DEPLOY 옵션
옵션 | 설명 |
---|---|
-PACKAGE | 모듈 디플로이 실행 시 옵션 맨 앞에 지정합니다. |
-NAME | 모듈명을 지정합니다. |
-VERSION | JSON 파일 버전을 지정합니다. |
-DESC | JSON 파일에 대한 설명을 입력합니다. |
기타 옵션
옵션 | 설명 |
---|---|
-L [ARG] | 진행 과정을 저장할 로그 파일의 경로를 지정합니다. 지정된 경로가 존재하지 않는 경우 자동으로 경로를 생성합니다. 로그 파일 생성시 수행 시간이 증가할 수 있습니다. |
-H | -? | -HELP | nexacrodeploy17.exe 명령어에 관한 도움말을 제공합니다. |
사용 예제
Generate
Application 전체를 Generate 하는 경우
"C:\TestGenerate\TestGenerate.xprj" 파일을 기준으로 Application을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
앱 실행에 필요한 파일을 생성합니다(NRE나 웹브라우저 실행 환경 외의 부트스트랩 파일은 생성하지 않습니다).
-B로 지정한 BaseLib 경로를 참조하여 Generate 합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib"
특정 파일만 Generate 하는 경우
-FILE 옵션으로 지정한 C:\TestGenerate\aa.xfdl 파일만 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -FILE "C:\TestGenerate\aa.xfdl"
Theme ID를 지정하여 해당 ID를 가지는 테마 파일을 Generate 합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -FILE "theme::default"
n개 파일을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -FILE "'C:\TestGenerate\aa.xfdl','C:\TestGenerate\bb.xfdl','C:\TestGenerate\cc.xfdl'"
특정 서비스만 Generate 하는 경우
-SERVICE 옵션으로 지정한 Base 서비스에 해당하는 파일만 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -SERVICE "Base"
n개 서비스를 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -SERVICE "Base,FrameBase"
모듈 파일만 Generate 하는 경우
"C:\TestGenerate\nexacro17lib" 의 모듈 파일 중 사용중인 항목들만 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -MODULE
부트스트랩 파일만 Generate 하는 경우
앱 구동에 필요한 모든 운영체제의 Bootstrap 파일을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -BOOTSTRAP
부트스트랩 파일을 Generate 하고 아카이브하지 않는 경우 (iOS 운영체제)
앱 구동에 필요한 모든 운영체제의 Bootstrap 파일을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다. 단, Run.zip 파일이 아닌 Run.html 파일을 산출물로 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -BOOTSTRAP -UNARCHIVE
Deploy
Application 전체를 Deploy 하는 경우
-O 옵션으로 지정한 경로에 Generate를 수행한 후 -D 경로에 Deploy를 처리합니다.
-O 옵션으로 지정한 경로에 수행되는 Generate는 모든 Generate 옵션이 적용됩니다. (-R, -BROWSER 등)
-D 옵션으로 지정한 경로에 Deploy 되는 파일들은 -O 경로의 파일들을 소스로 처리합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy"
Module Merge 옵션을 지정하는 경우
nexacro17lib 내의 JS 파일들을 각각의 JSON 이름을 가지는 하나의 JS 파일로 생성합니다.
Framework 폴더 내의 Framework.json 파일 내부에 include된 JS 파일을 모두 합쳐서 Framework.json 파일로 생성합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy" -MERGE
Compress 옵션을 지정하는 경우
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy" -COMPRESS
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축하면서 변수의 난독화를 같이 수행합니다. 단 eval 함수 구문이 있는 함수 내의 변수들은 난독화 수행하지 않습니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy" -COMPRESS -SHRINK
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축하면서 변수의 난독화를 같이 수행합니다. 함수내에 eval 함수가 있어도 무시하고 수행합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy" -COMPRESS -SHRINK -IGNOREEVAL
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축을 수행합니다. 단 ".ignorecompress" 파일에 지정된 js 파일은 압축을 수행하지 않습니다.
Ignore Compress 목록은 프로젝트 경로를 기준으로 output 파일의 상대경로를 지정해야 합니다 (js 파일만 지정할 수 있습니다)
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy" -COMPRESS -IGNORECOMPRESS "C:\TestGenerate\.ignorecompress"
Compile 옵션을 지정하는 경우
Deploy된 파일들은 NRE 실행 전용 코드로 압축을 수행합니다. 해당 파일은 일반 텍스트 편집기에서 읽을 수 없게 인코딩되어 생성됩니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -D "E:\ResultDeploy" -COMPILE
모듈 Deploy
넥사크로 스튜디오에서 모듈 프로젝트 관련 기능은 넥사크로플랫폼 17.1.0.100 이후 버전에서 지원하지 않는 기능입니다.
- Composite Component 프로젝트는 넥사크로 모듈 디벨로퍼(베타)에서 개발할 수 있습니다.
모듈 프로젝트를 xmodule 파일로 생성하는 경우
모듈 프로젝트를 지정한 NAME 옵션 파일명으로 xmodule 파일을 생성합니다.
nexacrodeploy17.exe -PACKAGE -P "C:\Test\ModuleTest.xprj" -O "E:\Result" -NAME "ModuleTest" -VERSION "1.0" -DESC "Module Deploy TEST"
기타
Generate 결과를 로그 파일로 저장하는 경우
"C:\TestGenerate\TestGenerate.xprj" 파일을 기준으로 Application을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성하고 로그 내용을 "C:\Log.txt" 파일로 저장합니다.
nexacrodeploy17.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacro17lib" -L "C:\log.txt"