********************************************** *** Maven Protocol Buffers (protoc) Plugin *** ********************************************** A minimal configuration to invoke this plugin would be: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.example</groupId> <artifactId>example-protoc</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>protoc-example</name> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <groupId>com.google.protobuf.tools</groupId> <artifactId>maven-protoc-plugin</artifactId> <configuration> <protocExecutable>/usr/local/bin/protoc</protocExecutable> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>2.3.0</version> </dependency> </dependencies> </project> You must: + Use Java 1.5 or newer due to the usage of Generics + Either ensure the "protoc" executable is in your PATH or set the <protocExecutable> parameter to the correct location. + Define the executions you want (you probably don't need the testCompile unless you have custom protocol buffer objects in your tests. + Include the dependency on protobuf-java or your compile will fail. Once this is all done add your *.protoc files to the directory: src/main/proto Everything should then build with a: mvn clean install You may also need to add the following to your settings.xml to download the plugin: <pluginRepositories> <pluginRepository> <id>dtrott</id> <url>http://maven.davidtrott.com/repository</url> </pluginRepository> </pluginRepositories> Normally this plug-in executes the protoc compilation on every execution this can be overriden by setting: <checkStaleness>true</checkStaleness> If you build on NFS you may also need the following setting: <staleMillis>10000</staleMillis>
usmanismail/maven-protoc-plugin
Maven Protocol Buffers (protoc) Plugin that calls the protocol buffers compiler.
Java