From d4747fc3f3a312e78a93d6252b19129f61f96c9f Mon Sep 17 00:00:00 2001 From: Jeff Gaston Date: Wed, 16 Oct 2019 18:53:06 -0400 Subject: Checking in a script for each build server target To make them easier to find, read, edit, and test Bug: 141549086 Test: ls frameworks/support/busytown/*.sh | cat | sed 's|^|DIST_DIR=out/dist |' | bash Change-Id: I2f9953ca253b57b8c09f6c1de29257a747f02d76 (cherry picked from commit 5097b4f567e8861730156b310dba82b27a90d4de) --- busytown/androidx_host_tests.sh | 13 +++++++++++++ busytown/androidx_max_dep_versions.sh | 13 +++++++++++++ busytown/androidx_snapshot.sh | 13 +++++++++++++ busytown/androidx_test_changed_apks.sh | 13 +++++++++++++ busytown/androidx_test_dependent_apks.sh | 13 +++++++++++++ 5 files changed, 65 insertions(+) create mode 100755 busytown/androidx_host_tests.sh create mode 100755 busytown/androidx_max_dep_versions.sh create mode 100755 busytown/androidx_snapshot.sh create mode 100755 busytown/androidx_test_changed_apks.sh create mode 100755 busytown/androidx_test_dependent_apks.sh diff --git a/busytown/androidx_host_tests.sh b/busytown/androidx_host_tests.sh new file mode 100755 index 00000000000..84154e6eac6 --- /dev/null +++ b/busytown/androidx_host_tests.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd $(dirname $0) && pwd)" +# TODO(b/141549086): move everything below into a common script once this script (androidx_host_tests.sh) is under presubmit testing +if [ "$DIST_DIR" == "" ]; then + DIST_DIR="$SCRIPT_DIR/../../../out/dist" +fi +mkdir -p "$DIST_DIR" +cd "$SCRIPT_DIR/../../.." + +OUT_DIR=out DIST_DIR="$DIST_DIR" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/gradlew -p frameworks/support --no-daemon test jacocoTestReport zipEcFiles --info +OUT_DIR=out/ui DIST_DIR="$DIST_DIR/ui" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/ui/gradlew -p frameworks/support/ui --no-daemon test jacocoTestReport zipEcFiles --info diff --git a/busytown/androidx_max_dep_versions.sh b/busytown/androidx_max_dep_versions.sh new file mode 100755 index 00000000000..2f5809964e0 --- /dev/null +++ b/busytown/androidx_max_dep_versions.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd $(dirname $0) && pwd)" +# TODO(b/141549086): move everything below into a common script once this script (androidx_max_dep_versions.sh) is under presubmit testing +if [ "$DIST_DIR" == "" ]; then + DIST_DIR="$SCRIPT_DIR/../../../out/dist" +fi +mkdir -p "$DIST_DIR" +cd "$SCRIPT_DIR/../../.." + +OUT_DIR=out DIST_DIR="$DIST_DIR" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/gradlew -p frameworks/support --no-daemon buildOnServer -PuseMaxDepVersions +OUT_DIR=out/ui DIST_DIR="$DIST_DIR/ui" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/ui/gradlew -p frameworks/support/ui --no-daemon buildOnServer -PuseMaxDepVersions diff --git a/busytown/androidx_snapshot.sh b/busytown/androidx_snapshot.sh new file mode 100755 index 00000000000..d7ab793ed95 --- /dev/null +++ b/busytown/androidx_snapshot.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd $(dirname $0) && pwd)" +# TODO(b/141549086): move everything below into a common script once this script (androidx_host_tests_max_dep_versions.sh) is under presubmit testing +if [ "$DIST_DIR" == "" ]; then + DIST_DIR="$SCRIPT_DIR/../../../out/dist" +fi +mkdir -p "$DIST_DIR" +cd "$SCRIPT_DIR/../../.." + +SNAPSHOT=true OUT_DIR=out DIST_DIR="$DIST_DIR" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/gradlew -p frameworks/support --no-daemon createArchive +SNAPSHOT=true OUT_DIR=out/ui DIST_DIR="$DIST_DIR/ui" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/ui/gradlew -p frameworks/support/ui --no-daemon createArchive diff --git a/busytown/androidx_test_changed_apks.sh b/busytown/androidx_test_changed_apks.sh new file mode 100755 index 00000000000..71c55f649a5 --- /dev/null +++ b/busytown/androidx_test_changed_apks.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd $(dirname $0) && pwd)" +# TODO(b/141549086): move everything below into a common script once this script (androidx_test_changed_apks.sh) is under presubmit testing +if [ "$DIST_DIR" == "" ]; then + DIST_DIR="$SCRIPT_DIR/../../../out/dist" +fi +mkdir -p "$DIST_DIR" +cd "$SCRIPT_DIR/../../.." + +OUT_DIR=out DIST_DIR="$DIST_DIR" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/gradlew -p frameworks/support --no-daemon buildTestApks -Pandroidx.enableAffectedModuleDetection -Pandroidx.changedProjects +OUT_DIR=out/ui DIST_DIR="$DIST_DIR/ui" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/ui/gradlew -p frameworks/support/ui --no-daemon buildTestApks -Pandroidx.enableAffectedModuleDetection -Pandroidx.changedProjects diff --git a/busytown/androidx_test_dependent_apks.sh b/busytown/androidx_test_dependent_apks.sh new file mode 100755 index 00000000000..ba3c49ee2fd --- /dev/null +++ b/busytown/androidx_test_dependent_apks.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd $(dirname $0) && pwd)" +# TODO(b/141549086): move everything below into a common script once this script (androidx_test_dependent_apks.sh) is under presubmit testing +if [ "$DIST_DIR" == "" ]; then + DIST_DIR="$SCRIPT_DIR/../../../out/dist" +fi +mkdir -p "$DIST_DIR" +cd "$SCRIPT_DIR/../../.." + +OUT_DIR=out DIST_DIR="$DIST_DIR" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/gradlew -p frameworks/support --no-daemon buildTestApks -Pandroidx.enableAffectedModuleDetection -Pandroidx.dependentProjects +OUT_DIR=out/ui DIST_DIR="$DIST_DIR/ui" ANDROID_HOME=`pwd`/prebuilts/fullsdk-linux frameworks/support/ui/gradlew -p frameworks/support/ui --no-daemon buildTestApks -Pandroidx.enableAffectedModuleDetection -Pandroidx.dependentProjects' -- cgit v1.2.3 From c6aa5736ff444cd0d0f5315dda98cc27548be67d Mon Sep 17 00:00:00 2001 From: Nick Anthony Date: Wed, 20 Nov 2019 16:23:27 -0500 Subject: Using frameworks/support for build_info.txt sha This aligns the release shas with how they're actually used and what we actually publish This way we will track the sha at HEAD in frameworks/support for diff logs and releases Test: ./gradlew buildSrc-tests:test createAggregateBuildInfoFiles && subl ../../out/dist/androidx_aggregate_build_info.txt Change-Id: Iac2557cd41ae96050aa6ed58ccab2a05ad91c623 (cherry picked from commit f21b9b8360ac6a272d508a9d158fdec80f4f4711) --- .../main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt b/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt index e6da539d2d7..676de5786c6 100644 --- a/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt +++ b/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt @@ -68,7 +68,10 @@ open class CreateLibraryBuildInfoFileTask : DefaultTask() { return library?.mavenGroup?.requireSameVersion ?: false } - private fun getCommitShaAtHead(): String { + /* For androidx release notes, the most common use case is to track and publish the last sha + * of the build that is released. Thus, we use frameworks/support to get the sha + */ + private fun getFrameworksSupportCommitShaAtHead(): String { val commitList: List = GitClientImpl(project.rootDir).getGitLog( GitCommitRange( fromExclusive = "", @@ -76,7 +79,7 @@ open class CreateLibraryBuildInfoFileTask : DefaultTask() { n = 1 ), keepMerges = true, - fullProjectDir = project.projectDir + fullProjectDir = getSupportRoot(project) ) return commitList.first().sha } @@ -108,7 +111,7 @@ open class CreateLibraryBuildInfoFileTask : DefaultTask() { libraryBuildInfoFile.groupId = project.group.toString() libraryBuildInfoFile.version = project.version.toString() libraryBuildInfoFile.path = getProjectSpecificDirectory() - libraryBuildInfoFile.sha = getCommitShaAtHead() + libraryBuildInfoFile.sha = getFrameworksSupportCommitShaAtHead() libraryBuildInfoFile.groupIdRequiresSameVersion = requiresSameVersion() val libraryDependencies = ArrayList() val checks = ArrayList() -- cgit v1.2.3 From 21ddfd052780913ac2f8c170385848ba44c7717e Mon Sep 17 00:00:00 2001 From: Nick Anthony Date: Tue, 11 Aug 2020 14:01:57 +0000 Subject: resolve Coastguard cherrypick merge conflict for change: 1395824 (originally aosp/1226615) Test: gw bOS Change-Id: Ie377f824f4e5354bfc2ada3f0804f65e02be4a53 (cherry picked from commit 0edde20aee18ba24dbcabd43b6e8b8e88e99efb7) --- .../androidx/build/CreateLibraryBuildInfoFileTask.kt | 5 +++-- .../kotlin/androidx/build/gitclient/GitClient.kt | 20 +++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt b/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt index 676de5786c6..47f9f64b4b4 100644 --- a/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt +++ b/buildSrc/src/main/kotlin/androidx/build/CreateLibraryBuildInfoFileTask.kt @@ -72,14 +72,15 @@ open class CreateLibraryBuildInfoFileTask : DefaultTask() { * of the build that is released. Thus, we use frameworks/support to get the sha */ private fun getFrameworksSupportCommitShaAtHead(): String { - val commitList: List = GitClientImpl(project.rootDir).getGitLog( + val supportRoot = getSupportRoot(project) + val commitList: List = GitClientImpl(supportRoot, logger).getGitLog( GitCommitRange( fromExclusive = "", untilInclusive = "HEAD", n = 1 ), keepMerges = true, - fullProjectDir = getSupportRoot(project) + fullProjectDir = supportRoot ) return commitList.first().sha } diff --git a/buildSrc/src/main/kotlin/androidx/build/gitclient/GitClient.kt b/buildSrc/src/main/kotlin/androidx/build/gitclient/GitClient.kt index 5b4e735bb1c..4deb830e85c 100644 --- a/buildSrc/src/main/kotlin/androidx/build/gitclient/GitClient.kt +++ b/buildSrc/src/main/kotlin/androidx/build/gitclient/GitClient.kt @@ -151,6 +151,7 @@ class GitClientImpl( val bodyDelimiter: String = "_Body:" val localProjectDir: String = fullProjectDir.toString() .removePrefix(gitRoot.toString()) + val relativeProjectDir: String = fullProjectDir.relativeTo(workingDir).toString() var gitLogOptions: String = "--pretty=format:$commitStartDelimiter%n" + @@ -168,10 +169,10 @@ class GitClientImpl( if (gitCommitRange.fromExclusive != "") { gitLogCmd = "$GIT_LOG_CMD_PREFIX $gitLogOptions " + "${gitCommitRange.fromExclusive}..${gitCommitRange.untilInclusive}" + - " -- $fullProjectDir" + " -- ./$relativeProjectDir" } else { gitLogCmd = "$GIT_LOG_CMD_PREFIX $gitLogOptions ${gitCommitRange.untilInclusive} -n " + - "${gitCommitRange.n} -- $fullProjectDir" + "${gitCommitRange.n} -- ./$relativeProjectDir" } val gitLogString: String = commandRunner.execute(gitLogCmd) return parseCommitLogString( @@ -198,12 +199,21 @@ class GitClientImpl( .start() proc.waitFor(1, TimeUnit.MINUTES) - val response = proc + val stdout = proc .inputStream .bufferedReader() .readText() - logger?.info("Response: $response") - return response + val stderr = proc + .errorStream + .bufferedReader() + .readText() + val message = stdout + stderr + if (stderr != "") { + logger?.error("Response: $message") + } else { + logger?.info("Response: $message") + } + return stdout } override fun executeAndParse(command: String): List { val response = execute(command) -- cgit v1.2.3