mmx900 / ManalithBot

ManalithBot is an open source IRC bot based on the PircBotX Framework.
http://manalith.org
GNU General Public License v3.0
3 stars 2 forks source link

Groovy, Jython 플러그인 작성 지원 #46

Closed mmx900 closed 11 years ago

mmx900 commented 12 years ago

다음의 두 가지 방식으로 Groovy 및 Jython 을 통한 플러그인 작성 지원

darkcircle commented 12 years ago

2012년 7월 (Jython 2.7 출시) 이후 시행

mmx900 commented 11 years ago

REPL 관련 이슈는 #110 에서 처리

mmx900 commented 11 years ago

현재 새로운 플러그인이 추가될 때 봇의 코어와는 상관없이 단지 해당 플러그인 때문에 프로젝트의 의존 라이브러리가 증가하는 문제가 있음. 이를테면 TwitReader 플러그인이 있는데, 여러 편의성 때문에 앞으로 Twitter4J 라이브러리를 사용하려고 하나 이 라이브러리는 이 플러그인 외에는 어디에서도 사용하지 않기 때문에, 트위터를 사용하지 않는 사용자에게는 불필요한 코드 더미만 얹어주는 셈. 하지만 매우 간단한 플러그인이므로 별도의 프로젝트로 분리하는 것은 과잉 작업으로 여겨짐.

여기에는 Groovy Grape의 기능이 간단하고 강력한 해결책이 될 것 같음. 마침 프로젝트 초기에 빈셸로 구현했던 관리 기능들이 현재 방치되어 재작성을 필요로 하고 있으며, 빈셸 및 빈셸2 모두 개발이 진행되지 않고 있기에 이들을 그루비로 재작성하하면 자연스럽게 프레임웍을 구축할 수 있고, 이후 플러그인에 필요한 좀더 핵심적인 기능들(그리고 Spring Dynamic Module 지원 등)을 추가하면 될 듯.

그완 별개로, 여기서 언급한 다른 언어인 Jython은 현재 버전업이 매우 더디게 이루어지고 있음. 애초에 자이썬 도입은 파이썬 유저들을 고려한 유인책이기도 했으나, 아직까진 파이썬의 최신 버전인 3.x의 문법을 사용할 수 없고 적극적인 파이썬 유저라면 파이썬만을 이용해 훨씬 가벼운 IRC 봇을 어렵지 않게 만들어낼 수 있으므로 과연 제 구실을 할지 의심스러운 바, 자이썬 도입 계획은 취소하기로 함.