概要
nexacroで作成したアプリケーションは、Generate機能によってすべてJavaScriptとCSSファイルとして生成されます。生成されたアプリは、OSにインストールされたWebブラウザで実行することもでき、NREで実行することができます。
nexacro studioで生成したプロジェクトは、メニューの[Generate]、[Deploy]を使用してコードを変換(Generate)、配布するための準備状態になります。ただし、プロジェクトの規模が大きくて、自動化されたビルドシステムを使用する場合には、「nexacrodeploy.exe」ツールを使って変換、配布作業を自動化することができます。
Nexacro Deployの種類
用途に応じて以下の2種類のNexacro Deployをご利用できます。
Nexacro Deploy JAVAは、日本国内ではリリースされていません。
nexacrodeploy.exe | Nexacro Deploy JAVA | |
---|---|---|
配布方法 | nexacro studioのインストール時に一緒にインストールされる | jarファイルで別途配布 |
システム要件 | nexacro studioのシステム要件と同様 | JDK 1.8.0_131以上 環境変数「JAVA_HOME」の設定 |
実行ファイル名 | Tools\nexacrodeploy.exe | bin\start.bat bin\start.sh |
必須で指定するオプション
下記の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] | 作業を実行するプロジェクトのパスを指定します。 |
-O [ARG] | Generateされたファイルが保存されるOutputパスを指定します。 指定されたパスが存在しない場合、自動的にパスを生成します。 |
-B [ARG] | Generateに必要なライブラリファイルがあるパスを指定します。 |
-O(-D)oオプションで指定したパスにGenerate(Deploy)されたファイルは作業対象を指定するオプションを変更したり、Projectよりファイルを削除した後にGenerate(Deploy)を実行しても削除されません。必要に応じてユーザーが直接ファイルを削除する必要があります。
nexacro studioのProject Explorerより直接ファイルを削除したり、ファイル名を変更した場合にはOuputパスに生成されたファイルも削除されたり、ファイル名が変更されます。該当の機能はNexacro Deployの機能ではなく、nexacro studioの機能です。
CSS Ruleオプション
21.0.0.1500以上のバージョンのnexacro studioをインストールした後、-Bオプションで21.0.0.1500 未満のバージョンのライブラリを設定している場合には、CSS Ruleオプションを設定する必要があります。
オプション | 説明 |
---|---|
-CSSRULE | CSS Ruleファイルがあるパスを指定します。 オプションを設定していない場合はNexacro DeployのCSS Rule(1.3)が適用されます。 |
SDKのインストール時のCSS Ruleのパスの初期値は以下の通りです。
C:\Program Files (x86)\NEXAWEB\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...] | ジェネレートするファイルのパスのリストを指定します。 ジェネレートするTheme IDを指定します。 複数の入力時に「,」(Comma)または'「;」(Semicolon)で区切ります。 全ファイルのリストは、「"」(ダブルクォーテーション)で囲み、それぞれのファイルは、「'」(シングルクォーテーション)で囲んで入力する必要があります。 |
-SERVICE [ARG...] | Generateするサービスprefix IDリストを指定します。 複数入力時、「,」(Comma)もしくは「;」(Semicolon)に区分します。 |
-BOOTSTRAP [ARG...] | Bootstrapファイルを作成するOSを指定します。 複数の入力時に「,」(Comma)または'「;」(Semicolon)で区切ります。 |
-MODULE | モジュールファイルのみジェネレートするときに使用します。 |
-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ファイルをジェネレートする場合、ジェネレートする特定のWebBrowserを別途指定します。 複数の入力時に「,」(Comma)または'「;」(Semicolon)で区切ります。 注意:nexacroでサポートするブラウザ以外の値を指定することはできません。 |
-UNARCHIVE | ブートストラップファイルをアーカイブしません。 |
-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
Chrome
Firefox
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オプションを指定しない場合、すべてのブラウザをサポートするためのファイルを作成します。
現在iosのブートストラップファイルであるRun.zipでのみアーカイブせず、Run.htmlに生成します。
-BROWSERオプションの設定の際に各項目の間に空白文字は入力しません。
(X) -BROWSER "NRE, Internet Explorer 11"
(O) -BROWSER "NRE,Internet Explorer 11"
DEPLOYオプション
オプション | 説明 |
---|---|
-D [ARG] | Deployされたファイルが保存されるOutputパスを指定します。 指定されたパスが存在しない場合、自動的にパスを作成します。 このオプションを使用する場合、deployまで進みます。 「-O」に入力されたパスと同じパスを使用することができません。 |
-MERGE | Json Moduleに定義されたJavaScriptファイルを1つのファイルにまとめて生成します。 |
-COMPRESS | Deploy時にJS FileのCompressを実行します。 |
-SHRINK | 変数名を難読化します。 eval構文を含む関数は、難読化しません。 |
-IGNORECOMPRESS [ARG] | Compressせずに処理する必要があるリストが保存されている.ignorecompressファイルのパスを指定します。 注意:このオプションを使用するためには、「-COMPRESS」オプションを先に使用する必要があります。 |
-IGNOREEVAL | eval関数に関係なく、難読化機能を実行します。(推奨しません。) 注意:このオプションを使用するためには、「-SHRINK」オプションを先に使用する必要があります。 |
-COMPILE | NREで使用する暗号化されたファイルに変換します。 注意:このオプションを使用した結果物は、NREでのみ使用可能です。 |
-PRJURL [ARG] | AppをロードするProject URLを指定します。 注意:iOS/iPad専用のオプションです。 |
その他のオプション
オプション | 説明 |
---|---|
-L [ARG] | 進行状況を保存するログファイルのパスを指定します。 指定されたパスが存在しない場合、自動的にルートを生成します。 ログファイルの生成時に実行時間が増加することがあります。 |
-H | -? | -HELP | Nexacro Deployコマンドのヘルプを提供します。 |
使用例
使用例はnexacrodeploy.exeで作成しました。Nexacro Deploy JAVAの場合は実行ファイル名(start.bat、start.sh)を置き換えてご利用ください。
Generate
Application全体をジェネレートする場合
「C:\TestGenerate\TestGenerate.xadl」ファイルを基準にApplicationをジェネレートして「E:\ResultGenerate」フォルダの下に生成します。
アプリの実行に必要なファイルを生成します。(NREやWebブラウザの実行環境以外のブートストラップファイルは生成しません。)
-Bに指定したBaseLibパスを参照してジェネレートします。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib"
特定ファイルのみジェネレートする場合
-FILEオプションに指定した「C:\TestGenerate\aa.xfdl」ファイルのみジェネレートして「E:\ResultGenerate」フォルダの下に生成します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -FILE "C:\TestGenerate\aa.xfdl"
Theme IDを指定して該当IDを持つテーマファイルをジェネレートします。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -FILE "theme::default"
n個のファイルをジェネレートして、「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"
モジュールファイルのみジェネレートする場合
「C:\TestGenerate\nexacrolib」のモジュールファイルの使用中の項目のみジェネレートして「E:\ResultGenerate」フォルダの下に生成します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -MODULE
ブートストラップファイルのみジェネレートする場合
アプリの実行に必要なすべてのOSのBootstrapファイルをジェネレートして「E:\ResultGenerate」フォルダの下に生成します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -BOOTSTRAP
ブートストラップファイルをジェネレートして、アーカイブしない場合(iOS)
アプリの駆動に必要なすべてのOSのブートストラップファイルをジェネレートして、「E:\ResultGenerate」フォルダの下に生成します。ただし、Run.zipファイルではなく、Run.htmlファイルを生成します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -BOOTSTRAP -UNARCHIVE
Deploy
Application全体をデプロイする場合
-Oオプションに指定したパスにジェネレートを実行した後、-Dパスにデプロイを処理します。
-Oオプションに指定したパスで実行されるジェネレートは、すべてのジェネレートオプションが適用されます。(-R, -BROWSERなど)
-Dオプションに指定したパスでデプロイされるファイルは、-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)ファイルに対してコメントと空白を削除した1ライン状態のコードに圧縮します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS
Script(JS)ファイルに対してコメントと空白を削除した1ライン状態のコードに圧縮しながら変数の難読化を実行します。ただし、eval関数の構文がある関数内の変数は、難読化しません。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -SHRINK
Script(JS)ファイルに対してコメントと空白を削除した1ライン状態のコードに圧縮しながら変数の難読化を実行します。関数内にeval関数があっても無視して実行します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPRESS -SHRINK -IGNOREEVAL
Script(JS)ファイルに対してコメントと空白を削除した1ライン状態のコードに圧縮を実行します。
「.ignorecompress」ファイルにて、指定されたjsファイルは圧縮を実行しません。
「.ignorecompress」ファイルはnexacro studioのOptionsメニューの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オプションを指定する場合
デプロイされたファイルは、NREの実行専用コードで圧縮を実行します。該当ファイルは通常のテキストエディタで読み取ることができないようにエンコードされて生成されます。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -D "E:\ResultDeploy" -COMPILE
その他
ジェネレート結果をログファイルに保存する場合
「C:\TestGenerate\TestGenerate.xprj」ファイルを基準にApplicationをジェネレートして「E:\ResultGenerate」フォルダの下に生成して、ログの内容を「C:\Log.txt」ファイルで保存します。
nexacrodeploy.exe -P "C:\TestGenerate\TestGenerate.xprj" -O "E:\ResultGenerate" -B "C:\TestGenerate\nexacrolib" -L "C:\log.txt"