const path = require('path'); const desc = require('./components.js'); module.exports = { tags: async (tln) => [], options: async (tln) => [], env: async (tln, env) => { env.JAVA_HOME = env.TLN_COMPONENT_HOME; env.JAVA_SDK = env.TLN_COMPONENT_HOME; env.PATH = [path.join(env.TLN_COMPONENT_HOME, 'bin'), env.PATH].join(path.delimiter); }, dotenvs: async (tln) => [], inherits: async (tln) => [], depends: async (tln) => [], steps: async (tln) => [ { id: 'version', builder: async (tln, script) => { const id = script.env.TLN_COMPONENT_ID; const home = script.env.TLN_COMPONENT_HOME; const {name, version} = tln.unpackId(id); if (version) { script.set([` echo [java] && java -version `]); } }}, { id: 'build', desc: '', builder: (tln, script) => script.set([ 'mvn clean install' ]) }, { id: 'serve', desc: '', builder: (tln, script) => { script.set([ 'java -jar ./target/${TLN_COMPONENT_ID}-${TLN_COMPONENT_VERSION}-jar-with-dependencies.jar' ]) } }, { id: 'serve-mvn', desc: '', builder: (tln, script) => script.set([ 'mvn exec:java' ]) }, { id: 'build-docker', desc: '', builder: (tln, script) => { script.set([ 'docker build --tag ${TLN_COMPONENT_ID}:${TLN_COMPONENT_VERSION} .' ]) } }, { id: 'run-docker', desc: '', builder: (tln, script) => { script.set([ 'docker run --rm -d -p ${TLN_COMPONENT_PORT}:${TLN_COMPONENT_PORT} -p ${TLN_COMPONENT_PORTS}:${TLN_COMPONENT_PORTS} --name ${TLN_COMPONENT_ID} ${TLN_COMPONENT_ID}:${TLN_COMPONENT_VERSION}' ]) } }, { id: 'install', builder: async (tln, script) => { const id = script.env.TLN_COMPONENT_ID; const home = script.env.TLN_COMPONENT_HOME; const {name, version} = tln.unpackId(id); if (version) { if (tln.canInstallComponent(tln, id, home)) { script.set(tln.getDownloadScriptById(tln, id, { 'openjdk-8': { 'linux': { name: 'OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz', opts: { src: 'jdk8u265-b01', flt: '*', dest: '.', rmv: 'jdk8u265-b01' }, url: 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz' }, 'darwin': { name: 'OpenJDK8U-jdk_x64_mac_hotspot_8u265b01.tar.gz', opts: { src: 'jdk8u265-b01/Contents/Home', flt: '*', dest: '.', rmv: 'jdk8u265-b01' }, url: 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_mac_hotspot_8u265b01.tar.gz' }, 'win32': { name: 'OpenJDK8U-jdk_x64_windows_hotspot_8u265b01.zip', opts: { src: 'jdk8u265-b01', flt: '*', dest: '.', rmv: 'jdk8u265-b01' }, url: 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_windows_hotspot_8u265b01.zip' } }, 'openjdk-14.0.2': { 'linux': { name: 'openjdk-14.0.2_linux-x64_bin.tar.gz', opts: { src: 'jdk-14.0.2', flt: '*', dest: '.', rmv: 'jdk-14.0.2' }, url: 'https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_linux-x64_bin.tar.gz' }, 'darwin': { name: 'openjdk-14.0.2_osx-x64_bin.tar.gz', opts: { src: 'jdk-14.0.2.jdk/Contents/Home', flt: '*', dest: '.', rmv: 'jdk-14.0.2.jdk' }, url: 'https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_osx-x64_bin.tar.gz' }, 'win32': { name: 'openjdk-14.0.2_windows-x64_bin.zip', opts: { src: 'jdk-14.0.2', flt: '*', dest: '.', rmv: 'jdk-14.0.2' }, url: 'https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_windows-x64_bin.zip' } }, ...desc[1] })); } } else { /* script.set(tln.selectScript(tln, { linux: ['sudo apt install openjdk-8-jdk -y'], darwin: [], win32: [] })); */ } } } ], components: async (tln) => [ {id: 'openjdk-14.0.2'}, {id: 'openjdk-8'} ].concat(desc[0]) }