Nexacro Deploy

개요

넥사크로로 작성한 앱은 모두 자바스크립트와 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 하는 경우

nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib"

특정 파일만 Generate 하는 경우

nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -FILE "C:\TestGenerate\aa.xfdl" 
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -FILE "theme::default"
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 하는 경우

nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -SERVICE "Base" 
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -SERVICE "Base,FrameBase" 

모듈 파일만 Generate 하는 경우

nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -MODULE

부트스트랩 파일만 Generate 하는 경우

nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -BOOTSTRAP

부트스트랩 파일을 Generate 하고 아카이브하지 않는 경우 (iOS 운영체제)

nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate"  -B "C:\TestGenerate\nexacrolib" -BOOTSTRAP -UNARCHIVE

Deploy

Application 전체를 Deploy 하는 경우

nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy"

Module Merge 옵션을 지정하는 경우

nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -MERGE

Compress 옵션을 지정하는 경우

nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS
nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -SHRINK
nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -SHRINK -IGNOREEVAL
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 옵션을 지정하는 경우

nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPILE

기타

Generate 결과를 로그 파일로 저장하는 경우

nexacrodeploy.exe  -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -L "C:\log.txt"