mirror of
https://github.com/gradle/gradle-build-action
synced 2024-11-27 20:12:22 +00:00
Use a properties file to disable daemon execution
Instead of passing `--no-daemon` on the command line, the same functionality is now acheived by writing a gradle.properties file when initializing Gradle User Home.
This commit is contained in:
parent
996094e8e8
commit
b0c29bffb7
3 changed files with 16 additions and 4 deletions
|
@ -146,7 +146,8 @@ export abstract class AbstractCache {
|
|||
const cacheResult = await this.restoreCache(this.getCachePath(), cacheKey.key, cacheKey.restoreKeys)
|
||||
|
||||
if (!cacheResult) {
|
||||
core.info(`${this.cacheDescription} cache not found. Will start with empty.`)
|
||||
core.info(`${this.cacheDescription} cache not found. Will initialize empty.`)
|
||||
await this.initializeState()
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -181,6 +182,8 @@ export abstract class AbstractCache {
|
|||
}
|
||||
}
|
||||
|
||||
protected async initializeState(): Promise<void> {}
|
||||
|
||||
protected async afterRestore(_listener: CacheListener): Promise<void> {}
|
||||
|
||||
async save(listener: CacheListener): Promise<void> {
|
||||
|
|
|
@ -22,6 +22,18 @@ export class GradleUserHomeCache extends AbstractCache {
|
|||
this.gradleUserHome = this.determineGradleUserHome(rootDir)
|
||||
}
|
||||
|
||||
async initializeState(): Promise<void> {
|
||||
this.initializeGradleUserHome(this.gradleUserHome)
|
||||
}
|
||||
|
||||
private initializeGradleUserHome(gradleUserHome: string): void {
|
||||
fs.mkdirSync(gradleUserHome, {recursive: true})
|
||||
|
||||
const propertiesFile = path.resolve(gradleUserHome, 'gradle.properties')
|
||||
this.debug(`Initializing gradle.properties to disable daemon: ${propertiesFile}`)
|
||||
fs.writeFileSync(propertiesFile, 'org.gradle.daemon=false')
|
||||
}
|
||||
|
||||
async afterRestore(listener: CacheListener): Promise<void> {
|
||||
await this.reportGradleUserHomeSize('as restored from cache')
|
||||
await this.restoreArtifactBundles(listener)
|
||||
|
|
|
@ -6,9 +6,6 @@ import {writeInitScript} from './build-scan-capture'
|
|||
export async function execute(executable: string, root: string, args: string[]): Promise<BuildResult> {
|
||||
let buildScanUrl: string | undefined
|
||||
|
||||
// TODO: instead of running with no-daemon, run `--stop` in post action.
|
||||
args.push('--no-daemon')
|
||||
|
||||
const initScript = writeInitScript()
|
||||
args.push('--init-script')
|
||||
args.push(initScript)
|
||||
|
|
Loading…
Reference in a new issue