SlideShare a Scribd company logo
Open source java library를 public
repository에 배포하기.
정 경 호
moltak@gmail.com
주의!
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
Opensource java library deploy public repository
?? 어떻게 하라구 ??
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: moltak@gmail.com
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/
감사합니다.

More Related Content

PDF
Github 으로 학교 팀 프로젝트 하기
PDF
Visual studio 2013 github 연동하기
PDF
초보자를 위한 Git & GitHub
PPTX
Git로 협업하기
PDF
팀 개발을 위한 GitHub 사용법
PDF
GitHub 실습 교육
PDF
Git이란 (Git 소개 및 기초 이론)
PDF
GitHub Pull Request 간단 사용 설명서
Github 으로 학교 팀 프로젝트 하기
Visual studio 2013 github 연동하기
초보자를 위한 Git & GitHub
Git로 협업하기
팀 개발을 위한 GitHub 사용법
GitHub 실습 교육
Git이란 (Git 소개 및 기초 이론)
GitHub Pull Request 간단 사용 설명서

What's hot (20)

PPTX
디자이너를위한Git #1/2
PPTX
오픈소스 개발을 위한 Git 사용법 실습
PDF
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
PDF
PyCon 2015 - 업무에서 빠르게 활용하는 PyQt
PDF
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
PDF
소셜 코딩 GitHub & branch & branch strategy
PDF
svn 능력자를 위한 git 개념 가이드
PPTX
githubaction
PDF
140109 팀프로젝트 협업툴
PPTX
Git의 개념과 사용
PPTX
Groovy 시작 입문
PDF
Git 사용법 공유 + Unity3D with git
PDF
협업하는 디자이너 - #1 git설치하기
PDF
Git 더하기 GitHub(구름IDE 환경)
PDF
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
PPTX
Python, Development Environment for Windows
PDF
Git 입문자를 위한 가이드
PPTX
Git Branch
PDF
Pivotal tracker를 활용한 팀 프로젝트 관리
PPTX
[2015:1] phpdocumentor 설치와 사용법
디자이너를위한Git #1/2
오픈소스 개발을 위한 Git 사용법 실습
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
PyCon 2015 - 업무에서 빠르게 활용하는 PyQt
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
소셜 코딩 GitHub & branch & branch strategy
svn 능력자를 위한 git 개념 가이드
githubaction
140109 팀프로젝트 협업툴
Git의 개념과 사용
Groovy 시작 입문
Git 사용법 공유 + Unity3D with git
협업하는 디자이너 - #1 git설치하기
Git 더하기 GitHub(구름IDE 환경)
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
Python, Development Environment for Windows
Git 입문자를 위한 가이드
Git Branch
Pivotal tracker를 활용한 팀 프로젝트 관리
[2015:1] phpdocumentor 설치와 사용법
Ad

Viewers also liked (18)

PDF
การทำโครงงานพัฒนาสื่อเพื่อการศึกษา
PPTX
Late republic
PDF
2014 Outlook Call
PPTX
Stereotypes
PDF
IS20G New York ToniAnne Fardette Day 2 The 3 Keys
DOCX
Prod. & operation mgt.
PDF
2011 0408 platt cleanmed_april8_2011
PDF
Így szelidítsd a designered! | HWSW App!Mobil 2013 konferencia
PDF
2001 Complete
PDF
ภาพกิจกรรมเทอม1 57-ok
PPTX
Digipak analyse
PDF
Madkour-1985-Journal_of_Chemical_Technology_and_Biotechnology._Chemical_Techn...
PPT
Magazinepitch1
DOCX
Refleksi pjm 3112
PPS
Glass Skywalk.Zhangjiajie1
PDF
Anna Zandanel - Design & Innovation in Intensive Medicine Administration
PDF
Photos
PDF
ضوء الحقيقه بالحقيقه قام - ثقبوا يدى و رجلى
การทำโครงงานพัฒนาสื่อเพื่อการศึกษา
Late republic
2014 Outlook Call
Stereotypes
IS20G New York ToniAnne Fardette Day 2 The 3 Keys
Prod. & operation mgt.
2011 0408 platt cleanmed_april8_2011
Így szelidítsd a designered! | HWSW App!Mobil 2013 konferencia
2001 Complete
ภาพกิจกรรมเทอม1 57-ok
Digipak analyse
Madkour-1985-Journal_of_Chemical_Technology_and_Biotechnology._Chemical_Techn...
Magazinepitch1
Refleksi pjm 3112
Glass Skywalk.Zhangjiajie1
Anna Zandanel - Design & Innovation in Intensive Medicine Administration
Photos
ضوء الحقيقه بالحقيقه قام - ثقبوا يدى و رجلى
Ad

Similar to Opensource java library deploy public repository (14)

PDF
위클리 발표자료
PPTX
오픈소스가이드 win,c++
PDF
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
PPTX
나의 오픈소스 사용기
PDF
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
PDF
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
PPTX
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
PDF
오픈 소스 컨트리뷰션 가이드
PDF
201017 한주현 생물정보학 github 강의
PDF
개알못의 오픈소스이야기 - 이상준님
PDF
오픈소스따라하기
PPTX
[H3 2012] 오픈소스로 개발 실력 쌓기
PPTX
Open source engineering
PDF
청강대 특강 - 프로젝트 제대로 해보기
위클리 발표자료
오픈소스가이드 win,c++
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
나의 오픈소스 사용기
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈 소스 컨트리뷰션 가이드
201017 한주현 생물정보학 github 강의
개알못의 오픈소스이야기 - 이상준님
오픈소스따라하기
[H3 2012] 오픈소스로 개발 실력 쌓기
Open source engineering
청강대 특강 - 프로젝트 제대로 해보기

More from KyungHo Jung (9)

PPTX
Droid knights android test @Droid Knights 2018
PDF
May 05 test_code_states
PDF
Rx Creating Operators, observeOn, subscribeOn
PDF
Kotlin 사용기
PDF
Mockito, Robobinding
PDF
Philips Hue 공모전 - Color master
PDF
Weird camp proposal
PDF
Android MVVM TDD
PPTX
Andoid ux, secure
Droid knights android test @Droid Knights 2018
May 05 test_code_states
Rx Creating Operators, observeOn, subscribeOn
Kotlin 사용기
Mockito, Robobinding
Philips Hue 공모전 - Color master
Weird camp proposal
Android MVVM TDD
Andoid ux, secure

Opensource java library deploy public repository