J2ObjC のビルド

要件

  • Apple Mac OS X システム
  • 最新バージョンの Xcode
  • JDK 11 がインストールされていること
  • Apache Maven
  • (推奨だが必須ではない)Google プロトコル バッファソース

Mac の設定

  • 次のコマンドを実行して、Xcode コマンドライン ツールをインストールします。
sudo xcode-select --install
  • .bash_profile に追加:
export JAVA_HOME=`/usr/libexec/java_home -v 11`

J2ObjC プロジェクトの Fork を作成する

J2ObjC プロジェクトをフォークするには、メインページを開き、[Fork] ボタンをクリックします。

Fork

GitHub アカウント名を選択すると、フォークが数秒で作成されます。

次に、フォークのコピーを開発用にローカル システムに複製します。まず、[クローンまたはダウンロード ボタン] をクリックしてから、[クリップボードにコピー] ボタンをクリックします。

複製

次に、ローカル ディレクトリにクローンを作成します。

git clone (Command-V)  # Paste the copied URL

protobuf をインストールする

J2ObjC をビルドするには、protobuf C++ をインストールしておく必要があります。

protobuf バイナリ パッケージをインストールするには、Homebrew を使用します。

brew install protobuf

PROTOBUF_ROOT_DIR を、protobuf がインストールされているルートに設定する必要があります。通常は、Homebrew のデフォルトの /usr/local です。.bash_profile に以下を追加します。

export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir

これを確認するには、$PROTOBUF_ROOT_DIR/bin/protoc --version を実行します。

J2ObjC のビルド

ターミナル ウィンドウでコマンドラインからビルドするには、次のコマンドを実行します。

# Build just the translator and libraries
make dist

# Build the full distribution (including frameworks)
make frameworks

# Build the protocol buffer compiler and runtime for J2ObjC
make protobuf_dist

# Build everything that is included in the project's distribution bundles
make all_dist

プロトコル バッファの設定(省略可)

J2ObjC プロトコル バッファのコンパイラとランタイムには、プロトコル バッファ(3.21.3 以降)をインストールする必要があります。

  • プロトコル バッファ 3.21.7 リリースからソースコードをダウンロードします。
  • README にある C++ のインストール手順に沿って操作します。インストール場所を指定する --prefix オプションに注意してください。
  • プロトコル バッファのインストール場所を指すように PROTOBUF_ROOT_DIR 環境変数を定義します。

Java 8 以降の言語機能。

お知らせをご覧ください。 前のセクションの手順に加えて、JRE モジュールを JDK 11 でビルドする必要があります。

JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist

J2ObjC のテスト

ターミナル ウィンドウでコマンドラインからテストするには、次のコマンドを実行します。

# Run translator and library unit tests
make test

# Run all unit tests, including for protocol buffers
make test_all

ビルドのクリーニング/リセット

# Remove all files generated by the build
make clean

並列ビルド

J2ObjC ビルドは、-j<n> フラグを使用して指定する並列ビルドをサポートしています。n は、同時タスクの最大数です。最大値はシステムの速度と性能によって異なります。-j4 から始めることをおすすめします。この回数を増やすと、システムが処理できる場合はビルド時間が短くなり、システムエラーで作成に失敗した場合はビルド時間が短くなります。

プロセッサ アーキテクチャのビルド

j2objc リリース 2.3 では、32 ビット iOS アーキテクチャ(「iphone」と「シミュレータ」)は一般公開されていません。これらを使用して j2objc をビルドするには、最初に J2OBJC_ARCHS 環境変数を指定します。

$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist

アプリが必要とするアーキテクチャのみを指定することで、ビルドを高速化することもできます。 たとえば、64 ビット iOS(「iphone64」)とそれに関連するシミュレータ(「simulator64」)のみをビルドするには、make を実行する前に J2OBJC_ARCHS="iphone64 simulator64" を定義します。