Class PojoToProtoExtension

java.lang.Object
io.github.anupambasak.gradle.plugins.pojo2proto.PojoToProtoExtension

public abstract class PojoToProtoExtension extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract org.gradle.api.file.DirectoryProperty
     
    abstract org.gradle.api.file.ConfigurableFileCollection
    Directories or files to skip.
    abstract org.gradle.api.provider.Property<List<String>>
     
    abstract org.gradle.api.provider.Property<String>
    Appended to the POJO's Java package to form option java_package: the Java classes for POJOs in com.example.dtos are generated into com.example.dtos.proto.
    abstract org.gradle.api.provider.Property<String>
    Appended to every generated top-level message and enum name and to its file name: Address -> message AddressProto in AddressProto.proto.
    abstract org.gradle.api.provider.Property<String>
    Proto package (and, with getJavaPackageSuffix(), Java package) shared by all generated files.
    abstract org.gradle.api.provider.Property<Boolean>
     
    abstract org.gradle.api.provider.Property<Boolean>
     
    abstract org.gradle.api.file.ConfigurableFileCollection
     
    abstract org.gradle.api.provider.Property<Boolean>
    When true, every .proto file gets the Java package of its POJO followed by getJavaPackageSuffix() as its proto package and java_package, and is written to the matching sub-directory of destination (com.example.dtos.Address -> <destination>/com/example/dtos/proto/AddressProto.proto).

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PojoToProtoExtension

      public PojoToProtoExtension()
  • Method Details

    • getSource

      public abstract org.gradle.api.file.ConfigurableFileCollection getSource()
    • getExclude

      public abstract org.gradle.api.file.ConfigurableFileCollection getExclude()
      Directories or files to skip. Any .java file under an excluded directory (or equal to an excluded file) is ignored.
    • getDestination

      public abstract org.gradle.api.file.DirectoryProperty getDestination()
    • getSingleFile

      public abstract org.gradle.api.provider.Property<Boolean> getSingleFile()
    • getPrefixEnumNames

      public abstract org.gradle.api.provider.Property<Boolean> getPrefixEnumNames()
    • getPackageName

      public abstract org.gradle.api.provider.Property<String> getPackageName()
      Proto package (and, with getJavaPackageSuffix(), Java package) shared by all generated files. Only used with the flat layout: usePojoPackages = false, which singleFile implies. Ignored when getUsePojoPackages() is true, where each file takes its POJO's package. Defaults to the Gradle project's group.
    • getUsePojoPackages

      public abstract org.gradle.api.provider.Property<Boolean> getUsePojoPackages()
      When true, every .proto file gets the Java package of its POJO followed by getJavaPackageSuffix() as its proto package and java_package, and is written to the matching sub-directory of destination (com.example.dtos.Address -> <destination>/com/example/dtos/proto/AddressProto.proto). Imports use these paths and references across packages are fully qualified. Cannot be combined with singleFile.

      Defaults to true, or false when singleFile is enabled. When false, all files are written flat into destination and share getPackageName() as their proto package.

    • getNameSuffix

      public abstract org.gradle.api.provider.Property<String> getNameSuffix()
      Appended to every generated top-level message and enum name and to its file name: Address -> message AddressProto in AddressProto.proto. Defaults to "Proto"; set to "" for none.
    • getJavaPackageSuffix

      public abstract org.gradle.api.provider.Property<String> getJavaPackageSuffix()
      Appended to the POJO's Java package to form option java_package: the Java classes for POJOs in com.example.dtos are generated into com.example.dtos.proto. With getUsePojoPackages() it is also part of the proto package and directory, so they match java_package; with the flat layout it only applies to java_package. Defaults to ".proto"; set to "" for none.
    • getExcludeFields

      public abstract org.gradle.api.provider.Property<List<String>> getExcludeFields()