1
0
mirror of https://github.com/google/nomulus synced 2026-03-27 12:55:28 +00:00
Files
nomulus/utils.gradle
Weimin Yu e5c0c27458 Prepare for Gradle 9 upgrade (#2985)
Refactor Gradle scripts to replace usages incompatible with Gradle 9.

PR prepared mostly with gemini-cli, with one issue (project.exec)
researched with gemini web and manually applied.

The actual upgrade to Gradle 9 will be in another PR.

Verified: none of the issues reported in build/reports/problems/problems-report.html
is related to Gradle 9.
2026-03-20 14:15:12 +00:00

34 lines
1.2 KiB
Groovy

// Copyright 2019 The Nomulus Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
rootProject.ext {
// Executes an arbitrary shell command in bash and returns all output
// to stdout as a string. This method allows pipes in shell command.
execInBash = { shellCommand, bashWorkingDir ->
return new ByteArrayOutputStream().withStream { os ->
project.services.get(ExecOperations).exec {
workingDir = bashWorkingDir
commandLine = ['bash', '-c', "${shellCommand}"]
standardOutput = os
}.assertNormalExitValue()
return os
}.toString().trim()
}
findOptionalProperty = { propertyName ->
return java.util.Optional.ofNullable(project.findProperty(propertyName))
}
}