'opengrok'에 해당되는 글 2건

  1. 2019.11.22 opengrok에서 확장자 추가하기
  2. 2009.07.30 Ubuntu에서 OpenGrok 쓰기 2

opengrok에서 확장자 추가하기

Personal Computer/Linux 2019. 11. 22. 12:52 posted by tolkien

source browser로 opengrok을 쓰고 있습니다.

java, asm, c/c++ 등의 파일을 parsing해서 source code 돌아다니기 편하게 해줍니다.

 

그런데, 가끔 custom한 확장자를 사용하는 code들이 있습니다.

예를 들어 source 일부를 .inc file로 만들어서 include하는...

이런 경우, opengrok는 그냥 text file로 처리합니다.

 

오늘 code를 보다가 drvInit() 함수의 definition이 없어서 찾아보니

그런 파일에 있었네요. 그래서, 조금 googling했습니다. 그랬더니

opengrok.jar내 -A option이 있다고 합니다. 사용법이 조금 까다로운데

 

-A sln:org.opensolaris.opengrok.analysis.plain.PlainAnalyzerFactory

 

C file로 인식하는 것은 아래와 같지 않을까 생각하고, option을 넣어서 다시 indexing합니다.

-A inc:org.opensolaris.opengrok.analysis.c.CAnalyzerFactory 

뒤에 있는 명칭은 opengrok source code를 보면 대충 짐작이 됩니다.

https://github.com/oracle/opengrok/tree/master/opengrok-indexer/src/main/java/org/opengrok/indexer/analysis

 

참고 자료 :

- opengrok wiki

- opengrok github

- Re: [opengrok] How to add more file extensions (file types)

- stackoverflow에서 찾은 글

.

Ubuntu에서 OpenGrok 쓰기

Personal Computer/misc 2009. 7. 30. 19:22 posted by tolkien
How to Install & use OpenGrok
Ubuntu에서 OpenGrok 쓰기 - forceCore님의 글

회사에서 kernel source browsing tool로 lxr를 써왔다.
android를 쓰면서 lxr로는 한계를 느끼고, 이것저것 찾아보던중 OpenGrok를 찾아서 설치.
그다지 알려지지 않은 tool인지 쓸만한 문서가 그다지 많지 않다.
OpenGrok Install guide와 윗글를 참조해서 그럭저럭 동작하게 했다. 기록 차원에서...

1. http://opensolaris.org/os/project/opengrok/files/ 에서 source를 받는다.
2. source를 풀고, http://jflex.de/download.html 에서 JFlex를 받아서 lib/ directory에 넣는다.
3. ant 실행 ( cd opengrok-0.7-src/;ant )
4. file copy ( cp -a OpenGrok run.sh dist/opengrok.jar dist/lib/ /opt/opengrok/bin/ )
5. run.sh 수정
   A.
SRC_ROOT=/opt/opengrok/src        #reference할 source 위치
   B. DATA_ROOT=/opt/opengrok/data  #index file들이 생성될 위치
   C. EXUB_CTAGS=/usr/bin/ctags
   D. java ${JAVA_OPTS} ${PROPERTIES} ... 라고 거의 마지막에 있는 index 생성 command에
      -W ${DATA_ROOT}/configuration.xml 를 추가한다.
6. run.sh 실행후 ${DATA_ROOT}/configuration.xml 를 ${ETC_CONF} directory로 복사
7. source.war를 /usr/share/jetty6/webapps 에 복사 (본인은 jetty6 application server를 사용한다.)
8. unzip /usr/share/jetty6/webapps/source.war WEB-INF/web.xml
9. WEB-INF내에서 /etc/opengrok/configuration.xml 로 되어 있는 부분을 /opt/opengrok/configuration.xml 로
8. zip -u /usr/share/jetty6/webapps/source.war WEB-INF/web.xml
9. jetty application server restart
10. http://localhost:8081/source/ 로 들어가서 동작 확인