티스토리 뷰

반응형

 

아두이노 라이브러리 매니저

아두이노는 라이브러리를 사용하는 방법이 여러가지가 있다.

  • 스케치 파일의 하위 폴더로 포함시키는 방법
  • 압축파일을 등록하여 라이브러리 사용하기
  • 스케치 폴더 로컬 라이브러리 패스에 추가하여 사용하기
  • 공식 라이브러리 매니저에 등록하기

그 중에서도 오늘은 이 '공식 라이브러리 매니저'에 등록하는 방법에 대한 이야기이다.

 

GitHub - arduino/library-registry: Arduino Library Manager list

Arduino Library Manager list. Contribute to arduino/library-registry development by creating an account on GitHub.

github.com

사실 방법은 간단하며, 위 링크인 공식 가이드를 그대로 따르면 된다.

하지만, Template이랄까 그런 정보가 있으면 훨씬 수월하긴 해서, 여기에 기록한다

과거에 3개의 라이브러리 등록했었는데, 첫 번째에는 이런저런 삽질이 많았다.

 

주의사항 및 Github Pull Request

팁이라기엔 뭐하지만,

keyword.txt 의 경우, indent로 tab을 사용해야 한다.

보통 에디터에 auto tab to space 기능을 켜놓기 때문에, 이거때문에 몇번 재작업을 했던 기억이 난다.

이처럼 라이브러리에 포함될 파일과 관련해서 여러 규칙들이 있는데, 그것은 아래 링크에 나와 있다.

- What are the requirements for a library to be added to Library Manager?

 

어쨌든, 준비해서 PR을 보내면, 담당자가 확인 후에 merge 하고나면 라이브러리에 추가된다.

만약, 공식 가이드에 있는 내용들을 지키지 않았다면, 꼼꼼한 리뷰를 통해 알려주거나 직접 PR을 보내서 고쳐주는 경우도 있다. 물론 이렇게 되면, 시간이 많이 지연되므로 매뉴얼을 충분히 읽고 놓친 부분은 없는지 꼭 체크하고 PR을 보내도록 하자.

 

아래는 실제 요청 후 등록한 사례이다

 

[Library Manager] register request: Dynamixel2Arduino library · Issue #8925 · arduino/Arduino

https://github.com/ROBOTIS-GIT/Dynamixel2Arduino Hi, we made Arduino library for communicating with DYNAMIXEL. The library's name is Dynamixel2Arduino. We have released 0.0.1. Please add our li...

github.com

 

Release Tag와 실제 업데이트

한번 등록된 다음부터는 아두이노 서버에서 특정 주기로 등록된 repository를 돌아다니며, 신규 release tag는 없지는 조사한다.

그래서, 해당 라이브러리 관리자는 업데이트가 있을 경우, 위 매뉴얼에 설명된 방식을 따라 package 정보와 tag 정보를 일치시켜주기만 하면 된다.

즉, 1.0.1 버전 릴리즈를 하려고 한다면,

우선, library.properties의 version정보를 1.0.1 로 업데이트하고,

이 변경사항이 포함된(혹은 이후) commit 에 대해 1.0.1로 tag를 생성하면 된다.

 

아래는 그 예시이다.

태그된 commit 식별번호를 보면 알 수 있듯이

- Update for 0.2.1 이라는 commit을 통해 library.properties의 version정보를 먼저 업데이트 하고,

- 그 이후 추가 commit 이후에 0.2.1 태그를 생성했다.

 

 

Update for 0.2.1 · ROBOTIS-GIT/ros2arduino@53ed39c

Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Showing 2 changed files with 4 additions and 6 deletions. +3 −5 README.md +1 −1 library.properties There are no files selected f

github.com

 

Release 0.2.1 · ROBOTIS-GIT/ros2arduino

Bug fix (0.2.0)

github.com

 

반응형
댓글