2012-12-06 3 views
7

Github는 프로젝트의 루트에 README.md, LICENCE.md 또는 CONTRIBUTORS.md와 같은 Markdown 형식의 파일을 만들 것을 권장합니다. 반면에 이러한 파일은 자동 생성 된 Maven 사이트에 유용한 컨텐츠가됩니다.maven 사이트에 github markdown 파일을 포함하는 방법

이러한 파일을 생성 된 사이트 보고서에 포함시키는 것이 가장 좋은 방법은 무엇입니까?

하나의 아이디어는 src/site/markdown으로 복사 한 다음 SCM 오염을 피하기 위해 사이트를 생성 한 후 다시 제거하는 것입니다.

+1

git을 사용하는 경우 복사 된 파일을 .gitignore에 추가하여 이러한 파일이 소스 트리에 추가되지 않도록 할 수 있습니다. 나는 다른 VCS가 비슷한 메커니즘을 가지고 있다고 가정한다. –

답변

0

기여자는 pom에 입력해야합니다. 라이센스 파일은 일반적으로 LICENSE.txt 프로젝트의 일부 여야하며 Apache가 제안한 것처럼 pom.xml 파일과 동등한 형식이어야합니다. README.txt는 Apache에서도 제안되었습니다. README.md는 일반적으로 GitHub가 저장소를 표시하는 동안 이것을 렌더링하는 데에만 유용합니다.

+1

나는 maven 규칙을 알고있다. 나는 DRY (반복하지 말라) 원칙을 고수하면서 관련 정보의 이중 사본을 보관하지 않기를 원합니다. – Hakan

3

질문에 설명 된 접근 방식을 사용하여 Git 저장소에있는 README.md 파일에 대해이 문제를 해결했습니다. 즉, README.md을 루트 디렉토리에서 으로 복사합니다. 파일을 복사하려면 maven-resources-plugin을 사용했습니다. 사이트가 생성 된 후 SCM 오염을 피하기 위해 복사 된 파일을 제거하는 대신, .gitignore에 Bruno suggested과 같이 추가했습니다.

솔루션에 대한 자세한 설명은 다음과 같습니다. pom.xml의 섹션 project.build.plugins에서

:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <executions> 
     <execution> 
      <!-- Copy the readme file to the site source files so that a page is generated from it. --> 
      <id>copy-readme</id> 
      <phase>pre-site</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/src/site/markdown</outputDirectory> 
       <resources> 
        <resource> 
         <directory>${basedir}</directory> 
         <includes> 
          <include>README.md</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

.gitignore에서 :

# Copied from root to site source files by maven-resources-plugin 
/src/site/markdown/README.md 

당신은 here 커밋 해당 볼 수 있습니다.

관련 문제