2016-10-15 16 views
1

私はadocからHTMLを生成するためにAsciidoctor Maven Pluginを使用します。残念ながら、それはsourceDirectoryで指定されたディレクトリからすべてのソースディレクトリをコピーします。これらの空のフォルダをどのように除外できますか?Asciidoctor Mavenプラグインで空のフォルダを除外する方法

<plugin> 
    <groupId>org.asciidoctor</groupId> 
    <artifactId>asciidoctor-maven-plugin</artifactId> 
    <version>1.5.3</version> 
    <executions> 
     <execution> 
      <id>test-id</id> 
      <phase>generate-resources</phase> 
      <goals> 
       <goal>process-asciidoc</goal> 
      </goals> 
      <configuration> 
       <sourceDirectory>mysourcedirectory</sourceDirectory> 
       <sourceDocumentName>Test.adoc</sourceDocumentName> 
       <outputDirectory>${project.build.directory}/outputdir</outputDirectory> 
       <relativeBaseDir>true</relativeBaseDir> 
       <preserveDirectories>true</preserveDirectories> 
       <backend>html</backend> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

マイ入力dirが次のようになります。

── mysourcedirectory 
    ├── Test.adoc 
    └── subfolder1 
     ├── doc1.adoc  
     └── doc2.adoc 
asciidocの出力は次のようになります

subfolder1が空であると私はそれを除外することにしたい):

── mysourcedirectory 
    ├── Test.adoc 
    └── subfolder1 

によると、 Asciidocのドキュメント(https://github.com/asciidoctor/asciidoctor-maven-plugin#configuration-options)、私はresourcesタグでそれを行うことができます。私は、このようにそれを試してみたが、働いていない:asciidoctor-maven-plugin

<configuration> 
    <resources> 
     <resource> 
      <includes> 
       <include>**/*.*</include> 
      </includes> 
     </resource> 
    </resources> 
... 
</configuration> 

答えて

1

を空のディレクトリの削除をサポートしていません。それについてはthe issue 144があり、修正は考慮されていません。

あなたが仕事アラウンドできAntrun Plugindelete empty directoriesを使用してアスキー医師が走った後のこと:

<!-- your configuration of Ascii Doctor --> 
<plugin> 
    <groupId>org.asciidoctor</groupId> 
    <artifactId>asciidoctor-maven-plugin</artifactId> 
    <version>1.5.3</version> 
    <!-- rest of your config --> 
</plugin> 
<!-- deleting empty directories in output directory of Ascii Doctor --> 
<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.8</version> 
    <executions> 
    <execution> 
     <id>delete-empty-dirs</id> 
     <phase>generate-resources</phase> 
     <goals> 
     <goal>run</goal> 
     </goals> 
     <configuration> 
     <target> 
      <delete includeemptydirs="true"> 
      <fileset dir="${project.build.directory}/generated-docs"> 
       <and> 
       <size value="0" /> 
       <type type="dir" /> 
       </and> 
      </fileset> 
      </delete> 
     </target> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

をAntrunプラグインは、アスキー・ドクター後に起動され、あなたがasciidoctor-maven-plugin後にその宣言を置くことができることを確認するために、そしてそれらが同じフェーズにバインドされていることを確認してください。上記の例ではgenerate-resourcesを使用しました。

関連する問題