Skip to content

Commit

Permalink
Fix test.
Browse files Browse the repository at this point in the history
  • Loading branch information
autonomousapps committed Nov 8, 2023
1 parent 7d5e5f4 commit 7036c9c
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 42 deletions.
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
package com.autonomousapps.android

import com.autonomousapps.fixtures.AnotherCompileOnlyProject
import com.autonomousapps.android.projects.CompileOnlyProject
import com.autonomousapps.fixtures.CompileOnlyTestProject

import static com.autonomousapps.advice.truth.BuildHealthSubject.buildHealth
import static com.autonomousapps.utils.Runner.build
import static com.google.common.truth.Truth.assertAbout
import static com.google.common.truth.Truth.assertThat

@SuppressWarnings("GroovyAssignabilityCheck")
final class CompileOnlySpec extends AbstractAndroidSpec {

def "compileOnly deps are never suggested to be changed (#gradleVersion AGP #agpVersion)"() {
def project = new AnotherCompileOnlyProject(agpVersion)
androidProject = project.newProject()
def project = new CompileOnlyProject(agpVersion)
gradleProject = project.gradleProject
when:
build(gradleVersion, androidProject, 'buildHealth')
build(gradleVersion, gradleProject.rootDir, 'buildHealth')
then:
assertThat(androidProject.adviceFor(project.androidKotlinLib))
.containsExactlyElementsIn(project.expectedAdviceForLib)
assertAbout(buildHealth())
.that(project.actualBuildHealth())
.isEquivalentIgnoringModuleAdvice(project.expectedBuildHealth)
where:
[gradleVersion, agpVersion] << gradleAgpMatrix()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.autonomousapps.android.projects

import com.autonomousapps.kit.GradleProject
import com.autonomousapps.kit.gradle.BuildscriptBlock
import com.autonomousapps.kit.gradle.GradleProperties
import com.autonomousapps.kit.gradle.dependencies.Plugins
import com.autonomousapps.model.ProjectAdvice

import static com.autonomousapps.AdviceHelper.actualProjectAdvice
import static com.autonomousapps.AdviceHelper.emptyProjectAdviceFor
import static com.autonomousapps.kit.gradle.dependencies.Dependencies.commonsText

final class CompileOnlyProject extends AbstractAndroidProject {

final String agpVersion
final GradleProject gradleProject

CompileOnlyProject(String agpVersion) {
super(agpVersion)
this.agpVersion = agpVersion
this.gradleProject = build()
}

private GradleProject build() {
return newGradleProjectBuilder()
.withRootProject { root ->
root.gradleProperties = GradleProperties.minimalAndroidProperties()
root.withBuildScript { bs ->
bs.buildscript = BuildscriptBlock.defaultAndroidBuildscriptBlock(agpVersion)
}
}
.withAndroidLibProject('lib', 'com.example.lib') { lib ->
lib.manifest = libraryManifest()
lib.colors = null
lib.styles = null
lib.withBuildScript { bs ->
bs.plugins = [Plugins.androidLib, Plugins.kotlinAndroid]
bs.android = androidLibBlock(true)
bs.dependencies = [
commonsText('compileOnly'),
]
}
}
.write()
}

Set<ProjectAdvice> actualBuildHealth() {
return actualProjectAdvice(gradleProject)
}

final Set<ProjectAdvice> expectedBuildHealth = [
emptyProjectAdviceFor(':lib'),
]
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class RootSpec @JvmOverloads constructor(
android.useAndroidX=true
# Try to prevent OOMs (Metaspace) in test daemons spawned by testkit tests
org.gradle.jvmargs=-Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:GCTimeLimit=20 -XX:GCHeapFreeLimit=10 -XX:MaxMetaspaceSize=1024m
org.gradle.jvmargs=-Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:MaxMetaspaceSize=1024m
""".trimIndent()

@JvmStatic fun defaultSettingsScript(agpVersion: String?, librarySpecs: List<LibrarySpec>?) = """
Expand Down

0 comments on commit 7036c9c

Please sign in to comment.