Eclair icon indicating copy to clipboard operation
Eclair copied to clipboard

Fast setup of JNI + Gradle project for (Korean) C++ developers

Eclair

Build Status

Gradle만으로 JNI 모듈을 빌드/테스트/패키징 하는 템플릿 프로젝트

References

Code Organization

기본적으로 Gradle로 빌드되는 Sub-project로 가정하며, Apache Maven의 구성 방법을 기본으로 하되,
각 단계를 진행하며 달라진 부분을 눈치채고 변경할 수 있도록 구성하였습니다.

How To

Java, Gradle을 설치한 후, docs에서 단계적으로 따라할 수 있도록 작성되었습니다.

Setup

  • JDK 11+
  • Gradle 6.0+

Windows

윈도우 환경에서는 Chocolatey를 사용

choco install openjdk
choco install gradle

설치 이후 Gradle에서 요구하는 환경변수 JAVA_HOME 및 일반적으로 Java 툴킷에 필요한 JDK_HOME을 설정. (빌드에서는 JAVA_HOME만을 사용)

Write-Output $env:JAVA_HOME
# C:\Program Files\OpenJDK\jdk-13.0.1
Write-Output $env:JDK_HOME
# C:\Program Files\OpenJDK\jdk-13.0.1

UNIX-like

SDKMan을 사용. 아래의 내용은 프로젝트 목적을 고려해 설치 과정을 요약한 것.

user@host:~$ sudo apt install -y -qq unzip zip curl
user@host:~$ curl -s "https://get.sdkman.io" | bash
user@host:~$ source "/home/luncliff/.sdkman/bin/sdkman-init.sh"

Console 재시작.

user@host:~$ sdk version
...
SDKMAN 5.7.4+362

JDK 설치. 설치 후, JDK_HOME, JAVA_HOME 환경변수 설정필요. 두 값은 같은 값을 사용하며, 모두 javac 프로그램의 위치를 사용해 획득 가능.

user@host:~$ sdk install java 13.0.1-open
...
user@host:~$ javac --version
javac 13.0.1
user@host:~$ export JDK_HOME="$(dirname $(which javac))"
user@host:~$ export JAVA_HOME=${JDK_HOME}

이후 Gradle 설치 및 버전 확인

user@host:~$ sdk install gradle 6.0.1
...
user@host:~$ gradle --version

------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------

Build time:   2019-11-18 20:25:01 UTC
Revision:     fad121066a68c4701acd362daf4287a7c309a0f5
...