개요
넥사크로로 작성한 앱은 모두 자바스크립트와 CSS 파일로 생성됩니다. 생성된 앱은 운영체제에 설치된 웹브라우저에서 실행할 수도 있고 NRE로 실행할 수 있습니다.
넥사크로 스튜디오에서 생성한 프로젝트는 메뉴[Generate], [Deploy]를 통해 코드를 변환(Generate)하고 배포하기 위한 준비 상태로 만들어집니다. 하지만 프로젝트의 규모가 크고 자동화된 빌드 시스템을 사용하는 경우에는 Nexacro Deploy를 사용해 변환, 배포 작업을 자동화할 수 있습니다.
Nexacro Deploy 종류
용도에 따라 적절한 Nexacro Deploy를 선택해 사용할 수 있습니다.
nexacrodeploy.exe | Nexacro Deploy JAVA | |
---|---|---|
배포 방식 | 넥사크로 스튜디오와 같이 설치 | jar 파일 형태로 별도 배포 |
시스템 요구사항 | 넥사크로 스튜디오와 같음 | JDK 1.8.0_131 이상 설치 JAVA_HOME 환경 변수 설정 필요 |
실행 파일명 | Tools\nexacrodeploy.exe | bin\start.bat bin\start.sh |
Nexacro Deploy JAVA 제약 사항
nexacrodeploy.exe에서 제공하는 일부 기능을 Nexacro Deploy JAVA에서는 지원하지 않을 경우 제약 사항으로 기재합니다. 1.0.10 기준으로는 제약 사항이 없습니다.
Nexacro Deploy JAVA 릴리스 정보
Nexacro Deploy JAVA 릴리스 정보는 릴리스 노트 - Nexacro Deploy JAVA를 참고하세요.
옵션
필수로 지정하는 옵션
아래 3개의 옵션은 필수로 지정해주어야 합니다.
nexacrodeploy.exe -P [ARG] -O [ARG] -B [ARG] start.bat -P [ARG] -O [ARG] -B [ARG] start.sh -P [ARG] -O [ARG] -B [ARG]
옵션 | 설명 |
---|---|
-P [ARG] | 작업을 수행할 프로젝트의 XPRJ 파일 경로를 지정합니다. |
-O [ARG] | Generate된 파일이 저장될 Output 경로를 지정합니다. 지정된 경로가 존재하지 않는 경우 자동으로 경로를 생성합니다. |
-B [ARG] | Generate에 필요한 라이브러리 파일들이 있는 경로를 지정합니다. |
-O(-D) 옵션으로 지정한 경로에 Generate(Deploy)된 파일은 작업 대상을 지정하는 옵션을 변경하거나 프로젝트에서 파일을 삭제한 후 Generate(Deploy)를 실행하더라도 삭제되지 않습니다. 필요한 경우 작업자가 직접 파일을 삭제해주어야 합니다.
넥사크로 스튜디오 Project Explorer에서 직접 파일을 삭제하거나 파일명을 변경한 경우에는 Ouputs 경로에 생성된 파일도 삭제되거나 파일명이 변경됩니다. 해당 기능은 Nexacro Deploy 기능이 아니라 넥사크로 스튜디오에서 지원하는 기능입니다.
CSS Rule 옵션
21.0.0.1500 이상 버전 넥사크로 스튜디오 설치 후 -B 옵션에 21.0.0.1500 미만 버전 라이브러리를 설정한 경우에는 CSS Rule 옵션을 설정해야 합니다.
옵션 | 설명 |
---|---|
-CSSRULE | CSS Rule 파일이 있는 경로를 지정합니다. 옵션을 설정하지 않은 경우 Nexacro Deploy의 CSS Rule(1.3)이 적용됩니다. |
SDK 설치 시 기본 CSS Rule 경로는 아래와 같습니다.
C:\Program Files (x86)\tobesoft\Nexacro N\SDK\21.0.0\generate
-B 옵션에 설정된 라이브러리의 cssruleversion 값보다 낮은 버전의 CSS Rule을 설정할 수 있습니다.
라이브러리의 cssruleversion 값보다 높은 버전의 CSS Rule을 설정한 경우에는 Generate가 실패하고 에러 메시지가 출력됩니다.예를 들어 -B 옵션으로 21.0.0.1500 미만 버전 라이브러리를 설정하고 -CSSRULE 옵션을 설정하지 않은 경우 스타일 관련 파일의 Generate가 실패하고 에러 메시지가 출력됩니다.
-CSSRULE version does not match the base library version (1.3).
작업 대상 파일을 선택할때 지정하는 옵션
아래 옵션을 지정하지 않은 경우에는 프로젝트 내 모든 파일을 대상으로 작업을 진행합니다.
옵션 | 설명 |
---|---|
-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를 수행합니다. |
-DEFER | Bootstrap 파일 생성 시 Script 태그 내 defer 속성을 설정합니다. |
-SPLASH | Bootstrap 파일 생성 시 Splash Loader를 표시하기 위한 스크립트 포함 여부를 설정합니다. |
-BROWSER 옵션으로 지정할 수 있는 항목은 아래와 같습니다.
NRE
Nexacro Browser (deprecated)
Internet Explorer 11
Internet Explorer 10
Internet Explorer 9
Internet Explorer 8
Chrome
Firefox
Opera
Safari
NRE와 IE11을 지정한다면 아래와 같이 작성합니다.
nexacrodeploy.exe -P -O -B -BROWSER "NRE,Internet Explorer 11" start.bat -P -O -B -BROWSER "NRE,Internet Explorer 11" start.sh -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/iPad 운영체제 전용 옵션입니다. |
기타 옵션
옵션 | 설명 |
---|---|
-L [ARG] | 진행 과정을 저장할 로그 파일의 경로를 지정합니다. 지정된 경로가 존재하지 않는 경우 자동으로 경로를 생성합니다. 로그 파일 생성시 수행 시간이 증가할 수 있습니다. |
-H | -? | -HELP | Nexacro Deploy 명령어에 관한 도움말을 제공합니다. |
사용 예제
사용 예제는 nexacrodeploy.exe 기준으로 작성했습니다.
Generate
Application 전체를 Generate 하는 경우
"C:\TestGenerate\TestGenerate.xprj" 파일을 기준으로 Application을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
앱 실행에 필요한 파일을 생성합니다(NRE나 웹브라우저 실행 환경 외의 부트스트랩 파일은 생성하지 않습니다).
-B로 지정한 BaseLib 경로를 참조하여 Generate 합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib"
특정 파일만 Generate 하는 경우
-FILE 옵션으로 지정한 C:\TestGenerate\aa.xfdl 파일만 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -FILE "C:\TestGenerate\aa.xfdl"
Theme ID를 지정하여 해당 ID를 가지는 테마 파일을 Generate 합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -FILE "theme::default"
n개 파일을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -FILE "'C:\TestGenerate\aa.xfdl','C:\TestGenerate\bb.xfdl','C:\TestGenerate\cc.xfdl'"
특정 서비스만 Generate 하는 경우
-SERVICE 옵션으로 지정한 Base 서비스에 해당하는 파일만 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -SERVICE "Base"
n개 서비스를 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -SERVICE "Base,FrameBase"
모듈 파일만 Generate 하는 경우
"C:\TestGenerate\nexacrolib" 의 모듈 파일 중 사용중인 항목들만 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -MODULE
부트스트랩 파일만 Generate 하는 경우
앱 구동에 필요한 모든 운영체제의 Bootstrap 파일을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -BOOTSTRAP
부트스트랩 파일을 Generate 하고 아카이브하지 않는 경우 (iOS 운영체제)
앱 구동에 필요한 모든 운영체제의 Bootstrap 파일을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성합니다. 단, Run.zip 파일이 아닌 Run.html 파일을 산출물로 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -BOOTSTRAP -UNARCHIVE
Deploy
Application 전체를 Deploy 하는 경우
-O 옵션으로 지정한 경로에 Generate를 수행한 후 -D 경로에 Deploy를 처리합니다.
-O 옵션으로 지정한 경로에 수행되는 Generate는 모든 Generate 옵션이 적용됩니다. (-R, -BROWSER 등)
-D 옵션으로 지정한 경로에 Deploy 되는 파일들은 -O 경로의 파일들을 소스로 처리합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy"
Module Merge 옵션을 지정하는 경우
nexacrolib 내의 JS 파일들을 각각의 JSON 이름을 가지는 하나의 JS 파일로 생성합니다.
Framework 폴더 내의 Framework.json 파일 내부에 include된 JS 파일을 모두 합쳐서 Framework.json 파일로 생성합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -MERGE
Compress 옵션을 지정하는 경우
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축하면서 변수의 난독화를 같이 수행합니다. 단 eval 함수 구문이 있는 함수 내의 변수들은 난독화 수행하지 않습니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -SHRINK
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축하면서 변수의 난독화를 같이 수행합니다. 함수내에 eval 함수가 있어도 무시하고 수행합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -SHRINK -IGNOREEVAL
Script(JS) 파일에 대해서 주석과 공백을 제거한 1Line 상태의 코드로 압축을 수행합니다.
".ignorecompress" 파일에 지정된 js 파일은 압축을 수행하지 않습니다.
".ignorecompress" 파일은 넥사크로 스튜디오 Compress 옵션에서 [Ignore compress files] 설정 시 자동으로 생성됩니다. 직접 작성할 경우 ".ignorecompress" 파일은 xprj 파일과 같은 경로에 위치해야 하며 아래와 같이 XML 파일로 설정해야 합니다.
Compress 시 제외할 js 확장자를 가지는 파일을 각각 Output 경로 기준으로 작성합니다(폴더만 설정하면 정상적으로 동작하지 않습니다).
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -IGNORECOMPRESS "C:\TestGenerate\.ignorecompress"
<?xml version="1.0" encoding="utf-8"?> <CompressConfigue version="1.0"> <IgnoreCompress> <File path=".\Service0\test01.js"/> <File path=".\Service0\test02.js"/> </IgnoreCompress> </CompressConfigue>
Compile 옵션을 지정하는 경우
Deploy된 파일들은 NRE 실행 전용 코드로 압축을 수행합니다. 해당 파일은 일반 텍스트 편집기에서 읽을 수 없게 인코딩되어 생성됩니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPILE
기타
Generate 결과를 로그 파일로 저장하는 경우
"C:\TestGenerate\TestGenerate.xprj" 파일을 기준으로 Application을 Generate 하여 "E:\ResultGenerate" 폴더 아래에 생성하고 로그 내용을 "C:\Log.txt" 파일로 저장합니다.
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -L "C:\log.txt"