2019-07-10 10:54:25 -04:00
import * as core from '@actions/core' ;
2019-07-10 23:11:48 -04:00
import * as installer from './installer' ;
2019-11-15 19:01:13 -05:00
import * as auth from './auth' ;
2020-05-02 07:33:15 -04:00
import * as gpg from './gpg' ;
2020-07-15 21:53:39 -04:00
import * as constants from './constants' ;
2019-07-11 22:57:54 -04:00
import * as path from 'path' ;
2019-07-10 10:54:25 -04:00
async function run() {
2019-07-10 23:11:48 -04:00
try {
2020-07-15 21:53:39 -04:00
let version = core . getInput ( constants . INPUT_VERSION ) ;
2019-08-13 16:24:39 -04:00
if ( ! version ) {
2020-07-15 21:53:39 -04:00
version = core . getInput ( constants . INPUT_JAVA_VERSION , { required : true } ) ;
2019-08-13 16:24:39 -04:00
}
2020-08-24 06:35:41 -04:00
2020-07-15 21:53:39 -04:00
const arch = core . getInput ( constants . INPUT_ARCHITECTURE , { required : true } ) ;
2020-08-24 06:35:41 -04:00
if ( ! [ 'x86' , 'x64' ] . includes ( arch ) ) {
throw new Error ( ` architecture " ${ arch } " is not in [x86 | x64] ` ) ;
}
2020-07-15 21:53:39 -04:00
const javaPackage = core . getInput ( constants . INPUT_JAVA_PACKAGE , {
required : true
} ) ;
const jdkFile = core . getInput ( constants . INPUT_JDK_FILE , { required : false } ) ;
2019-07-10 23:11:48 -04:00
2019-11-03 00:39:35 -04:00
await installer . getJava ( version , arch , jdkFile , javaPackage ) ;
2019-07-11 22:57:54 -04:00
2020-05-02 07:33:15 -04:00
const matchersPath = path . join ( __dirname , '..' , '..' , '.github' ) ;
2020-07-15 21:53:39 -04: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-15 23:15:27 -04:00
const gpgPrivateKey =
core . getInput ( constants . INPUT_GPG_PRIVATE_KEY , { required : false } ) ||
constants . INPUT_DEFAULT_GPG_PRIVATE_KEY ;
2020-05-02 07:33:15 -04:00
const gpgPassphrase =
2020-07-15 21:53:39 -04:00
core . getInput ( constants . INPUT_GPG_PASSPHRASE , { required : false } ) ||
( gpgPrivateKey ? constants.INPUT_DEFAULT_GPG_PASSPHRASE : undefined ) ;
2019-11-15 19:01:13 -05:00
2020-05-23 00:30:38 -04:00
if ( gpgPrivateKey ) {
core . setSecret ( gpgPrivateKey ) ;
}
2020-05-02 07:33:15 -04:00
await auth . configAuthentication ( id , username , password , gpgPassphrase ) ;
if ( gpgPrivateKey ) {
2020-07-15 21:53:39 -04:00
core . info ( 'importing private key' ) ;
2020-05-02 07:33:15 -04:00
const keyFingerprint = ( await gpg . importKey ( gpgPrivateKey ) ) || '' ;
2020-07-15 21:53:39 -04:00
core . saveState (
constants . STATE_GPG_PRIVATE_KEY_FINGERPRINT ,
keyFingerprint
) ;
2020-05-02 07:33:15 -04:00
}
2021-03-22 04:06:35 -04: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-10 23:11:48 -04:00
} catch ( error ) {
core . setFailed ( error . message ) ;
}
2019-07-10 10:54:25 -04:00
}
run ( ) ;