Package io.github.isotes.vs.utils
Utilities to work with MSBuild solution and project files based
on the generated XMLBeans classes from the
MSBuild XML Schema
(packaged on
Maven Central).
See the following starting points
- To work with project files:
ProjectWrapper
- To work with solution files:
VsSolution
- To work with a configuration (e.g., Release|Win32) in C/C++ project files:
ConfigurationWrapper
- To work with elements in project files:
X
Based on the upstream schema, most elements may occur multiple times even if semantically only one is possible,
e.g., for specifying the compiler warning level. It seems that in the case of multiple occurrences that last one
takes precedent. Moreover, most simple elements that seem to be strings are simply specified as xs:any
. The
class X
contains methods to make working with these instances more convenient.
-
Class Summary Class Description ConfigurationWrapper Wrapper to collect the elements for a configuration (e.g., Release|Win32) in C/C++ projectsGenericPropertyGroup Wrapper to accessPropertyGroupType
as a key/valueMap
<String, String> independently of the schema.ListElementWrapper Wrapper to access a string element that represents a (usually) semicolon-separated list as aList
<String>ProjectConfiguration Details of aProjectConfigurationDocument.ProjectConfiguration
for C/C++ projectsProjectWrapper Wrapper to provide utility accessors primarily for C/C++ projectsPropertyGroupWrapper Wrapper to accessPropertyGroupType
as a key/valueMap
<String, String>TextFile Read a text file and detect newline and optional UTF-8 BOMVsSolution Describes a solution file as specified hereVsSolutionParser Internal helper class to parse solution files forVsSolution
VsSolutionProject A Project used in a solutionVsSolutionSection A Section used in a solutionX Convenience functions to access elements of project files -
Enum Summary Enum Description ProjectType Project type GUIDs used in solutions