[jbosstools-issues] [JBoss JIRA] (JBIDE-16082) Prevent JBoss Tools 4.1 and JBDS 7.x from installing into Luna due to platform/API incompatibilities

Paul Richardson (JIRA) jira-events at lists.jboss.org
Fri Nov 22 16:35:06 EST 2013


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

Paul Richardson commented on JBIDE-16082:
-----------------------------------------

For Information:

Tested Teiid Designer with the Luna M3 target platform (4.40.0.Alpha1-SNAPSHOT) by modifying the [teiid-designer.target|https://github.com/phantomjinx/teiid-designer/blob/4a7de2c836771fd59a05a25f584fd59af56b3303/target-platform/teiid-designer.target] (a direct copy of the JBT-IS base target, kept in the codebase for historical reasons).

Found a single build issue due to an API incompatibility between Kepler and Luna:
{code}
[ERROR] ResourceLocator.validateHomeFolder( folderLocationValue );
[ERROR] ^^^^^^^^^^^^^^^^^^
[ERROR] The method validateHomeFolder(String, ResourceIdentifiers) in the type 
                     ResourceLocator is not applicable for the arguments (String)
[ERROR] 1 problem (1 error)
{code}

This concerns the org.eclipse.datatools.connectivity.oda.flatfile.ResourceLocator class. The Kepler version of the validateHomeFolder method does the following:
{code}
	if ( homeFolder == null )
		throw new InvalidResourceException( InvalidResourceException.ERROR_EMPTY_RESOURCE,
					Messages.getString( "connection_MISSING_HOMEFOLDER" ) ); //$NON-NLS-1$
			
	File file = new File( homeFolder );
	if ( !file.exists( ) )
		throw new InvalidResourceException( InvalidResourceException.ERROR_INVALID_RESOURCE,
				Messages.getString( "connection_CANNOT_OPEN_FLAT_FILE_DB_DIR" ) //$NON-NLS-1$
						+ homeFolder );
{code}

To continue the same functionality of the validateHomeFolder method between Kepler and Luna, its therefore straightforward to code around this incompatibility by performing the method's File existence test directly within Designer's code.

It is noted that the Luna version of validateHomeFolder is more complex, see [here|http://git.eclipse.org/c/datatools/org.eclipse.datatools.enablement.oda.git/tree/plugins/org.eclipse.datatools.connectivity.oda.flatfile/src/org/eclipse/datatools/connectivity/oda/flatfile/ResourceLocator.java], hence this functionality may be preferred once Luna is established and Kepler is deprecated.

This may help others who come across this particular API breakage.


                
> Prevent JBoss Tools 4.1 and JBDS 7.x from installing into Luna due to platform/API incompatibilities
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JBIDE-16082
>                 URL: https://issues.jboss.org/browse/JBIDE-16082
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: aerogear-hybrid, forge, hibernate, server, testing-tools
>    Affects Versions: 4.1.1.CR1
>            Reporter: Nick Boldt
>            Priority: Blocker
>              Labels: respin-a
>             Fix For: 4.1.1.CR1
>
>
> We already know (from JBIDE-15639) that components like Arquillian, Forge, Server, and Hibernate will not compile with Luna dependencies due to the fact that the upstream projects on which they depend have changed in incompatible ways.
> Therefore, JBT 4.2 / JBDS 8 is being built to *ONLY work with Luna*. 
> But the converse should be true, too: we don't want users installing JBT 4.1 / JBDS 7.x onto Luna and ending up with something that *doesn't work*, even if it can be installed that way.
> *Solution:*
> Update manifest.mf files to PREVENT installing key parts of JBT 4.1 / JBDS 7.x into Luna, so that no user will hit this problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list