opensource java library deploy public repository

49
Open source java library를 public repository에 배포하기. 정 경 호 [email protected]

Upload: kyungho-jung

Post on 07-Aug-2015

72 views

Category:

Software


0 download

TRANSCRIPT

Open source java library를 public repository에 배포하기.

정 경 호 [email protected]

주의!

Maven이나 Git, Ecliipse 같은 tool install에 대해선 다루고 있지 않습니다!! \(*`Д´)/

Step1. Maven library project 환경 만들기

Step2. coding coding coding coding

Step3. test code 는 필수!

Step4. Github

Step5. Jitpack.io (Easy to use package repository for GitHub)

bonus1. travis-ci (Continuous integration system)

bonus2. Open source project 운영에 도움이 되는 서비스들

Maven 환경 설정

Step1. Maven library project 환경 만들기

$mvn archetype:generate -DgroupId=com.your.lib -DartifactId=lib -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

bash 에서 mvn 명령어를 이용하세요!

$mvn archetype:generate -DgroupId=com.your.lib -DartifactId=lib -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

pacakge name library name

이렇게 maven 명령어를 사용하면!

짜잔! 자동으로 폴더 구조를 생성해줍니다. s( ̄▽ ̄)/

src/에 library 코드를 넣어주세요!

test/에는 test코드를 작성하면 됩니다.

Maven에서 dependency를 설정해줍니다.

pom.xml을 열어서 library와 테스트코드에 필요한 dependency를 설정해줍니다.

테스트 환경에서는 junit, mockito, mockwebserver 를 사용합니다.

제 library는 rx-java와 ksoap2에 대해 dependency를 갖고 있습니다.

pom.xml

eclipse나 intellij를 이용해서 열심히 코딩을 해줍시다!

Step2. coding coding coding coding

겁나 열심히 코딩을 해줍니다... (/-_-)/~

Step3. test code는 필수!

겁나 열심히 테스트 코드를 짭니다. s( ̄▽ ̄)v

코딩 부분은 2슬라이드밖에 안되지만 가장 많은 시간이 필요하다는 사실...

테스트 코드를 실행해봅시다! $mvn test

$mvn test

?!! 에러가 없음 ㅎㅎ

Slide 17장이나 만들었는데 아직 step3 까지 밖에 못했어.... (* ̄ . ̄)a 에너지 충전하고 올게요 ~_~

충전 끝! 개발자들의 SNS Github나 설정합시다.

Step4. Github

project 이름, 설명, license등을 선택해줍니다.

library 설명서 만들기!! README.md

?? 어떻게 하라구 ??

Markdown

마크다운(markdown)은 일반 텍스트 문서의 양식을 편집하는 문법이다. README 파일이나 온라인 문서, 혹은 일반 텍스트

편집기로 문서 양식을 편집할 때 쓰인............

https://ko.wikipedia.org/wiki/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4

Markdown 문법을 열심히 공부하시거나 다음 페이지를 보세요.

Haroopad markdown editor (하루 패드!)

한국개발자가 만든 markdown editor 입니다. s( ̄▽ ̄)/ 정말 좋아요!

하루패드 도움말을 보면서 README.md 를 편집해주세요.

README.md 도 다 만들었으니 이제 배포를 해봅시다!

JitPack.io (Easy to use package repository for GitHub)

Step5. JitPack.io

내 github project url을 가운데에 입력하고 Look up 버튼을 누릅니다. 그 후 [Get It] 버튼을 누르면 끝!

gradle이나 maven 에 나의 library를 추가해서 사용할 수 있습니다.

README.md 에도 넣어주세요.

여기까지 하셨다면 library 배포 완료!

끝났습니다! 수고하셨어요!

그런데...... 만약....

내 library를 다른 사람들과 같이 개발을 하고 싶다면?

조금 더 설정을 해줍시다.

bonus 1: travis-ci.org (Continuous Integration System)

bouns 1. travis-ci

내 프로젝트의 test code를 실행시켜 주고 결과를 badge로 나타내줍니다.

bouns 1. travis-ci

travis-ci의 badge를 내 프로젝트의 README.md 에 넣어주세요.

travis-ci는 다른 사람들과 공동으로 작업을 할 때 큰 도움이 됩니다.

테스트 코드가 실패하면 travis가 결과를 Failure로 만들고 github에 알려줍니다. 그리고 badge도 failing으로 바꿉니다.

travis-ci 설정법은 아래 링크를 참고해주세요. http://docs.travis-ci.com/user/getting-started/

bonus 2: Open source project 운영에 도움이 되는 서비스들

https://codecov.io/ (Code coverage done right. Hosted coverage report,

highly integrated with Github and Bitbucket.)

test code coverage를 badge로 제공

http://shields.io/ 엄청 여러종류의 badge를 제공

마음껏 가져다 쓰세요!

reference: https://github.com/moltak/Rx-Soap 를 참고해주세요!

email: [email protected]

References• https://github.com/jitpack/jitpack.io/blob/master/ANDROID.md

• https://codecov.io/

• https://jitpack.io/

• http://shields.io/

• http://www.mkyong.com/maven/how-to-create-a-jar-file-with-maven/

• https://maven.apache.org/guides/mini/guide-central-repository-upload.html

• http://docs.travis-ci.com/user/getting-started/

감사합니다.