Class ProtocCompilePythonMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="compile-python", defaultPhase=GENERATE_SOURCES, requiresDependencyResolution=COMPILE, threadSafe=true) public final class ProtocCompilePythonMojo extends AbstractProtocCompileMojo
This mojo executes the protoc compiler for generating main python sources from protocol buffer definitions. It also searches dependency artifacts for .proto files and includes them in the proto_path so that they can be referenced. Finally, it adds the .proto files to the project as resources so that they are included in the final artifact.
Since:
0.3.3
  • Field Details

    • outputDirectory

      @Parameter(required=true, property="pythonOutputDirectory", defaultValue="${project.build.directory}/generated-sources/protobuf/python") private File outputDirectory
      This is the directory into which the .py will be created.
  • Constructor Details

    • ProtocCompilePythonMojo

      public ProtocCompilePythonMojo()
  • Method Details

    • addProtocBuilderParameters

      protected void addProtocBuilderParameters(Protoc.Builder protocBuilder)
      Description copied from class: AbstractProtocMojo
      Adds mojo-specific parameters to the protoc builder.
      Overrides:
      addProtocBuilderParameters in class AbstractProtocMojo
      Parameters:
      protocBuilder - the builder to be modified.
    • getOutputDirectory

      protected File getOutputDirectory()
      Description copied from class: AbstractProtocMojo
      Returns the output directory for generated sources. Depends on build phase so must be defined in concrete implementation.
      Specified by:
      getOutputDirectory in class AbstractProtocMojo
      Returns:
      output directory for generated sources.