[jbosstools-issues] [JBoss JIRA] (JBIDE-19574) Add API so that downloaded runtimes can be installed via java -jar command

Rob Stryker (JIRA) issues at jboss.org
Fri Apr 10 13:05:18 EDT 2015


    [ https://issues.jboss.org/browse/JBIDE-19574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13057960#comment-13057960 ] 

Rob Stryker commented on JBIDE-19574:
-------------------------------------

Good call. I'll work on documenting that today.  The short summary is that anyone implementing an IDownloadRuntimesProvider  using the org.jboss.tools.runtime.core.downloadRuntimeProvider  extension point, is tasked with returning an array of DownloadRuntime objects. The provider is in charge of doing this on their own (implementation-agnostic), though all current implementations use stacks to do so.  (Even Fuse / Karaf / etc use custom yaml files they bundle with their plugin to re-use the stacks superclasses). 

A new setter on DownloadRuntime  allows clients to setInstallationMethod(string).  In the past we had only one method (extract), but now we have two (extract,  jar).  "Extract" performs a simple unzip.  "Jar"  runs  "java -jar (file)" and waits for that process to complete. 

So for anyone (like DV) who is trying to expose as a DownloadRuntime a jar file that cannot be extracted but must be java -jar'd,  their IDownloadRuntimesProvider  should set the installation method to "jar" before returning their array of DownloadRuntime objects. 

At this point, it's extremely unlikely anyone would need to actually implement the runtimeInstaller extension point at all unless they'd like to implement some esoteric usecase like downloading a java webstart file and launching that, or some type of weird network install usecase.  It might even be smart for me to mark that extension point as internal currently until such a request is provided. 

I'll still go ahead and document it, but,  the tl;dr is that a IDownloadRuntimesProvider will setInstallationMethod("jar") on any runtime that must be java -jar'd to be installed properly. Extract is still the default case. 

> Add API so that downloaded runtimes can be installed via java -jar command
> --------------------------------------------------------------------------
>
>                 Key: JBIDE-19574
>                 URL: https://issues.jboss.org/browse/JBIDE-19574
>             Project: Tools (JBoss Tools)
>          Issue Type: Sub-task
>          Components: runtime-detection, server
>    Affects Versions: 4.3.0.Alpha1
>            Reporter: Rob Stryker
>            Assignee: Rob Stryker
>             Fix For: 4.3.0.Alpha2
>
>
> Runtime detection currently supports only 'extraction' as a method of installation. It was recently expanded to include not just unzipping of jars, but also extracting .tar.gz files / .tar files / etc.   But there's still no API for completely alternate methods of installation. 
> This JIRA should add an extension point for (basically the plumbing) to allow for alternate installation types in general, as well as add a default java -jar installation method as well. 
> It will be up to other runtimes (ie teiid etc) to USE this functionality in their own products, but it is up to jbt-base to make sure it is feasible at the API level. 



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jbosstools-issues mailing list