J2ObjC 빌드

요구사항

  • Apple Mac OS X 시스템
  • 최신 버전의 Xcode
  • JDK JDK 11이 설치됨
  • Apache Maven
  • (필수는 아니지만 권장됨) Google 프로토콜 버퍼 소스

Mac 설정

  • 다음을 실행하여 Xcode 명령줄 도구를 설치합니다.
sudo xcode-select --install
  • .bash_profile에 추가합니다.
export JAVA_HOME=`/usr/libexec/java_home -v 11`

J2ObjC 프로젝트의 포크 만들기

J2ObjC 프로젝트를 포크하려면 기본 페이지를 열고 포크 버튼을 클릭합니다.

포크

GitHub 계정 이름을 선택하면 몇 초 후에 포크가 생성됩니다.

다음으로, 개발을 위해 포크 사본을 로컬 시스템에 클론합니다. 먼저 [Clone or download 버튼]을 클릭한 후 Copy to Clipboard(클립보드로 복사) 버튼을 클릭합니다.

복사

그런 다음 로컬 디렉터리에 클론합니다.

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

protobuf 설치

J2ObjC를 빌드하려면 먼저 protobuf C++를 설치해야 합니다.

protobuf 바이너리 패키지를 설치하려면 Home브루를 사용하세요.

brew install protobuf

PROTOBUF_ROOT_DIR를 protobuf가 설치된 루트로 설정해야 합니다. 일반적으로 이는 Home브루 기본 /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 환경 변수를 정의합니다.

자바 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로 시작하는 것이 좋습니다. 시스템에서 처리할 수 있는 경우 빌드 시간을 늘려 빌드 시간을 단축하고 시스템 오류로 인해 make가 실패할 경우 빌드 시간을 줄입니다.

프로세서 아키텍처 구축

j2objc 버전 2.3부터 32비트 iOS 아키텍처 ('iphone' 및 'simulator')는 공개 배포에 포함되지 않습니다. 먼저 J2OBJC_ARCHS 환경 변수를 지정하여 이러한 옵션으로 j2objc를 빌드할 수 있습니다.

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

앱에 필요한 아키텍처만 지정하여 빌드 속도를 높일 수도 있습니다. 예를 들어 64비트 iOS ('iphone64') 및 관련 시뮬레이터 ('simulator64')만 빌드하려면 make를 실행하기 전에 J2OBJC_ARCHS="iphone64 simulator64"를 정의합니다.