mirror of
https://github.com/gradle/actions.git
synced 2026-03-22 03:55:47 +08:00
With this change, the caching functionality of `setup-gradle` and `dependency-submission` is now provided by `gradle-actions-caching`, a closed-source library distributed under our [Terms of Use](https://gradle.com/legal/terms-of-use/). The rest of the action implementation remains open source. Using `setup-gradle` or `dependency-submission` with caching enabled involves loading and using the `gradle-actions-caching` component, requiring acceptance of the [Terms of Use](https://gradle.com/legal/terms-of-use/). There are no functional changes to caching provided by these actions: all workflows will continue to function as before. The non-caching aspects of action implementation remain open source. By running these actions with caching disabled they can be used without ever loading `gradle-actions-caching` or accepting the license terms. Supporting the caching infrastructure in this project requires a substantial engineering investment by Gradle Technologies, which we can sustain thanks to Develocity, our commercial offering. Caching technologies are a core part of the Develocity offering, and the caching in `setup-gradle` fits squarely in that space. This licensing change lets us continue to build advanced capabilities that go beyond what we would offer as open source. Proper production-ready Configuration Cache support will be the first capability. Improving build performance for self-hosted runners will follow. We may introduce functionality restrictions in future updates. However, caching functionality will remain free for public repositories. We have a long-standing commitment to open source, as maintainers of Gradle Build Tool, and by [sponsoring the open source community](https://gradle.com/oss-sponsored-by-develocity/) with free Develocity licenses. Public repositories are primarily used by open source projects, and we remain committed to supporting them. - Implementation of caching logic to save and restore Gradle User Home content has been removed, replaced by the `gradle-actions-caching` component. - The `@actions/caching` library is still used to cache Gradle distributions that are downloaded and provisioned by `setup-gradle`. This PR updates to the latest version of `@actions/caching`, and removes the patch that is no longer required. - License notices are now displayed in documentation, logs and the generated Job Summary.
35 lines
1.4 KiB
TypeScript
35 lines
1.4 KiB
TypeScript
import * as path from 'path'
|
|
import * as fs from 'fs'
|
|
import {describe, expect, it} from '@jest/globals'
|
|
|
|
import {configureInfoLogLevel} from '../../src/gradle-user-home'
|
|
|
|
const testTmp = 'test/jest/tmp'
|
|
fs.rmSync(testTmp, {recursive: true, force: true})
|
|
|
|
describe("--info and --stacktrace", () => {
|
|
describe("will be created", () => {
|
|
it("when gradle.properties does not exist", async () => {
|
|
const emptyGradleHome = `${testTmp}/empty-gradle-home`
|
|
fs.mkdirSync(emptyGradleHome, {recursive: true})
|
|
|
|
configureInfoLogLevel(emptyGradleHome)
|
|
|
|
expect(fs.readFileSync(path.resolve(emptyGradleHome, "gradle.properties"), 'utf-8'))
|
|
.toBe("org.gradle.logging.level=info\norg.gradle.logging.stacktrace=all\n")
|
|
})
|
|
})
|
|
describe("will be added", () => {
|
|
it("and gradle.properties does exists", async () => {
|
|
const existingGradleHome = `${testTmp}/existing-gradle-home`
|
|
fs.mkdirSync(existingGradleHome, {recursive: true})
|
|
fs.writeFileSync(path.resolve(existingGradleHome, "gradle.properties"), "org.gradle.logging.level=debug\n")
|
|
|
|
configureInfoLogLevel(existingGradleHome)
|
|
|
|
expect(fs.readFileSync(path.resolve(existingGradleHome, "gradle.properties"), 'utf-8'))
|
|
.toBe("org.gradle.logging.level=info\norg.gradle.logging.stacktrace=all\n\norg.gradle.logging.level=debug\n")
|
|
})
|
|
})
|
|
})
|