Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
supernova-eng committed Oct 1, 2019
1 parent 15453e6 commit d2f4972
Showing 1 changed file with 68 additions and 68 deletions.
136 changes: 68 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,71 +8,71 @@ extensions:
contentType: samples
createdDate: 3/26/2015 10:20:03 AM
---
[vipr-source-repo]: https://github.com/microsoft/vipr

# VIPR T4 Template Writer

[![Build status](https://ci.appveyor.com/api/projects/status/8o1e5efpqp957kd3?svg=true)](https://ci.appveyor.com/project/joshgav/vipr-t4templatewriter-jqj22)

Source code writers for [VIPR][vipr-source-repo] utilizing T4 templates. The T4TemplateWriter receives an OdcmModel from VIPR and uses it to fill in a T4 template.

Currently the following target languages are supported by this writer:
- Android
- Java for JVM
- Objective-C for iOS

# Contents
- [Prerequisites](#Prerequisites)
- [Getting started](#Getting-started)
- [Using Vipr with this writer](#Using-Vipr-with-this-Writer)
- [Using generated code](#Using-generated-code)
- [Contributing](#Contributing)
- [License](#License)

## Prerequisites
- [Visual Studio SDK](https://www.microsoft.com/en-us/download/details.aspx?id=40758)
- [Visual Studio Modeling SDK](https://www.microsoft.com/en-us/download/details.aspx?id=40754)

## Getting started

This project uses git submodules to integrate upstream dependencies, specifically [Vipr][vipr-source-repo]. This repo will point to [msopentech/vipr/int-msot](https://github.com/msopentech/vipr/tree/int-msot) by default; if you need an alternate branch to include special fixes you'll need to check that out manually within the submodule.

For the solution to open properly, ensure submodules are updated before opening it in Visual Studio. When initially cloning this repo, use `git clone --recursive` to update submodules at the same time. Later, run `git submodule update` to manually update submodules. If you don't use the `--recursive` switch when cloning, run `git submodule init` first to initialize the submodule.

Once setup is complete, you can work with the vipr-t4templatewriter solution as usual. If you encounter problems, make sure NuGet packages and project references are all up-to-date.

> Note: We will consider integrating Vipr via public NuGet packages when these become available.
For more information on submodules read [this chapter](http://git-scm.com/book/en/v2/Git-Tools-Submodules) from the Git book and search the Web.

## Using Vipr with this Writer

1. Build the solution in Visual Studio.
2. Go to the `src\T4TemplateWriter\bin\debug` folder to find all compiled components.
3. In that folder, modify `.config\TemplateWriterSettings.json` to specify target language - either "java" or "objectivec".
4. Open a command prompt as administrator in the same folder and run `Vipr.exe <path-or-url-to-metdata> --writer="T4TemplateWriter"`.

By default, output source code will be put in a folder named "output" next to the Vipr executable.

## Using generated code

Generated code depends on an underlying HTTP client and other services. These are available for [Android and JVM][android-sdk-folder] ([odata-engine-core][], [odata-engine-android-impl][], [odata-engine-jvm-impl][]) and [iOS][ios-sdk-folder] ([office365_odata_base][])

[android-sdk-folder]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk
[ios-sdk-folder]: https://github.com/officedev/office-365-sdk-for-ios/tree/master/sdk-objectivec
[odata-engine-core]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk/odata-engine-core
[odata-engine-android-impl]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk/odata-engine-android-impl
[odata-engine-jvm-impl]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk/odata-engine-jvm-impl
[office365_odata_base]: https://github.com/OfficeDev/Office-365-SDK-for-iOS/tree/master/sdk-objectivec/office365_odata_base

## Contributing

Before we can accept your pull request, you'll need to electronically complete Microsoft Open Tech's [Contributor License Agreement](https://cla.msopentech.com/). If you've done this for other Microsoft Open Tech projects, then you're already covered.

[Why a CLA?](https://www.gnu.org/licenses/why-assign.html) (from the FSF)

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## License

Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. Licensed under the [MIT license](LICENSE).
[vipr-source-repo]: https://github.com/microsoft/vipr

# VIPR T4 Template Writer

[![Build status](https://ci.appveyor.com/api/projects/status/8o1e5efpqp957kd3?svg=true)](https://ci.appveyor.com/project/joshgav/vipr-t4templatewriter-jqj22)

Source code writers for [VIPR][vipr-source-repo] utilizing T4 templates. The T4TemplateWriter receives an OdcmModel from VIPR and uses it to fill in a T4 template.

Currently the following target languages are supported by this writer:
- Android
- Java for JVM
- Objective-C for iOS

## Contents
- [Prerequisites](#Prerequisites)
- [Getting started](#Getting-started)
- [Using Vipr with this writer](#Using-Vipr-with-this-Writer)
- [Using generated code](#Using-generated-code)
- [Contributing](#Contributing)
- [License](#License)

## Prerequisites
- [Visual Studio SDK](https://www.microsoft.com/en-us/download/details.aspx?id=40758)
- [Visual Studio Modeling SDK](https://www.microsoft.com/en-us/download/details.aspx?id=40754)

## Getting started

This project uses git submodules to integrate upstream dependencies, specifically [Vipr][vipr-source-repo]. This repo will point to [msopentech/vipr/int-msot](https://github.com/msopentech/vipr/tree/int-msot) by default; if you need an alternate branch to include special fixes you'll need to check that out manually within the submodule.

For the solution to open properly, ensure submodules are updated before opening it in Visual Studio. When initially cloning this repo, use `git clone --recursive` to update submodules at the same time. Later, run `git submodule update` to manually update submodules. If you don't use the `--recursive` switch when cloning, run `git submodule init` first to initialize the submodule.

Once setup is complete, you can work with the vipr-t4templatewriter solution as usual. If you encounter problems, make sure NuGet packages and project references are all up-to-date.

> Note: We will consider integrating Vipr via public NuGet packages when these become available.
For more information on submodules read [this chapter](http://git-scm.com/book/en/v2/Git-Tools-Submodules) from the Git book and search the Web.

## Using Vipr with this Writer

1. Build the solution in Visual Studio.
2. Go to the `src\T4TemplateWriter\bin\debug` folder to find all compiled components.
3. In that folder, modify `.config\TemplateWriterSettings.json` to specify target language - either "java" or "objectivec".
4. Open a command prompt as administrator in the same folder and run `Vipr.exe <path-or-url-to-metdata> --writer="T4TemplateWriter"`.

By default, output source code will be put in a folder named "output" next to the Vipr executable.

## Using generated code

Generated code depends on an underlying HTTP client and other services. These are available for [Android and JVM][android-sdk-folder] ([odata-engine-core][], [odata-engine-android-impl][], [odata-engine-jvm-impl][]) and [iOS][ios-sdk-folder] ([office365_odata_base][])

[android-sdk-folder]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk
[ios-sdk-folder]: https://github.com/officedev/office-365-sdk-for-ios/tree/master/sdk-objectivec
[odata-engine-core]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk/odata-engine-core
[odata-engine-android-impl]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk/odata-engine-android-impl
[odata-engine-jvm-impl]: https://github.com/OfficeDev/Office-365-SDK-for-Android/tree/master/sdk/odata-engine-jvm-impl
[office365_odata_base]: https://github.com/OfficeDev/Office-365-SDK-for-iOS/tree/master/sdk-objectivec/office365_odata_base

## Contributing

Before we can accept your pull request, you'll need to electronically complete Microsoft Open Tech's [Contributor License Agreement](https://cla.msopentech.com/). If you've done this for other Microsoft Open Tech projects, then you're already covered.

[Why a CLA?](https://www.gnu.org/licenses/why-assign.html) (from the FSF)

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## License

Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. Licensed under the [MIT license](LICENSE).

0 comments on commit d2f4972

Please sign in to comment.