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'
  }

  model {
      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")
              }
          }
      }
  }
 
  • Method Details

    • getSolutionFile

      @Incubating TextConfigFile getSolutionFile()
      Configuration for the generated solution file.
    • 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.

      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