# Class GenerateProjectFileTask

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.plugins.ide.api.GeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>
org.gradle.plugins.ide.api.XmlGeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>
org.gradle.ide.visualstudio.tasks.GenerateProjectFileTask

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, Configurable<Task>`

@Incubating @DisableCachingByDefault(because="Not made cacheable, yet") public abstract class GenerateProjectFileTask extends XmlGeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>
Task for generating a Visual Studio project file (e.g. `foo.vcxproj`).

Since:
  1.11

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static class`
  `GenerateProjectFileTask.ProjectSpec`
  The data to use to generate the project file.

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from class GeneratorTask

  `afterConfigured, beforeConfigured, domainObject, generator`

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GenerateProjectFileTask(org.gradle.ide.visualstudio.internal.DefaultVisualStudioProject visualStudioProject)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `configure(org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile projectFile)`
  Configure.
  `protected org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile`
  `create()`
  Create.
  `@Nullable String`
  `getGradleArgs()`
  Returns the gradle args.
  `String`
  `getGradleExe()`
  Returns the gradle exe.
  `protected boolean`
  `getIncremental()`
  Whether this generator task can be treated as an incremental task or not
  `File`
  `getInputFile()`
  The input file to load the initial configuration from.
  `File`
  `getOutputFile()`
  The output file to write the final configuration to.
  `protected GenerateProjectFileTask.ProjectSpec`
  `getSpec()`
  Returns the `GenerateProjectFileTask.ProjectSpec` for this task.
  `Transformer<@NotNull String, File>`
  `getTransformer()`
  Returns the transformer.
  `VisualStudioProject`
  `getVisualStudioProject()`
  Returns the visual studio project.
  `void`
  `initGradleCommand()`
  Init gradle command.
  `void`
  `setGradleArgs(@Nullable String gradleArgs)`
  Sets the gradle args.
  `void`
  `setGradleExe(String gradleExe)`
  Sets the gradle exe.
  `void`
  `setVisualStudioProject(VisualStudioProject vsProject)`
  Sets the visual studio project.

  ### Methods inherited from class XmlGeneratorTask

  `getXmlTransformer`

  ### Methods inherited from class GeneratorTask

  `generate, getInputFileIfExists, getInstantiator, setInputFile, setOutputFile`

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

  `conventionMapping, conventionMapping, getConventionMapping`

  ### Methods inherited from class 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, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Constructor Details

  - ### GenerateProjectFileTask

    @Inject public GenerateProjectFileTask(org.gradle.ide.visualstudio.internal.DefaultVisualStudioProject visualStudioProject)

- ## Method Details

  - ### getIncremental

    protected boolean getIncremental()
    Description copied from class: `GeneratorTask`
    Whether this generator task can be treated as an incremental task or not
    Overrides:
      `getIncremental` in class `GeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>`

  - ### initGradleCommand

    public void initGradleCommand()
    Init gradle command.
    Since:
      1.12

  - ### getTransformer

    @Internal public Transformer<@NotNull String, File> getTransformer()
    Returns the transformer.
    Since:
      1.12

  - ### setVisualStudioProject

    public void setVisualStudioProject(VisualStudioProject vsProject)
    Sets the visual studio project.
    Since:
      1.11

  - ### getVisualStudioProject

    @Internal public VisualStudioProject getVisualStudioProject()
    Returns the visual studio project.
    Since:
      1.11

  - ### getSpec

    @Incubating protected GenerateProjectFileTask.ProjectSpec getSpec()
    Returns the `GenerateProjectFileTask.ProjectSpec` for this task.
    Since:
      8.11

  - ### getInputFile

    @Internal public File getInputFile()
    Description copied from class: `GeneratorTask`
    The input file to load the initial configuration from. Defaults to the output file. If the specified input file does not exist, this task uses some default initial configuration.
    Overrides:
      `getInputFile` in class `GeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>`
    Returns:
      The input file.

  - ### getOutputFile

    @OutputFile public File getOutputFile()
    Description copied from class: `GeneratorTask`
    The output file to write the final configuration to.
    Overrides:
      `getOutputFile` in class `GeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>`
    Returns:
      The output file.

  - ### create

    protected org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile create()
    Description copied from class: `XmlGeneratorTask`
    Create.
    Specified by:
      `create` in class `XmlGeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>`

  - ### configure

    protected void configure(org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile projectFile)
    Description copied from class: `XmlGeneratorTask`
    Configure.
    Specified by:
      `configure` in class `XmlGeneratorTask<org.gradle.ide.visualstudio.tasks.internal.VisualStudioProjectFile>`

  - ### getGradleExe

    @Internal public String getGradleExe()
    Returns the gradle exe.
    Since:
      1.12

  - ### setGradleExe

    public void setGradleExe(String gradleExe)
    Sets the gradle exe.
    Since:
      1.12

  - ### getGradleArgs

    @Internal public @Nullable String getGradleArgs()
    Returns the gradle args.
    Since:
      1.12

  - ### setGradleArgs

    public void setGradleArgs(@Nullable String gradleArgs)
    Sets the gradle args.
    Since:
      1.12