From d15cf907600ae57aacbee0d7e4d3687f08106be0 Mon Sep 17 00:00:00 2001 From: John Bevan Date: Thu, 27 Sep 2018 13:26:01 +0100 Subject: [PATCH 1/2] #76 - allow configuration to be specified as a relative path --- .../ConsoleAppSamples/ODataClient/ODataClient.tt | 6 ++++++ .../ConsoleAppSamples/ODataClient/ODataClient.ttinclude | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt index 78f6f13..9820c74 100644 --- a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt +++ b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt @@ -7,6 +7,12 @@ public static class Configuration // ### Notice ### If the OData service requires authentication for accessing the metadata document, the value of // MetadataDocumentUri has to be set to a local file path, or the client code generation process will fail. public const string MetadataDocumentUri = "https://retail1611pu6c4dd29587c42e289devaos.cloudax.dynamics.com/data/$metadata"; + + // If you would like to save the defintion to the local project folder and avoid having to specify an absolute path + // simply set MetadataDocumentUri to null, and amend ProjectRelativeMetadataDocumentUri to hold the relative path + // to your metadata file. This is then resolved using Host.ResolvePath (see https://docs.microsoft.com/en-gb/visualstudio/modeling/t4-template-directive?view=vs-2015#hostspecific-attribute). + // If MetadataDocumentUri is not null, this value is ignored. + public const string ProjectRelativeMetadataDocumentUri = "metadata.xml"; // The use of DataServiceCollection enables entity and property tracking. The value must be set to true or false. public const bool UseDataServiceCollection = true; diff --git a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude index b0062f4..adf3edb 100644 --- a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude +++ b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude @@ -311,7 +311,7 @@ public void ValidateAndSetIgnoreUnexpectedElementsAndAttributesFromString(string /// private void ApplyParametersFromConfigurationClass() { - this.MetadataDocumentUri = Configuration.MetadataDocumentUri; + this.MetadataDocumentUri = Configuration.MetadataDocumentUri ?? Host.ResolvePath(Configuration.ProjectRelativeMetadataDocumentUri); this.NamespacePrefix = Configuration.NamespacePrefix; this.UseDataServiceCollection = Configuration.UseDataServiceCollection; this.ValidateAndSetTargetLanguageFromString(Configuration.TargetLanguage); From b3461ef5c5a2e3f3a2a6b3ff34222f5545212d95 Mon Sep 17 00:00:00 2001 From: John Bevan Date: Thu, 27 Sep 2018 13:27:56 +0100 Subject: [PATCH 2/2] #76 - NB: Removed invalid line breaks at end of file which corrupt T4. --- .../ConsoleAppSamples/ODataClient/ODataClient.tt | 2 +- .../ConsoleAppSamples/ODataClient/ODataClient.ttinclude | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt index 9820c74..9e2a9a0 100644 --- a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt +++ b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.tt @@ -78,4 +78,4 @@ public static class Customization return upperNamespace; } } -#> +#> \ No newline at end of file diff --git a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude index adf3edb..7e05f19 100644 --- a/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude +++ b/FileBasedIntegrationSamples/ConsoleAppSamples/ODataClient/ODataClient.ttinclude @@ -5071,4 +5071,4 @@ End Namespace <#+ } } -#> +#> \ No newline at end of file