Interface VisualStudioSolution

All Superinterfaces:
Buildable, Describable, IdeWorkspace, Named

@Incubating public interface VisualStudioSolution extends Named, Buildable, IdeWorkspace
A visual studio solution, representing one or more native binaries in a build.

The content and location of the generate solution file can be modified by the supplied methods:

 plugins {
     id 'visual-studio'
 }

 visualStudio {
     solution {
         solutionFile.location = "vs/${name}.sln"
         solutionFile.withContent { TextProvider content ->
             content.asBuilder().insert(0, "# GENERATED FILE: DO NOT EDIT\\n")
             content.text = content.text.replaceAll("HideSolutionNode = FALSE", "HideSolutionNode = TRUE")
         }
     }
 }
Since:
1.11
  • Method Details

    • getSolutionFile

      @Incubating TextConfigFile getSolutionFile()
      Configuration for the generated solution file.
      Since:
      1.11
    • getLocation

      Provider<RegularFile> getLocation()
      Returns the location of the generated solution file.
      Specified by:
      getLocation in interface IdeWorkspace
    • getBuildDependencies

      @Incubating TaskDependency getBuildDependencies()
      Description copied from interface: Buildable
      Returns a dependency which contains the tasks which build this artifact. All Buildable implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.
      Specified by:
      getBuildDependencies in interface Buildable
      Returns:
      The dependency. Never returns null. Returns an empty dependency when this artifact is not built by any tasks.
    • getName

      String getName()
      Description copied from interface: Named
      The object's name.

      Must be constant for the life of the object.

      Implementations should not declare a Object.toString() that returns anything other than this name. Gradle derives the name from this method wherever it needs one, but renders the object with toString() in diagnostics, so the two disagreeing produces output that contradicts the behavior it describes. This is easy to miss on an enum, which inherits a toString() returning Enum.name().

      Specified by:
      getName in interface Named
      Returns:
      The name. Never null.
    • getDisplayName

      String getDisplayName()
      Description copied from interface: Describable
      Returns the display name of this object. It is strongly encouraged to compute it lazily, and cache the value if it is expensive.
      Specified by:
      getDisplayName in interface Describable
      Returns:
      the display name