-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathglobal.bsd
More file actions
176 lines (159 loc) · 7.18 KB
/
global.bsd
File metadata and controls
176 lines (159 loc) · 7.18 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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
year = '2018'
# Your project dependencies are delivered as NuGet packages.
# .NETBuilder defaults to download these packages to your repo's working directory. The design ensures
# that all changes are made inside the repo's directory, and .NETBuild does not touch anything else on your
# system.
# However, the downside is that this can quickly eat a lot of disk space when you have multiple repos, because
# when two different repos have the same dependency package, that package will be downloaded twice to each repo's working
# directory.
# You can override overcome this by explicitly setting where NuGet packages should be saved on your system. The setting below
# will save packages to 'packages/oneget' under the repo's drive root (e.g. 'E:\packages\oneget')
pkgDir = ${rootDir}'packages/oneget'
# Credential files are used to publish your build to NuGet repositories. Its contents are set to be ignored by the '.gitignore'
# file, so you don't accidentally expose your credentials.
# The credential directory path lives in the repo's 'credential' folder by default. You can set it explicitly here.
#credDir = ${rootDir}'Credentials/lizoc'
# ------------------
# Tooling
# ------------------
# .NET Core 2.2.0
# https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2.0/2.2.0-download.md
# SDK binaries for Windows x64. Change to match your OS, which you can find from the URL above.
dotnetSdkUrl = 'https://download.visualstudio.microsoft.com/download/pr/02a78e5a-3e7b-4d7e-a730-b46c9f551346/6dae57a34f649095d745acedb773d75f/dotnet-sdk-2.2.100-win-x64.zip'
dotnetRuntimeUrl = 'https://download.visualstudio.microsoft.com/download/pr/62711024-fa98-4919-9fe0-466744b20941/4cdef0431350a441b45e11784f657b09/dotnet-runtime-2.2.0-win-x64.zip'
# The .NETCore SDK is needed to build your code.
# Similarly to how .NETBuilder manages your NuGet packages, the default behavior is to download the sdk into the repo working directory,
# which means it will install a copy of the same SDK in each repo that is on your local system. By specifying a custom location below,
# all repos will share the same SDK.
# The SDK archive is about 150mb, which will be downloaded to the repo's temp directory. it then needs to be expanded to the sdk directory below,
# consuming about 1.3gb.
# You can safely delete the SDK archive manually in the repo's temp directory. It won't be downloaded again unless it cannot find the directory below.
dotnetSdkDir = ${rootDir}'packages/dotnetsdk'
# ------------------
# Git and CI
# ------------------
gitUser = 'buildcenter'
gitServerUrl = 'https://www.github.com'
docServerUrl = 'http://'${gitUser}'.github.io'
# ------------------
# Version management
# ------------------
versioning {
major = 2
minor = 0
revision = 0
# Default value is 'beta'. You should set it to '' or comment out when releasing a production build
suffix = 'beta'
# The 'build' property takes its value from either 'release-build' or 'debug-build', depending on the configuration.
# Build number to use when configuration is 'release'
# Use 'auto' to autoincrement with every build
release-build = 214
# Build number to use when configuration is 'debug'
# Use 'auto' to autoincrement with every build
#debug-build = auto
}
# ------------------
# Branding
# ------------------
repoFullName = 'DotNet Builder'
company = 'Lizoc Inc.'
product = 'Lizoc DotNet Builder'
authors = [ 'Lizoc' ]
trademark = 'Lizoc'
# required by copyright header
website = 'http://www.lizoc.com'
license = 'MIT'
# The copyright header is applied to all files matching the wildcards under each project's directory in the working folder.
copyrightHeader {
'Source/*.cs' {
# header must appear at beginning of file => ^
# first line: `//`, optional whitespaces, then repeating `-` => (//)(\s)*(-)+
# newline: `\r\n` or `\n` => ((\r){0,1}(\n))
# second line: `//`, optional whitespaces, `<copyright`, any chars except line break, then `>` => (//)(\s)*(<copyright)(.)*(>)
# second line continue: any chars and line breaks => (.|\n)*
# second last line: `//`, optional whitespaces, `</copyright>`, then newline => (//)(\s)*(</copyright>)((\r){0,1}(\n))
# last line: `//`, optional whitespaces, then repeating `-`, then repeating whitespace and newlines => (//)(\s)*(-)+(\s|\n)*
find = '^(//)(\\s)*(-)+((\\r){0,1}(\\n))(//)(\\s)*(<copyright)(.)*(>)(.|\\n)*(//)(\\s)*(</copyright>)((\\r){0,1}(\\n))(//)(\\s)*(-)+(\\s|\\n)*'
replace = '''// -----------------------------------------------------------------------
// <copyright file="${filename}" repo="'''${repoFullName}'''">
// Copyright (C) '''${year}''' '''${company}''' <'''${website}'''>
// The source code in this file is subject to the '''${license}''' license.
// See the LICENSE file in the repository root directory for more information.
// </copyright>
// -----------------------------------------------------------------------
'''
recurse = true
}
}
# ------------------
# Security
# ------------------
strongNameKey {
testsign {
path = ${credDir}'/testsign.snk'
token = '4f8b4d6b7de87e34'
hash = '0024000004800000940000000602000000240000525341310004000001000100bd215f1ff1ac4aa2795fb7d7ef3fe4926b7cc4f316b87f7d0ef1b1923c05712454de1a7584918960464143bb0e081c55d832b9cd24116924281360b5a8356d15ca91298a952dfb48e58aa9dfbad79a17f6f68d97288d02abeff5644d150854395a91287419a2a18787513c92a7fe17ea1ed87d140114cfc38da2c8176064d4b5'
}
}
# ------------------
# Nuget
# ------------------
package {
source {
'nuget.org' {
url = 'https://api.nuget.org/v3/index.json'
apiSchema = 'oneget'
apiVersion = 3
#disabled = false
#apikey = ''
#username = ''
#password = ''
}
}
output {
nuget {
tags = ['lizoc']
owners = ['lizoc']
sourceCodeUrl = ${gitServerUrl}'/'${gitUser}'/'${repoName}
projectUrl = ${docServerUrl}'/'${repoName}
licenseUrl = ${package.output.nuget.projectUrl}'/license'
releaseNotesUrl = ${package.output.nuget.projectUrl}'/releasenotes'
iconUrl = ${package.output.nuget.projectUrl}'/icon.png'
requireLicenseAcceptance = false
files {
'/' = [
${repoDir}'/LICENSE'
${repoDir}'/THIRD-PARTY-LICENSE.txt'
${repoDir}'/README.md'
${repoDir}'/icon.png'
]
}
}
}
publish {
'nuget.org' {
apiSchema = 'oneget'
url = 'https://www.nuget.org/api/v2/package'
symbols = true
#symbolsUrl = ''
timeout = 60
#disabled = false
}
}
}
# ------------------
# Global templates
# ------------------
templates {
'nuget.config' {
path = ${toolsDir}'/DotNetBuilder/nuget.config.tmpl1'
outputPath = 'nuget.config'
outputBasePath = 'workingSourceDir'
global = true
}
'Message.resx' {
path = ${toolsDir}'/DotNetBuilder/Message.resx.tmpl1'
outputPath = 'Resource/Message.resx'
outputBasePath = 'projectDir'
}
}