====== Maven Central repository ======
* http://search.maven.org/
* 내 리포지토리 : http://central.maven.org/maven2/kr/pe/kwonnam/
===== Maven Central Search =====
* https://github.com/mthmulders/mcs
===== Maven Central Google Mirror =====
* [[http://takari.io/2015/10/28/google-maven-central.html|Takari | Google is Maven Central's New Best Friend]] [[https://dzone.com/articles/googles-mirror-of-maven-central-25-faster|기본 저장소보다 25% 정도 빠르다고 함.]]
* ''$HOME/.m2/settings.xml''
google-maven-central
Google Maven Central
https://maven-central.storage.googleapis.com
central
===== Central Repository에 올리기 =====
* [[http://central.sonatype.org/pages/producers.html|자신의 오픈 소스 프로젝트를 Maven Central 리포지토리에 올리기]]
* [[http://central.sonatype.org/pages/ossrh-guide.html|개인 오픈소스 Central Repository에 올리기]]
* https://issues.sonatype.org/ 에서 JIRA 계정ᅟ을 생성한다.
* Ticket을 생성하여 자신의 GroupID 소유권을 신청한다. 몇시간 정도 기다리면 허가 메일이 온다.
* Gradle, Maven 등으로 프로젝트를 OSS 리포지토리에 올린다.
* 배포 직후에는 private repository에 올라간다.
* [[http://central.sonatype.org/pages/releasing-the-deployment.html|private을 실제 Central로 Release하기]]
* https://oss.sonatype.org/ 에 접속하여 JIRA 계정으로 로그인
* 좌측 메뉴에서 **Staging Repositories** 선택
* 목록에서 보면 자신의 GroupID가 점(.)을 모두 제거한 이름으로 보이는데 그것이 내 소유의 리포지토리
* 자신의 리포지토리 선택 후, 아래에 리포지토리 정보들을 살펴보고 문제 없는지 확인한다.
* 문제가 없으면 상단 메뉴의 **Close**를 클릭한다. 잠시 기다린다.
* 해당 artifact에 문제가 없으면 상단에 **Releae** 버튼이 활성화 된다. 이것을 누르면 Central로 전송하는 과정이 시작된다.
* http://repo1.maven.org/maven2/kr/pe/kwonnam/ 에서 내 프로젝트 싱크 됐는지 확인
* 최초 Release시에는 JIRA에 처음 만들었던 저장소 생성 요청 Ticket에 최초 릴리즈를 하였다고 댓글을 달아줘야만 싱크가 시작된다.
* [[http://maven.apache.org/guides/mini/guide-central-repository-upload.html|Maven - Guide to uploading artifacts to the Central Repository]]
* [[http://central.sonatype.org/pages/gradle.html|Publish gradle project to Central Repository]]
* [[https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven|How To Generate PGP Signatures With Maven]]
* [[:pgp|PGP]]
===== 내 개인 Gradle 설정 =====
* ''~/.gradle/gradle.properties''에 넣거나 매번 ''-P프라퍼티''로 지정한다.
signing.keyId=[PUBLIC Key ID]
signing.password=[PASSWORD]
signing.secretKeyRingFile=/home/[username]/.gnupg/secring.gpg
ossrhUsername=[OSS Jira 사용자명]
ossrhPassword=[OSS Jira 비밀번호]
* ''secring.gpg''를 ''~/.gnupg'' 디렉토리에 복사해두고
* ''gpg %%--%%list-keys''로 **sub** hex 확인(/의 뒷부분)해서 keyId로 기입
* password 기입
===== 참고 =====
* [[http://zerobrain.tistory.com/53|제로브레인의 안드로이드 이야기!! :: Maven Central 에 라이브러리 올리기]]
* [[http://intohand.com/blog/post/how-to-publish-your-open-source-library-to-maven-central|How to publish your open source library to Maven central]]