Build4Dコンポーネントの最新版が GitHub で公開されました。以前のブログでは、コンパイル済みのプロジェクトやコンポーネント、そしてスタンドアロンアプリケーションの可能性について説明しました。
今回は、クライアント/サーバーアプリケーション用のスクリプトを作成し、継続的インテグレーション・ツールと簡単に統合できるようになりました。
その方法を紹介します。
なにができるのか?
Build4D はクライアント/サーバーアプリケーションを生成するために 2つのクラスを提供します: クライアントクラスとサーバークラスです。そのため、異なるパラメーターを使えば、あらゆる組み合わせが可能です。
生成できるのは:
- macOS および/または Windows のクライアント
- macOS および/または Windows の自動アップデート用クライアントアーカイブ、
- macOS および/または Windows のサーバー。
例題
以下は、統合されたクライアントを持つ Windowsサーバーを作成する方法の簡単な例です:
ステップ1: クライアントとクライアントアーカイブの作成
以下は、クライアントアプリケーションとクライアントアーカイブの作成方法の簡単な例です。
var $build : cs.Build4D.Client
var $settings; $archive : Object
var $success : Boolean
$settings:={}
// 外部の .4DProjectファイルを定義します
$settings.projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")
// 4D Volume Desktop のパスを定義します
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop.app")
// または
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop")
// アプリケーションを設定します
$settings.buildName:="myApp"
$settings.destinationFolder:="Test/Client/"
// アプリケーションアイコンを追加します
$settings.iconPath:="/RESOURCES/myIcon.icns"
// または
$settings.iconPath:="/RESOURCES/myIcon.ico"
// アプリケーションの情報を追加します
$settings.versioning:={}
$settings.versioning.version:="version"
$settings.versioning.copyright:="copyright"
$settings.versioning.companyName:="companyName"
// macOS アプリケーションの場合は署名します
$settings.signApplication:={}
$settings.signApplication.macSignature:=True
$settings.signApplication.macCertificate:="xxxxxx" // キーチェーンの署名番号
// クライアントアプリケーションを生成します
$build:=cs.Build4D.Client.new($settings)
$success:=$build.build()
// クライアントアーカイブを生成します
$archive:=$build.buildArchive()
ステップ2: クライアントを統合したサーバーの作成
上の例題のようにクライアントアーカイブを作成した後、サーバーアプリケーションを作成する際に、macOSClientArchive属性と winClientArchive属性を使用して、すでに作成したクライアントアーカイブへのパスを渡すことができます。
以下は、クライアントアーカイブを持つサーバーアプリケーションを作成する例です。
var $build : cs.Build4D.Server
var $settings : Object
var $success : Boolean
$settings:={}
// 外部の .4DProjectファイルを定義します
$settings.projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")
// アプリケーションを設定します
$settings.buildName:="myApp"
$settings.destinationFolder:="Test/Server/"
// 4D Server のパスを定義します
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server.app")
// または
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server")
// アプリケーションアイコンを追加します
$settings.iconPath:="/RESOURCES/myIcon.icns"
// または
$settings.iconPath:="/RESOURCES/myIcon.ico"
// アプリケーションの情報を追加します
$settings.versioning:={}
$settings.versioning.version:="version"
$settings.versioning.copyright:="copyright"
$settings.versioning.companyName:="companyName"
// クライアントアーカイブを追加します
$settings.macOSClientArchive:="...macOS Archive のパス..."
$settings.windowsClientArchive:="...win Archive のパス..."
// OEMパートナーの運用ライセンスファイルを生成します
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")
$settings.xmlKeyLicense:=Folder(fk licenses folder).file("XXXXX.license4D")
// macOS アプリケーションの場合は署名します
$settings.signApplication:={}
$settings.signApplication.macSignature:=True
$settings.signApplication.macCertificate:="xxxxxx"
// キーチェーンの署名番号
// ビルドを開始します
$build:=cs.Build4D.Server.new($settings)
$success:=$build.build()
次は…
この新しい可能性についての更なる情報については、ドキュメントを参照ください!