Skip to content
Snippets Groups Projects
Unverified Commit cf7bb322 authored by Michael Kriese's avatar Michael Kriese Committed by GitHub
Browse files

feat(manager/gradle-wrapper): support `binarySource=install` (#16830)

* feat(manager/gradle-wrapper): support `binarySource=install`

* docs: update docs
parent a7a44b32
No related branches found
No related tags found
No related merge requests found
......@@ -143,6 +143,7 @@ Supported tools for dynamic install are:
- `composer`
- `flux`
- `gradle-wrapper`
- `jb`
- `npm`
......
......@@ -13,7 +13,6 @@ import type { UpdateArtifact, UpdateArtifactsResult } from '../types';
import {
extraEnv,
getJavaContraint,
getJavaVersioning,
gradleWrapperFileName,
prepareGradleCommand,
} from './utils';
......@@ -88,12 +87,16 @@ export async function updateArtifacts({
logger.debug(`Updating gradle wrapper: "${cmd}"`);
const execOptions: ExecOptions = {
docker: {
image: 'java',
tagConstraint:
config.constraints?.java ?? getJavaContraint(config.currentValue!),
tagScheme: getJavaVersioning(),
image: 'sidecar',
},
extraEnv,
toolConstraints: [
{
toolName: 'java',
constraint:
config.constraints?.java ?? getJavaContraint(config.currentValue),
},
],
};
try {
await exec(cmd, execOptions);
......
......@@ -3,8 +3,8 @@ import { extractGradleVersion, getJavaContraint } from './utils';
describe('modules/manager/gradle-wrapper/util', () => {
describe('getJavaContraint()', () => {
it('return null for global mode', () => {
expect(getJavaContraint('6')).toBeNull();
it('return ^8.0.0 for global mode', () => {
expect(getJavaContraint('4')).toBe('^8.0.0');
});
it('return ^11.0.0 for docker mode and undefined gradle', () => {
......
......@@ -4,7 +4,6 @@ import { logger } from '../../../logger';
import { chmodLocalFile, statLocalFile } from '../../../util/fs';
import { newlineRegex, regEx } from '../../../util/regex';
import gradleVersioning from '../../versioning/gradle';
import { id as npmVersioning } from '../../versioning/npm';
import type { GradleVersionExtract } from './types';
export const extraEnv = {
......@@ -51,13 +50,10 @@ export async function prepareGradleCommand(
* @param gradleVersion current gradle version
* @returns A Java semver range
*/
export function getJavaContraint(gradleVersion: string): string | null {
if (GlobalConfig.get('binarySource') !== 'docker') {
// ignore
return null;
}
const major = gradleVersioning.getMajor(gradleVersion);
export function getJavaContraint(
gradleVersion: string | null | undefined
): string | null {
const major = gradleVersion ? gradleVersioning.getMajor(gradleVersion) : null;
if (major && major >= 7) {
return '^16.0.0';
}
......@@ -68,10 +64,6 @@ export function getJavaContraint(gradleVersion: string): string | null {
return '^11.0.0';
}
export function getJavaVersioning(): string {
return npmVersioning;
}
// https://regex101.com/r/IcOs7P/1
const DISTRIBUTION_URL_REGEX = regEx(
'^(?:distributionUrl\\s*=\\s*)(?<url>\\S*-(?<version>\\d+\\.\\d+(?:\\.\\d+)?(?:-\\w+)*)-(?<type>bin|all)\\.zip)\\s*$'
......
......@@ -53,6 +53,11 @@ const allToolConfig: Record<string, ToolConfig> = {
depName: 'helm/helm',
versioning: semverVersioningId,
},
java: {
datasource: 'adoptium-java',
depName: 'java',
versioning: npmVersioningId,
},
jb: {
datasource: 'github-releases',
depName: 'jsonnet-bundler/jsonnet-bundler',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment