2009-07-02 2 views
0

나는 Apple로부터 this guide을 따라 doxygen 문서를 만들었습니다. 공백이있는 디렉토리를 구문 분석 할 때 변수를 따옴표 안에 넣으 려면 스크립트를 수정해야하므로 두 개의 별도 인수로 취급하지 않습니다.Doxygen w/XCode & Subversion Issues

즉, 저는 최근에 XCODE에서 스냅 샷을 사용하는 대신에 서브 버전을 사용하기로 전환했습니다. 스냅 샷은 자체 손상되어 기록을 잃어버린 악명 높은 기록을 가지고 있습니다. 이러한 작업을 수행하기위한 내 프로세스는 프로젝트의 디렉토리 구조와 같은 서브 버전을 작성하여 SVN으로 체크인 한 다음 트렁크에서 체크 아웃을 확인하는 것이 었습니다.

내 문제는 설명서를 작성할 때 doxygen 구성 파일 (exclude_parameters 등 ...)을 수정하는 방법과 상관없이 처음으로 문서 용 docset을 생성 할 때 문제가되지 않는다는 것입니다. 두 번째로는 cp 명령을 사용하여 참조 할 XCODE 용 라이브러리 설명서 디렉토리에 복사하는 데 문제가 있습니다.

exclude_parameters .svn * .svn * *.. svn * *./svn/*을 추가하려고 시도했지만 아무 것도 도움을주지 못하거나 문서에 영향을 미치지 않습니다. 나는 chmod을 내 docset에 설치 한 후 문제가 해결되었지만 실제로는 .svn 디렉토리가 여전히 문서에 존재한다는 사실을 숨기고 있습니다.

아마도 폴더 작업을 만들면 트릭을 만들 수 있다고 생각했지만 실제로 사과 스크립트가 그다지 많지 않습니다. 그것은 해킹 일 것이지만 확실히 일을 끝낼 것입니다.

이 작업을 올바르게 수행하려면 누구나 정상적으로 (정상적인 방법으로) 어떻게하면 좋을지 생각할 수 있습니까?

감사합니다.

답변

3

정확히 어디에 문제가 있는지 알 수 없으므로 svn, doxygen 및 Xcode로 작업하는 방법을 설명하려고합니다. 이 답변보다 more complete guide을 작성했지만 불행히도 프랑스어로되어 있습니다.

소스 파일에 대한 내 프로젝트 디렉토리 구조는 다음과 같습니다. 소스 코드가 하위 폴더에 없습니다 (Xcode로만 코드를 관리 할 때 기본값 임).

RECURSIVE = NO 

이 방법 .svn 디렉토리는 doxygen에 의해 구문 분석되지 않은 : 내 Doxyfile이 설정이 포함되어 있습니다.

GENERATE_DOCSET  = YES 
DOCSET_FEEDNAME  = "My wonderful Application" 
DOCSET_BUNDLE_ID  = com.example.mywonderfulapp 

내 스크립트는 다음과 같습니다 : docsets에 관한

, 내 Doxyfile 이러한 설정을 포함 난 당신이 설명하는 것과 같은 문제가 발생하지 않았다 이러한 설정으로

# Where are doxygen and dot (assuming in my own Applications folder) 
DOXYGEN_PATH=${HOME}/Applications/Doxygen.app/Contents/Resources 
PATH=${DOXYGEN_PATH}:${PATH} 
export PATH 

# Doxygen documentation generation 
doxygen || exit 1 

# DOCSET generation 
make -C html install || exit 1 

# Open DOCSET in Xcode 
DOCSET_PATH=Library/Developer/Shared/Documentation/DocSets 
open $HOME/$DOCSET_PATH/fr.exemple.doxygentutorial.docset || exit 1 

합니다.

+0

Perfect! 대부분의 디렉토리 구조는 기본 XCode 프로젝트가 하위 디렉토리에 있다고 생각하는 몇 가지 파일을 제외하고는 이미 플랫되었습니다. 난 그 파일 몇 개를 옮겨야 만했고 RECURSIVE = NO를 설정하면 트릭을 만들었습니다. 나는 클래스 디렉토리를 포함하기 위해 입력 디렉토리를 변경하려고 시도했지만, 문서 빌드에 관한 내용은 그것을 무시하는 것처럼 보인다. 평면 구조가 어쨌든 더 잘 작동하는 것 같습니다. 감사! – Gary

0

프로젝트에 플랫 디렉토리 구조가 없어야합니다. 만약 당신이 그것을 국제화하고 싶다면?

이러한 cp 오류를 피하는 방법은 SVN에서 무시한 파일 목록에 DocSet 패키지를 추가하는 것입니다. 무시 된 경우 버전이 지정되지 않으며 버전이 지정되지 않은 경우 cp가 불평 할 .svn 파일이 없습니다.

내가 여기 YMMV 그래서 명령 줄 SVN 클라이언트를 사용하지만 있어요 내가 무슨 짓을했는지 :

  • 첫째, SVN 리포지토리와 동기화하고 있는지 확인하기 위해 작업 복사본을 업데이트합니다.
  • 둘째, svn은 저장소에서 DocSet 디렉토리를 삭제하고 커밋합니다.
  • 셋째, 프로젝트를 빌드하여 새로운 DocSet 디렉토리를 생성하십시오 (이 버전은 버전 화되지 않음).
  • SVN에 추가 무시하고 커밋하십시오.
  • 모든 것이 올바른지 확인하려면 svn status를 수행하십시오. 이제 문제없이 작업 할 수 있습니다.

나는 이것을 알아 내는데 시간을 보냈지 만, 이제는 위조 된 오류에 빠져들지 않고 자유롭게 내 프로젝트를 만들 수 있으며 DocSet을 가지고 있습니다.