15
15
package com.google.firebase.gradle.plugins
16
16
17
17
import com.google.common.truth.Truth.assertThat
18
- import com.google.firebase.gradle.plugins.publish.Mode
19
- import com.google.firebase.gradle.plugins.publish.Mode.*
20
18
import java.io.File
21
19
import org.gradle.testkit.runner.BuildResult
22
20
import org.gradle.testkit.runner.GradleRunner
23
21
import org.gradle.testkit.runner.TaskOutcome
24
- import org.gradle.testkit.runner.UnexpectedBuildFailure
25
- import org.junit.Assert
26
22
import org.junit.Rule
27
23
import org.junit.Test
28
24
import org.junit.rules.TemporaryFolder
@@ -51,7 +47,7 @@ class PublishingPluginTests {
51
47
"""
52
48
)
53
49
subprojectsDefined(project1, project2)
54
- val result = publish(RELEASE , project1, project2)
50
+ val result = publish(project1, project2)
55
51
assertThat(result.task(" :firebasePublish" )?.outcome).isEqualTo(TaskOutcome .SUCCESS )
56
52
57
53
val pomOrNull1 = project1.getPublishedPom(" ${testProjectDir.root} /build/m2repository" )
@@ -103,7 +99,7 @@ class PublishingPluginTests {
103
99
"""
104
100
)
105
101
subprojectsDefined(project1, project2)
106
- val result = publish(RELEASE , project1, project2)
102
+ val result = publish(project1, project2)
107
103
assertThat(result.task(" :firebasePublish" )?.outcome).isEqualTo(TaskOutcome .SUCCESS )
108
104
109
105
val pomOrNull1 = project1.getPublishedPom(" ${testProjectDir.root} /build/m2repository" )
@@ -138,21 +134,15 @@ class PublishingPluginTests {
138
134
)
139
135
}
140
136
141
- private inline fun <reified T : Throwable > buildShouldThrow (crossinline block : () -> Unit ) =
142
- Assert .assertThrows(UnexpectedBuildFailure ::class .java) { block() }
143
- .also { assertThat(it).isInstanceOf(T ::class .java) } as T
144
-
145
137
@Test
146
138
fun `Publish with unreleased dependency` () {
147
139
val project1 = Project (name = " childProject1" , version = " 1.0" )
148
140
val project2 =
149
141
Project (name = " childProject2" , version = " 0.9" , projectDependencies = setOf (project1))
150
142
151
143
subprojectsDefined(project1, project2)
152
- val result = publishAndFail(RELEASE , project2)
144
+ val result = publishAndFail(project2)
153
145
assertThat(result.task(" :checkHeadDependencies" )?.outcome).isEqualTo(TaskOutcome .FAILED )
154
- // also, if our integ tests fail, we need to add multidex back to installations and add a
155
- // removal in our pom transformation for it
156
146
}
157
147
158
148
@Test
@@ -162,7 +152,7 @@ class PublishingPluginTests {
162
152
Project (name = " childProject2" , version = " 0.9" , projectDependencies = setOf (project1))
163
153
subprojectsDefined(project1, project2)
164
154
165
- val result = publish(RELEASE , project2, project1)
155
+ val result = publish(project2, project1)
166
156
assertThat(result.task(" :firebasePublish" )?.outcome).isEqualTo(TaskOutcome .SUCCESS )
167
157
168
158
val pomOrNull1 = project1.getPublishedPom(" ${testProjectDir.root} /build/m2repository" )
@@ -185,73 +175,6 @@ class PublishingPluginTests {
185
175
)
186
176
}
187
177
188
- // @Test
189
- // fun `Publish all dependent snapshot projects succeeds`() {
190
- // val project1 = Project(name = "childProject1", version = "1.0")
191
- // val project2 =
192
- // Project(name = "childProject2", version = "0.9", projectDependencies = setOf(project1))
193
- // subprojectsDefined(project1, project2)
194
- // val result = publish(Mode.SNAPSHOT, project1, project2)
195
- // assertThat(result.task(":firebasePublish")?.outcome).isEqualTo(TaskOutcome.SUCCESS)
196
- //
197
- // val pomOrNull1 = project1.getPublishedPom("${testProjectDir.root}/build/m2repository")
198
- // val pomOrNull2 = project2.getPublishedPom("${testProjectDir.root}/build/m2repository")
199
- // assertThat(pomOrNull1).isNotNull()
200
- // assertThat(pomOrNull2).isNotNull()
201
- //
202
- // val pom1 = pomOrNull1!!
203
- // val pom2 = pomOrNull2!!
204
- //
205
- // assertThat(pom1.artifact.version).isEqualTo("${project1.version}-SNAPSHOT")
206
- // assertThat(pom2.artifact.version).isEqualTo("${project2.version}-SNAPSHOT")
207
- //
208
- // assertThat(pom2.dependencies)
209
- // .isEqualTo(
210
- // listOf(
211
- // Artifact(
212
- // groupId = project1.group,
213
- // artifactId = project1.name,
214
- // version = "${project1.version}-SNAPSHOT",
215
- // type = Type.AAR,
216
- // scope = "compile"
217
- // )
218
- // )
219
- // )
220
- // }
221
- //
222
- // @Test
223
- // fun `Publish snapshots with released dependency`() {
224
- // val project1 = Project(name = "childProject1", version = "1.0", latestReleasedVersion =
225
- // "0.8")
226
- // val project2 =
227
- // Project(name = "childProject2", version = "0.9", projectDependencies = setOf(project1))
228
- // subprojectsDefined(project1, project2)
229
- //
230
- // val result = publish(Mode.SNAPSHOT, project2)
231
- // assertThat(result.task(":firebasePublish")?.outcome).isEqualTo(TaskOutcome.SUCCESS)
232
- //
233
- // val pomOrNull1 = project1.getPublishedPom("${testProjectDir.root}/build/m2repository")
234
- // val pomOrNull2 = project2.getPublishedPom("${testProjectDir.root}/build/m2repository")
235
- // assertThat(pomOrNull1).isNull()
236
- // assertThat(pomOrNull2).isNotNull()
237
- //
238
- // val pom2 = pomOrNull2!!
239
- //
240
- // assertThat(pom2.artifact.version).isEqualTo("${project2.version}-SNAPSHOT")
241
- // assertThat(pom2.dependencies)
242
- // .isEqualTo(
243
- // listOf(
244
- // Artifact(
245
- // groupId = project1.group,
246
- // artifactId = project1.name,
247
- // version = project1.latestReleasedVersion!!,
248
- // type = Type.AAR,
249
- // scope = "compile"
250
- // )
251
- // )
252
- // )
253
- // }
254
-
255
178
@Test
256
179
fun `Publish project should also publish coreleased projects` () {
257
180
val project1 = Project (name = " childProject1" , version = " 1.0.0" , libraryGroup = " test123" )
@@ -264,7 +187,7 @@ class PublishingPluginTests {
264
187
)
265
188
subprojectsDefined(project1, project2)
266
189
267
- val result = publish(RELEASE , project1)
190
+ val result = publish(project1)
268
191
assertThat(result.task(" :firebasePublish" )?.outcome).isEqualTo(TaskOutcome .SUCCESS )
269
192
270
193
val pomOrNull1 = project1.getPublishedPom(" ${testProjectDir.root} /build/m2repository" )
@@ -307,7 +230,7 @@ class PublishingPluginTests {
307
230
)
308
231
subprojectsDefined(project1, project2)
309
232
310
- val result = publish(RELEASE , project2, project1)
233
+ val result = publish(project2, project1)
311
234
assertThat(result.task(" :firebasePublish" )?.outcome).isEqualTo(TaskOutcome .SUCCESS )
312
235
313
236
val pomOrNull2 = project2.getPublishedPom(" ${testProjectDir.root} /build/m2repository" )
@@ -341,18 +264,15 @@ class PublishingPluginTests {
341
264
)
342
265
}
343
266
344
- private fun publish (mode : Mode , vararg projects : Project ): BuildResult =
345
- makeGradleRunner(mode, * projects).build()
267
+ private fun publish (vararg projects : Project ): BuildResult = makeGradleRunner(* projects).build()
346
268
347
- private fun publishAndFail (mode : Mode , vararg projects : Project ) =
348
- makeGradleRunner(mode, * projects).buildAndFail()
269
+ private fun publishAndFail (vararg projects : Project ) = makeGradleRunner(* projects).buildAndFail()
349
270
350
- private fun makeGradleRunner (mode : Mode , vararg projects : Project ) =
271
+ private fun makeGradleRunner (vararg projects : Project ) =
351
272
GradleRunner .create()
352
273
.withProjectDir(testProjectDir.root)
353
274
.withArguments(
354
275
" -PprojectsToPublish=${projects.joinToString(" ," ) { it.name }} " ,
355
- " -PpublishMode=$mode " ,
356
276
" firebasePublish"
357
277
)
358
278
.withPluginClasspath()
0 commit comments