2019-07-10 22:54:25 +08:00
import * as core from '@actions/core' ;
2019-07-11 11:11:48 +08:00
import * as installer from './installer' ;
2019-11-16 08:01:13 +08:00
import * as auth from './auth' ;
2020-05-02 19:33:15 +08:00
import * as gpg from './gpg' ;
2020-07-16 09:53:39 +08:00
import * as constants from './constants' ;
2019-07-12 10:57:54 +08:00
import * as path from 'path' ;
2019-07-10 22:54:25 +08:00
async function run() {
2019-07-11 11:11:48 +08:00
try {
2020-07-16 09:53:39 +08:00
let version = core . getInput ( constants . INPUT_VERSION ) ;
2019-08-14 04:24:39 +08:00
if ( ! version ) {
2020-07-16 09:53:39 +08:00
version = core . getInput ( constants . INPUT_JAVA_VERSION , { required : true } ) ;
2019-08-14 04:24:39 +08:00
}
2020-08-24 18:35:41 +08:00
2020-07-16 09:53:39 +08:00
const arch = core . getInput ( constants . INPUT_ARCHITECTURE , { required : true } ) ;
2020-08-24 18:35:41 +08:00
if ( ! [ 'x86' , 'x64' ] . includes ( arch ) ) {
throw new Error ( ` architecture " ${ arch } " is not in [x86 | x64] ` ) ;
}
2020-07-16 09:53:39 +08:00
const javaPackage = core . getInput ( constants . INPUT_JAVA_PACKAGE , {
required : true
} ) ;
const jdkFile = core . getInput ( constants . INPUT_JDK_FILE , { required : false } ) ;
2019-07-11 11:11:48 +08:00
2019-11-03 12:39:35 +08:00
await installer . getJava ( version , arch , jdkFile , javaPackage ) ;
2019-07-12 10:57:54 +08:00
2020-05-02 19:33:15 +08:00
const matchersPath = path . join ( __dirname , '..' , '..' , '.github' ) ;
2020-07-16 09:53:39 +08:00
core . info ( ` ##[add-matcher] ${ path . join ( matchersPath , 'java.json' ) } ` ) ;
const id = core . getInput ( constants . INPUT_SERVER_ID , { required : false } ) ;
const username = core . getInput ( constants . INPUT_SERVER_USERNAME , {
required : false
} ) ;
const password = core . getInput ( constants . INPUT_SERVER_PASSWORD , {
required : false
} ) ;
2020-07-16 11:15:27 +08:00
const gpgPrivateKey =
core . getInput ( constants . INPUT_GPG_PRIVATE_KEY , { required : false } ) ||
constants . INPUT_DEFAULT_GPG_PRIVATE_KEY ;
2020-05-02 19:33:15 +08:00
const gpgPassphrase =
2020-07-16 09:53:39 +08:00
core . getInput ( constants . INPUT_GPG_PASSPHRASE , { required : false } ) ||
( gpgPrivateKey ? constants.INPUT_DEFAULT_GPG_PASSPHRASE : undefined ) ;
2019-11-16 08:01:13 +08:00
2020-05-23 12:30:38 +08:00
if ( gpgPrivateKey ) {
core . setSecret ( gpgPrivateKey ) ;
}
2020-05-02 19:33:15 +08:00
await auth . configAuthentication ( id , username , password , gpgPassphrase ) ;
if ( gpgPrivateKey ) {
2020-07-16 09:53:39 +08:00
core . info ( 'importing private key' ) ;
2020-05-02 19:33:15 +08:00
const keyFingerprint = ( await gpg . importKey ( gpgPrivateKey ) ) || '' ;
2020-07-16 09:53:39 +08:00
core . saveState (
constants . STATE_GPG_PRIVATE_KEY_FINGERPRINT ,
keyFingerprint
) ;
2020-05-02 19:33:15 +08:00
}
2021-03-22 16:06:35 +08:00
core . warning (
` All setup-java actions pinned to the 'main' branch will fail on April 5th 2021. Please explicitly reference your action with the 'v1' tag ('actions/setup-java@v1') to avoid build failures. Find more details at https://github.com/actions/setup-java/issues/137 `
) ;
2019-07-11 11:11:48 +08:00
} catch ( error ) {
core . setFailed ( error . message ) ;
}
2019-07-10 22:54:25 +08:00
}
run ( ) ;