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 16:01:13 -08:00
import * as auth from './auth' ;
2020-05-02 04:33:15 -07:00
import * as gpg from './gpg' ;
2020-07-15 19:53:39 -06: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 19:53:39 -06:00
let version = core . getInput ( constants . INPUT_VERSION );
2019-08-13 16:24:39 -04:00
if ( ! version ) {
2020-07-15 19:53:39 -06: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 19:53:39 -06: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 19:53:39 -06: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-02 21:39:35 -07:00
await installer . getJava ( version , arch , jdkFile , javaPackage );
2019-07-11 22:57:54 -04:00
2020-05-02 04:33:15 -07:00
const matchersPath = path . join ( __dirname , '..' , '..' , '.github' );
2020-07-15 19:53:39 -06: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 21:15:27 -06:00
const gpgPrivateKey =
core . getInput ( constants . INPUT_GPG_PRIVATE_KEY , { required : false }) ||
constants . INPUT_DEFAULT_GPG_PRIVATE_KEY ;
2020-05-02 04:33:15 -07:00
const gpgPassphrase =
2020-07-15 19:53:39 -06:00
core . getInput ( constants . INPUT_GPG_PASSPHRASE , { required : false }) ||
( gpgPrivateKey ? constants.INPUT_DEFAULT_GPG_PASSPHRASE : undefined );
2019-11-15 16:01:13 -08:00
2020-05-22 21:30:38 -07:00
if ( gpgPrivateKey ) {
core . setSecret ( gpgPrivateKey );
}
2020-05-02 04:33:15 -07:00
await auth . configAuthentication ( id , username , password , gpgPassphrase );
if ( gpgPrivateKey ) {
2020-07-15 19:53:39 -06:00
core . info ( 'importing private key' );
2020-05-02 04:33:15 -07:00
const keyFingerprint = ( await gpg . importKey ( gpgPrivateKey )) || '' ;
2020-07-15 19:53:39 -06:00
core . saveState (
constants . STATE_GPG_PRIVATE_KEY_FINGERPRINT ,
keyFingerprint
);
2020-05-02 04:33:15 -07:00
}
2021-03-22 11:06:35 +03: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 ();