https://github.com/isotes/vs-model
Generated XMLBeans Java classes for the MSBuild project XML schema
https://github.com/isotes/vs-model
java library msbuild visual-studio xmlbeans
Last synced: 4 months ago
JSON representation
Generated XMLBeans Java classes for the MSBuild project XML schema
- Host: GitHub
- URL: https://github.com/isotes/vs-model
- Owner: isotes
- License: mit
- Created: 2020-01-06T19:18:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-22T20:05:17.000Z (over 6 years ago)
- Last Synced: 2023-07-28T10:09:33.599Z (almost 3 years ago)
- Topics: java, library, msbuild, visual-studio, xmlbeans
- Homepage:
- Size: 92.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vs-model [](LICENSE) [](https://travis-ci.com/isotes/vs-model) [](https://isotes.github.io/javadoc/vs-model-1.0.0/) [](https://search.maven.org/search?q=g:io.github.isotes%20a:vs-model)
Generated [XMLBeans](https://xmlbeans.apache.org/) Java classes for the XML schema of [MSBuild](https://github.com/microsoft/msbuild) project files.
## Overview
The goal of this project is to provide a Java model to allow reading, modifying, and writing MSBuild project files (e.g., `*.vcxproj`). The model is generated with [XMLBeans](https://xmlbeans.apache.org/) based on the official XML Schema files provided by the [MSBuild](https://github.com/microsoft/msbuild) project.
This project only contains the generated classes (and associated files generated by XMLBeans). An additional small set of utility classes that might be helpful is developed in the [vs-utils](https://github.com/isotes/vs-utils) project.
The only extension to the upstream schema is the addition of the `Lib` element to the `ItemDefinitionGroup` that is commonly present in C/C++ library projects but seems to be missing from the schema. Since we do not have its specification, we use the `LinkItem` type as the occurrences we encountered in real-world files were covered by that type.
## Use
See [Maven Central](https://search.maven.org/search?q=g:io.github.isotes%20a:vs-model) for the current Maven coordinates or use via the [vs-utils](https://search.maven.org/search?q=g:io.github.isotes%20a:vs-utils) project.
## Schema
The XML Schema files [Microsoft.Build.CommonTypes.xsd](src/main/resources/io/github/isotes/vs/model/Microsoft.Build.CommonTypes.xsd) and [Microsoft.Build.Core.xsd](src/main/resources/io/github/isotes/vs/model/Microsoft.Build.Core.xsd) are from [MSBuild](https://github.com/microsoft/msbuild/tree/master/src/MSBuild) revision 7bcb2f961093e87277439420d351a9f3f3a8cdb8 (2019-12-17). We do not use the upstream root `Microsoft.Build.xsd` as it contains a backslash in an import statement that precludes direct use with XMLBeans and it does not add any information beyond the `Common` and `Core` schema files.
## License
[MIT](LICENSE)