Skip to content

Commit

Permalink
Merge pull request #526 from bugsnag/release/v8.0.1
Browse files Browse the repository at this point in the history
Release v8.0.1
  • Loading branch information
lemnik committed May 2, 2023
2 parents a4c9a86 + 765dcf3 commit 86d31c9
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 33 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## 8.0.1 (2023-05-02)

### Bug Fixes

* Removed `git --version` run from the configuration phase, improving compatibility with Gradle configuration caching
[#524](https://github.com/bugsnag/bugsnag-android-gradle-plugin/pull/524)
* Fixed a Version parse bug which blocked the use of Gradle Nightly builds
[#525](https://github.com/bugsnag/bugsnag-android-gradle-plugin/pull/525)

## 8.0.0 (2023-04-24)

### Enhancements
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ POM_ARTIFACT_ID=bugsnag-android-gradle-plugin
POM_PACKAGING=jar

GROUP=com.bugsnag
VERSION_NAME=8.0.0
VERSION_NAME=8.0.1
POM_DESCRIPTION=Gradle plugin to automatically upload ProGuard mapping files to Bugsnag.

POM_URL=https://github.com/bugsnag/bugsnag-android-gradle-plugin/
Expand Down
21 changes: 8 additions & 13 deletions src/main/kotlin/com/bugsnag/android/gradle/BugsnagReleasesTask.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.bugsnag.android.gradle

import com.bugsnag.android.gradle.internal.BugsnagHttpClientHelper
import com.bugsnag.android.gradle.internal.GitVersionValueSource
import com.bugsnag.android.gradle.internal.UploadRequestClient
import com.bugsnag.android.gradle.internal.mapProperty
import com.bugsnag.android.gradle.internal.property
import com.bugsnag.android.gradle.internal.register
import com.bugsnag.android.gradle.internal.runRequestWithRetries
import com.bugsnag.android.gradle.internal.systemPropertyCompat
import com.squareup.moshi.JsonClass
import okhttp3.OkHttpClient
import org.gradle.api.DefaultTask
Expand All @@ -30,7 +30,6 @@ import org.gradle.process.ExecOperations
import org.gradle.process.ExecResult
import org.gradle.process.ExecSpec
import org.gradle.process.internal.ExecException
import org.semver.Version
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
Expand Down Expand Up @@ -268,22 +267,19 @@ open class BugsnagReleasesTask @Inject constructor(
execSpec.standardOutput = baos
logging.captureStandardError(LogLevel.INFO)
}
String(baos.toByteArray(), Charset.forName(CHARSET_UTF8)).trim { it <= ' ' }

baos.toString(Charset.defaultCharset()).trim { it <= ' ' }
} catch (ignored: ExecException) {
null
}
}

internal fun configureMetadata() {
val gradleVersionNumber = gradleVersion.orNull?.let {
gradleVersion.set(it)
Version.parse(it)
}
gitVersion.set(providerFactory.provider { runCmd(VCS_COMMAND, "--version") })
osArch.set(providerFactory.systemPropertyCompat(MK_OS_ARCH, gradleVersionNumber))
osName.set(providerFactory.systemPropertyCompat(MK_OS_NAME, gradleVersionNumber))
osVersion.set(providerFactory.systemPropertyCompat(MK_OS_VERSION, gradleVersionNumber))
javaVersion.set(providerFactory.systemPropertyCompat(MK_JAVA_VERSION, gradleVersionNumber))
gitVersion.set(providerFactory.of(GitVersionValueSource::class.java) {})
osArch.set(providerFactory.systemProperty(MK_OS_ARCH))
osName.set(providerFactory.systemProperty(MK_OS_NAME))
osVersion.set(providerFactory.systemProperty(MK_OS_VERSION))
javaVersion.set(providerFactory.systemProperty(MK_JAVA_VERSION))
}

companion object {
Expand All @@ -300,7 +296,6 @@ open class BugsnagReleasesTask @Inject constructor(
private const val MK_OS_VERSION = "os.version"
private const val MK_JAVA_VERSION = "java.version"
private const val VCS_COMMAND = "git"
private const val CHARSET_UTF8 = "UTF-8"

@JvmStatic
fun isValidVcsProvider(provider: String?): Boolean {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.bugsnag.android.gradle.internal

import org.gradle.api.provider.ValueSource
import org.gradle.api.provider.ValueSourceParameters
import org.gradle.process.ExecOperations
import java.io.ByteArrayOutputStream
import java.nio.charset.Charset
import javax.inject.Inject

abstract class GitVersionValueSource : ValueSource<String, ValueSourceParameters.None> {
@get:Inject
abstract val execOperations: ExecOperations

override fun obtain(): String {
val output = ByteArrayOutputStream()
execOperations.exec {
it.commandLine("git", "--version")
it.standardOutput = output
}
return output.toString(Charset.defaultCharset())
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,14 @@ import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.MapProperty
import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.gradle.api.provider.SetProperty
import org.gradle.api.tasks.TaskContainer
import org.gradle.api.tasks.TaskProvider
import org.semver.Version
import java.io.File

internal object GradleVersions {
val VERSION_6_1: Version = Version.parse("6.1")
}

internal object AgpVersions {
// Use baseVersion to avoid any qualifiers like `-alpha06`
// Use releaseVersion to avoid any qualifiers like `-alpha06`
val CURRENT: Version = Version.parse(ANDROID_GRADLE_PLUGIN_VERSION).toReleaseVersion()
val VERSION_8_0: Version = Version.parse("8.0.0")
val VERSION_9_0: Version = Version.parse("9.0.0")
Expand Down Expand Up @@ -114,18 +108,6 @@ internal fun ApkVariantOutput.includesAbi(abi: String): Boolean {
return splitArch == null || abi == splitArch
}

/** Returns a String provider for a system property. */
internal fun ProviderFactory.systemPropertyCompat(
name: String,
gradleVersion: Version?
): Provider<String> {
return if (gradleVersion != null && gradleVersion >= GradleVersions.VERSION_6_1) {
systemProperty(name)
} else {
provider { System.getProperty(name) }
}
}

/**
* Clears a directory of any files it contains.
*/
Expand Down

0 comments on commit 86d31c9

Please sign in to comment.