FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
ReleaseProcessAutomation/Core/Program.cs at develop · re-motion/ReleaseProcessAutomation · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
re-motion
/
ReleaseProcessAutomation
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
ReleaseProcessAutomation
/
Core
/
Program.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
79 lines (69 loc) · 2.54 KB
Breadcrumbs
ReleaseProcessAutomation
/
Core
/
Program.cs
Copy path
File metadata and controls
79 lines (69 loc) · 2.54 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
// Copyright (c) rubicon IT GmbH, www.rubicon.eu
//
// See the NOTICE file distributed with this work for additional information
// regarding copyright ownership. rubicon licenses this file to you under
// the Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. You may obtain a copy of the
// License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
//
using
System
;
using
System
.
Diagnostics
.
CodeAnalysis
;
using
System
.
IO
;
using
Remotion
.
ReleaseProcessAutomation
.
ReadInput
;
using
Serilog
;
using
Spectre
.
Console
;
namespace
Remotion
.
ReleaseProcessAutomation
;
[
ExcludeFromCodeCoverage
]
public
static
class
Program
{
public
static
IAnsiConsole
Console
{
get
;
set
;
}
=
AnsiConsole
.
Console
;
public
static
int
Main
(
string
[
]
args
)
{
ConfigureLogger
(
)
;
var
services
=
new
ApplicationServiceCollectionFactory
(
)
.
CreateServiceCollection
(
)
;
var
app
=
new
ApplicationCommandAppFactory
(
)
.
CreateConfiguredCommandApp
(
services
)
;
try
{
app
.
Run
(
args
)
;
}
catch
(
UserInteractionException
e
)
{
Console
.
WriteLine
(
e
.
Message
)
;
var
log
=
Log
.
ForContext
(
e
.
TargetSite
!
.
DeclaringType
)
;
log
.
Error
(
e
,
"User canceled the operation or cannot continue with release due to inconsistencies in the repository or JIRA."
)
;
return
-
1
;
}
catch
(
Exception
e
)
{
Console
.
WriteException
(
e
,
ExceptionFormats
.
ShortenEverything
)
;
var
log
=
Log
.
ForContext
(
e
.
TargetSite
!
.
DeclaringType
)
;
log
.
Error
(
e
.
Message
)
;
return
-
1
;
}
finally
{
(
Log
.
Logger
as
IDisposable
)
?
.
Dispose
(
)
;
}
return
0
;
}
private
static
void
ConfigureLogger
(
)
{
var
tempPath
=
Path
.
GetTempPath
(
)
;
var
rpsTempLog
=
Path
.
Combine
(
tempPath
,
"ReleaseProcessScript"
,
"logs"
,
"rps.log"
)
;
var
log
=
new
LoggerConfiguration
(
)
.
MinimumLevel
.
Verbose
(
)
.
Enrich
.
FromLogContext
(
)
.
WriteTo
.
Debug
(
outputTemplate
:
"{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] ({SourceContext}) {Message}{NewLine}{Exception}"
)
.
WriteTo
.
File
(
rpsTempLog
,
outputTemplate
:
"{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] ({SourceContext}) {Message}{NewLine}{Exception}"
)
.
CreateLogger
(
)
;
Log
.
Logger
=
log
;
}
}
Back
|
FazBrowse Home
|
New Git URL