@@ -3,7 +3,16 @@ package systems.danger.kotlin
3
3
import systems.danger.kotlin.models.danger.DangerDSL
4
4
import systems.danger.kotlin.models.git.FilePath
5
5
6
- internal lateinit var dangerRunner: MainDangerRunner
6
+ internal var dangerRunner: MainDangerRunner ? = null
7
+
8
+ internal val runnerInstance: MainDangerRunner
9
+ get() {
10
+ if (dangerRunner != null ) {
11
+ return dangerRunner!!
12
+ } else {
13
+ throw IllegalArgumentException (" Danger must be initialised before accessing it" )
14
+ }
15
+ }
7
16
8
17
/* *
9
18
* Syntactic sugar that allows you to work with a [DangerDSL] descriptor in a single Danger block.
@@ -40,7 +49,7 @@ fun Danger(args: Array<String>): DangerDSL {
40
49
dangerRunner = MainDangerRunner (jsonInputFilePath, jsonOutputPath)
41
50
}
42
51
43
- return dangerRunner.danger
52
+ return dangerRunner!! .danger
44
53
}
45
54
46
55
/* *
@@ -49,7 +58,7 @@ fun Danger(args: Array<String>): DangerDSL {
49
58
* @param message the standard message
50
59
*/
51
60
fun message (message : String ) =
52
- dangerRunner .message(message)
61
+ runnerInstance .message(message)
53
62
54
63
/* *
55
64
* Adds an inline message message to the Danger report
@@ -59,15 +68,15 @@ fun message(message: String) =
59
68
* @param line the line number into the target file
60
69
*/
61
70
fun message (message : String , file : FilePath , line : Int ) =
62
- dangerRunner .message(message, file, line)
71
+ runnerInstance .message(message, file, line)
63
72
64
73
/* *
65
74
* Adds an inline markdown message to the Danger report
66
75
*
67
76
* @param message the markdown formatted message
68
77
*/
69
78
fun markdown (message : String ) =
70
- dangerRunner .markdown(message)
79
+ runnerInstance .markdown(message)
71
80
72
81
/* *
73
82
* Adds an inline markdown message to the Danger report
@@ -77,15 +86,15 @@ fun markdown(message: String) =
77
86
* @param line the line number into the target file
78
87
*/
79
88
fun markdown (message : String , file : FilePath , line : Int ) =
80
- dangerRunner .markdown(message, file, line)
89
+ runnerInstance .markdown(message, file, line)
81
90
82
91
/* *
83
92
* Adds an inline warning message to the Danger report
84
93
*
85
94
* @param message the warning message
86
95
*/
87
96
fun warn (message : String ) =
88
- dangerRunner .warn(message)
97
+ runnerInstance .warn(message)
89
98
90
99
/* *
91
100
* Adds an inline warning message to the Danger report
@@ -95,15 +104,15 @@ fun warn(message: String) =
95
104
* @param line the line number into the target file
96
105
*/
97
106
fun warn (message : String , file : FilePath , line : Int ) =
98
- dangerRunner .warn(message, file, line)
107
+ runnerInstance .warn(message, file, line)
99
108
100
109
/* *
101
110
* Adds an inline fail message to the Danger report
102
111
*
103
112
* @param message the fail message
104
113
*/
105
114
fun fail (message : String ) =
106
- dangerRunner .fail(message)
115
+ runnerInstance .fail(message)
107
116
108
117
/* *
109
118
* Adds an inline fail message to the Danger report
@@ -113,7 +122,7 @@ fun fail(message: String) =
113
122
* @param line the line number into the target file
114
123
*/
115
124
fun fail (message : String , file : FilePath , line : Int ) =
116
- dangerRunner .fail(message, file, line)
125
+ runnerInstance .fail(message, file, line)
117
126
118
127
/* *
119
128
* Adds an inline suggested code message to the Danger report
@@ -123,4 +132,4 @@ fun fail(message: String, file: FilePath, line: Int) =
123
132
* @param line the line number into the target file
124
133
*/
125
134
fun suggest (code : String , file : FilePath , line : Int ) =
126
- dangerRunner .suggest(code, file, line)
135
+ runnerInstance .suggest(code, file, line)
0 commit comments