Maven:将所有.proto文件添加到插件

时间:2016-06-29 12:22:06

标签: maven protocol-buffers

我有很多.proto个文件,我使用maven-antrun-plugin来生成必要的Java文件。只要我专门编写每个.proto文件,它就可以工作,如下所示:

<plugin>
       <artifactId>maven-antrun-plugin</artifactId>
       <executions>
         <execution>
           <id>generate-sources</id>
           <phase>generate-sources</phase>
           <configuration>
             <tasks>
               <mkdir dir="target/src-gen"/>
               <exec executable="protoc">
                 <arg value="--java_out=target/src-gen"/>
                 <arg value="target/proto/Empty.proto"/>
                 <arg value="target/proto/ComponentState.proto"/>
               </exec>
             </tasks>
             <sourceRoot>target/src-gen</sourceRoot>
           </configuration>
           <goals>
             <goal>run</goal>
           </goals>
         </execution>
       </executions>
     </plugin>

这已经很好了。

但是,现在我得到更多的.proto文件(大约30个),我不能使用上面的方法,因为我必须逐个编写它,我不认为这是适当的方式。

这有什么捷径吗?说&#34;编译此目录及其子目录下的所有.proto个文件。&#34;会很好。

有人有想法吗?

1 个答案:

答案 0 :(得分:1)

以下代码段适用于我。

<configuration>
    <target>
    ... 
        <path id="protobuf.input.filepaths.path">
            <fileset dir="${protobuf.input.directory}">
                <include name="**/*.proto"/>
            </fileset>
        </path>
    ...
    </target>
</configuration>