[jbosstools-dev] Teiid Designer and TP

phantomjinx p.g.richardson at phantomjinx.co.uk
Mon Oct 8 07:23:36 EDT 2012


Hi Max,

Thanks for the responses. Find answers to your questions inline below.

Cheers

PGR

>> Background:
>>
>> TD (unreleased version 8) uses a target platform of:
>> 	* http://download.jboss.org/jbosstools/updates/development/juno (JBT milestone build)
>> 	* http://download.jboss.org/jbosstools/updates/juno/SR0/ (Eclipse Juno Target Platform)
>>
>> Thus, TD is a consumer of both the jbosstools TP and jbosstools features.
> 
> okey - would be cool to know which features TD is using (just out of interest to understand what API's are actually used - remember JBT dont really have any API's outside AS tools currently)
> 

Currently, 8.0 development uses
	* org.jboss.ide.eclipse.as.serverAdapter.wtp.feature.source.feature.group for access to jboss as7
API and framework. So according to the TP wizard, this comprises 18 plugins

Rationalising the teiid jar dependencies, I have noticed that I can depend the teiid_embedded_query
plugin on the following. This removes all jboss.as dependencies except for jboss-as-cli.jar
	* org.jboss.ide.eclipse.as.management.as71

>> However, contained in the current TD codebase are the following wrapped plugins, ie. wrapping
>> 3rd-party built/released jars:
>>
>> 	* net.jcip.annotations 		- jcip-annotations.jar
>> 	* net.sf.saxon 			- saxon9he.jar
>> 	* org.apache.poi		- poi.jar, poi-scratchpad.jar, poi-contrib.jar
>> 	* org.jaxen			- jaxen-core.jar, jaxen-jdom.jar, saxpath.jar
>> 	* org.mockito			- com.springsource.org.objensis.jar, mockito-core.jar
>> 	* org.wsdl4j			- wsdl4j.jar
>> 	* teiid_embedded_query		- commons-cli.jar  	jansi.jar		jline.jar  		staxmapper.jar							
>> 					  jboss-as-cli.jar	jta.jar       		teiid-api.jar		teiid-engine.jar
>> 					  teiid-client.jar	teiid-admin.jar  	teiid-common-core.jar
> 
> How many of these are already in eclipse orbit ? 

* jcip-annotations.jar					NO
* saxon9he.jar						NO
* poi.jar, poi-scratchpad.jar, poi-contrib.jar		NO
* jaxen-core.jar, jaxen-jdom.jar, saxpath.jar		NO
* mockito-core.jar, com.springsource.org.objensis.jar	YES/NO - Version in use is 1.9.1 but version
1.8.4 available. Only recently upgraded to 1.9.1 to use 'latest version' so not an issue to
downgrade for the moment
* wsdl4j.jar						YES/NO - Version in use is 1.4 but both versions 1.5.1 and 1.6.2 are available

> The teiid_embedded_query sounds like something that are very version specific ? Does this
> have to be matching the target server still ?
>

With the release of teiid 8, backward compatibility has been broken so I would envisage a teiid
versioned features being included and clients import specific versions of the feature/plugins using
eclipse plugin functionality, eg. [8.0.0,9.0.0). Going forward, TD 8.0 will be the first application
to use teiid 8 plugins and thus this P2 repository so we can set the rules for use?

> Do I read it right above that teiid_embedded_query is simply wrapping those jars and only exposing limited API ?
> i.e. commons-cli.jar, jboss-as-cli.jar does sound like things that easily could come problematic if exposed to rest of the eclipse plugin stack.
> 

Correct. See my rationalising commment above for reduction of the jboss-as dependencies. If
jboss-as-cli could be offered in a plugin then this need not be included either.

>> All of these jars are obtained from external websites, including the teiid jars (sf.net/projects/teiid).
>>
>> Problem:
>>
>> Everytime, an update of these jars is required, the new set of jars must be downloaded, included in
>> the TD codebase and committed to the TD repository.
> 
> Yes, you are basically updating the Target Platform.
> 
>> Since we fetch the jbosstools and eclipse plugins from the target platform, it would be advantageous
>> if these wrapped-plugins could be broken out into their own repository, ideally with no jars
>> actually in the code repository then automatically built and served as features in a P2 repository.
>> This P2 repository is then used by TD developers and TD build infrastructure.
> 
> Yes - a Teiid targetplatform, optimally one that have these jars unified with the other "ontop" tooling set
> so we know these can be installed together.
> 
>>
>> For example, with the teiid jars, a new release is uploaded to sf.net by the teiid team, downloaded
>> by TD dev, fully wrapped as plugin/plugins and added to the P2 repository.
> 
> hmm - do you really put a full unique teiid jar into the teiid plugin release s?
>  

At the moment, yes. It seems that the teiid jars are slowly splitting into constituent components,
eg. admin-api, common-core, client, engine, but this seems ongoing.

>> Discussion so far:
>>
>> * Mistria introduced me to the maven-dependency-plugin:get goal that could be executed during the
>> generate-resources phase to download release jars build-time
> 
> k
> 
>> * Mistria also pointed out his new maven plugin that can take several platforms as input and produce
>> a single target file
> 
> hmm...which is that ? :)
> 

Not sure ... will gather details as I make progress ;)

<snip>

-- 
Paul Richardson

  * p.g.richardson at phantomjinx.co.uk
  * p.g.richardson at redhat.com
  * pgrichardson at linux.com

"I know exactly who reads the papers ...

  * The Daily Mirror is read by people who think they run the country.
  * The Guardian is read by people who think they ought to run the country.
  * The Times is read by people who do actually run the country.
  * The Daily Mail is read by the wives of the people who run the country.
  * The Financial Times is read by the people who own the country.
  * The Morning Star is read by the people who think the country ought to be run by another country.
  * The Daily Telegraph is read by the people who think it is."

Jim Hacker, Yes Minister



More information about the jbosstools-dev mailing list