Class PbjCompilerTask

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.SourceTask
com.hedera.pbj.compiler.PbjCompilerTask
All Implemented Interfaces:
Comparable<org.gradle.api.Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, org.gradle.api.Named, org.gradle.api.plugins.ExtensionAware, org.gradle.api.Task, org.gradle.api.tasks.util.PatternFilterable, org.gradle.util.Configurable<org.gradle.api.Task>

public abstract class PbjCompilerTask extends org.gradle.api.tasks.SourceTask
Gradle Task that generates java src code from protobuf proto schema files.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.gradle.api.Task

    org.gradle.api.Task.Namer
  • Field Summary

    Fields inherited from interface org.gradle.api.Task

    TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    compileFilesIn(Iterable<File> sourceFiles, File mainOutputDir, File testOutputDir)
    Compile all the proto files in the given source directories
    protected abstract org.gradle.api.internal.file.FileOperations
     
    abstract org.gradle.api.file.DirectoryProperty
    Set the java main directory that we write generated code into
    abstract org.gradle.api.file.DirectoryProperty
    Set the java test directory that we write generated code into
    void
    Perform task action - Generates all the PBJ java source files

    Methods inherited from class org.gradle.api.tasks.SourceTask

    exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSet, getPatternSetFactory, getSource, include, include, include, include, setExcludes, setIncludes, setSource, setSource, source

    Methods inherited from class org.gradle.api.internal.ConventionTask

    conventionMapping, conventionMapping, getConventionMapping

    Methods inherited from class org.gradle.api.DefaultTask

    compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService

    Methods inherited from class org.gradle.api.internal.AbstractTask

    acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.gradle.api.Task

    doNotTrackState, getConvention, notCompatibleWithConfigurationCache
  • Constructor Details

    • PbjCompilerTask

      public PbjCompilerTask()
  • Method Details

    • getJavaMainOutputDirectory

      @OutputDirectory public abstract org.gradle.api.file.DirectoryProperty getJavaMainOutputDirectory()
      Set the java main directory that we write generated code into
      Returns:
      The java main directory that we write generated code into
    • getJavaTestOutputDirectory

      @OutputDirectory public abstract org.gradle.api.file.DirectoryProperty getJavaTestOutputDirectory()
      Set the java test directory that we write generated code into
      Returns:
      The java test directory that we write generated code into
    • getFileOperations

      @Inject protected abstract org.gradle.api.internal.file.FileOperations getFileOperations()
      Returns:
      Gradle's FileOperations service to use for file deletion
    • perform

      public void perform() throws Exception
      Perform task action - Generates all the PBJ java source files
      Throws:
      Exception - If there was a problem performing action
    • compileFilesIn

      public static void compileFilesIn(Iterable<File> sourceFiles, File mainOutputDir, File testOutputDir) throws Exception
      Compile all the proto files in the given source directories
      Parameters:
      sourceFiles - The source files to compile
      mainOutputDir - The main output directory
      testOutputDir - The test output directory
      Throws:
      Exception