-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy path_Config.fsx
More file actions
123 lines (106 loc) · 4.28 KB
/
Copy path_Config.fsx
File metadata and controls
123 lines (106 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
(**
Sets up all the necessary variables and functions to be used for the other scripts.
*)
#r @"bin\Microsoft.Xrm.Sdk.dll"
#r @"bin\Microsoft.Crm.Sdk.Proxy.dll"
#r @"bin\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
#r @"bin\Microsoft.Xrm.Tooling.Connector.dll"
#r @"bin\Delegate.Daxif.dll"
open System
open System.IO
open Microsoft.Xrm.Sdk.Client
open DG.Daxif
open DG.Daxif.Common.Utility
let args = fsi.CommandLineArgs |> parseArgs
let defaultUsername =
try
let lines = File.ReadAllLines(@"username.txt") in
if (lines.Length > 0) then
let usernameFromFile = lines |> Seq.tryHead in
match usernameFromFile with
| Some str -> sprintf @"username=%s" str
| None -> ""
else
""
with
| :? System.IO.FileNotFoundException -> ""
module Env =
let devUrl = "https://dev.crm4.dynamics.com"
let testUrl = "https://test.crm4.dynamics.com"
let uatUrl = "https://uat.crm4.dynamics.com"
let prodUrl = "https://prod.crm4.dynamics.com"
let dev =
Environment.Create(
name = "Dev",
url = devUrl,
method = ConnectionType.ConnectionString,
connectionString = sprintf @"AuthType=OAuth; url=%s; %s; LoginPrompt=Always; AppId=51f81489-12ee-4a9e-aaae-a2591f45987d; RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97" devUrl defaultUsername,
args = fsi.CommandLineArgs
)
let test =
Environment.Create(
name = "Test",
url = testUrl,
method = ConnectionType.ConnectionString,
connectionString = sprintf @"AuthType=OAuth; url=%s; %s; LoginPrompt=Always; AppId=51f81489-12ee-4a9e-aaae-a2591f45987d; RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97" testUrl defaultUsername,
args = fsi.CommandLineArgs
)
let uat =
Environment.Create(
name = "UAT",
url = uatUrl,
method = ConnectionType.ConnectionString,
connectionString = sprintf @"AuthType=OAuth; url=%s; %s; LoginPrompt=Always; AppId=51f81489-12ee-4a9e-aaae-a2591f45987d; RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97" uatUrl defaultUsername,
args = fsi.CommandLineArgs
)
let prod =
Environment.Create(
name = "Prod",
url = prodUrl,
method = ConnectionType.ConnectionString,
connectionString = sprintf @"AuthType=OAuth; url=%s; %s; LoginPrompt=Always; AppId=51f81489-12ee-4a9e-aaae-a2591f45987d; RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97" prodUrl defaultUsername,
args = fsi.CommandLineArgs
)
(**
CRM Solution Setup
------------------
*)
module SolutionInfo =
let name = @"templatesolutionname"
let displayName = @"templatesolutionname"
module PublisherInfo =
let prefix = @"templatepublisherprefix"
let name = @"XrmBedrock"
let displayName = @"XrmBedrock"
(**
Path and project setup
----------------------
*)
Environment.CurrentDirectory <- __SOURCE_DIRECTORY__
module Path =
let daxifRoot = __SOURCE_DIRECTORY__
let solutionRoot = daxifRoot ++ @"..\..\.."
let srcRoot = solutionRoot ++ @"src"
let toolsFolder = daxifRoot ++ @".."
let webResourceProject = srcRoot ++ "Dataverse" ++ @"WebResources"
let webResourceFolder = webResourceProject ++ @"src" ++ (sprintf "%s_%s" PublisherInfo.prefix SolutionInfo.name)
let pluginDllName = "Merged.templatecompanyname.templateprojectname.Dataverse.Plugins"
/// Path information used by the SolutionPackager scripts
module SolutionPack =
let projName = "SolutionBlueprint"
let projFolder = solutionRoot ++ projName
let xmlMappingFile = projFolder ++ (sprintf "%s.xml" SolutionInfo.name)
let customizationsFolder = projFolder ++ @"customizations"
let projFile = projFolder ++ (sprintf @"%s.csproj" projName)
/// Paths Daxif uses to store/load files
module Daxif =
let crmSolutionsFolder = daxifRoot ++ "solutions"
let unmanagedSolution = crmSolutionsFolder ++ (sprintf "%s.zip" SolutionInfo.name)
let managedSolution = crmSolutionsFolder ++ (sprintf "%s_managed.zip" SolutionInfo.name)
let translationsFolder = daxifRoot ++ "translations"
let metadataFolder = daxifRoot ++ "metadata"
let dataFolder = daxifRoot ++ "data"
let stateFolder = daxifRoot ++ "state"
let associationsFolder = daxifRoot ++ "associations"
let mappingFolder = daxifRoot ++ "mapping"
let importedFolder = daxifRoot ++ "imported"