({
jdkInfo,
settingsDirectory,
overwriteSettings
}: {
jdkInfo: JdkInfo;
settingsDirectory: string;
overwriteSettings: boolean;
})
| 45 | } |
| 46 | |
| 47 | export async function createToolchainsSettings({ |
| 48 | jdkInfo, |
| 49 | settingsDirectory, |
| 50 | overwriteSettings |
| 51 | }: { |
| 52 | jdkInfo: JdkInfo; |
| 53 | settingsDirectory: string; |
| 54 | overwriteSettings: boolean; |
| 55 | }) { |
| 56 | core.info( |
| 57 | `Creating ${constants.MVN_TOOLCHAINS_FILE} for JDK version ${jdkInfo.version} from ${jdkInfo.vendor}` |
| 58 | ); |
| 59 | // when an alternate m2 location is specified use only that location (no .m2 directory) |
| 60 | // otherwise use the home/.m2/ path |
| 61 | await io.mkdirP(settingsDirectory); |
| 62 | const originalToolchains = |
| 63 | await readExistingToolchainsFile(settingsDirectory); |
| 64 | const updatedToolchains = generateToolchainDefinition( |
| 65 | originalToolchains, |
| 66 | jdkInfo.version, |
| 67 | jdkInfo.vendor, |
| 68 | jdkInfo.id, |
| 69 | jdkInfo.jdkHome |
| 70 | ); |
| 71 | await writeToolchainsFileToDisk( |
| 72 | settingsDirectory, |
| 73 | updatedToolchains, |
| 74 | overwriteSettings |
| 75 | ); |
| 76 | } |
| 77 | |
| 78 | // only exported for testing purposes |
| 79 | export function generateToolchainDefinition( |
no test coverage detected