Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 471550

Summary: The Sirius team must be able to fix issues in AQL
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: CoreAssignee: Project inbox <sirius.core-inbox>
Status: CLOSED FIXED QA Contact: Jessy Mallet <jessy.mallet>
Severity: normal    
Priority: P2 CC: cedric.brun, jessy.mallet, maxime.porhel
Version: 3.0.0Keywords: triaged
Target Milestone: 3.1.0   
Hardware: All   
OS: All   
See Also: https://git.eclipse.org/r/53462
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=12d9fb965a2c8f7b6f49610e936ed8151d7a542d
Whiteboard:
Bug Depends on: 471944, 472836, 473076    
Bug Blocks: 470460    

Description Pierre-Charles David CLA 2015-07-01 04:56:36 EDT
For bug #470460, unless we are very lucky, we will probably hit some bugs in AQL. Currently AQL lives in the Acceleo project, and only one Sirius commiter (Cédric) has actual technical knowledge of it (and of the Sirius bridqe).

If/when we hit issues in AQL, we (and not only Cédric) must be able to either fix it inside Sirius, or work with the Acceleo team to get a fix in shape in time for our 3.1 release.

I hear that AQL is flexible enough that part of its behavior can be customized/modified from inside Sirius itself, without impacting the code in Acceleo, but how exactly this works and how far this flexibility goes must be clarified. And obviously some technical knowledge of AQL internal would be needed anyway, and currently Cédric is the only Sirius commiter who has this knowledge.

If we hit bugs in the AQL core which can not be fixed/worked around on our side, we'll need to collaborate closely with the Acceleo team to get a fix upstream, and importantly, to get an official Acceleo release with that fix in time for our 3.1 release.
Comment 1 Pierre-Charles David CLA 2015-07-06 11:02:39 EDT
Created bug #471944 in Acceleo, to get the AQL sources published in their update-site, so that we can have easy access to it for debugging/understanding.
Comment 2 Cedric Brun CLA 2015-07-16 09:06:34 EDT
Thanks !
Please track any other issue of the same kind which seem relevant to you.

A number of additional actions will be conducted from the Acceleo Team to makes things smoother (I'll link the bugzillas once they are opened):

1°) making sure there is a quick and easy way to setup a dev environment for AQL (probably using OOMPH)
2°) document the API and internal structure of AQL and how it works with ANTLR

For reference, Gerrit is already on with a proper trigger which check all the tests (with decent -- yet not optimal coverage), which allow anybody to give a shot at a change. We will also probably rework the grammar and the language so that we can define services applicables on TypeLiterals (or having a TypeLiteral parameter) without having to adapt the grammar.
Comment 3 Cedric Brun CLA 2015-07-22 05:53:35 EDT
> We will also probably rework the grammar and the
> language so that we can define services applicables on TypeLiterals (or
> having a TypeLiteral parameter) without having to adapt the grammar.

For reference, this activity (which is not a blocker for external contribution but should makes a few class of changes easier is tracked in Bug 473075
Comment 4 Eclipse Genie CLA 2015-08-10 04:45:19 EDT
New Gerrit change created: https://git.eclipse.org/r/53462
Comment 6 Pierre-Charles David CLA 2015-09-21 08:40:28 EDT
I've had a look at how AQL is implemented. Except for low-level bugs in the parser, it looks like the IQueryEnvironment API provides enough flexibility that we can override even standard services if needed to workaround bugs. I'll consider this fixed.
Comment 7 Jessy Mallet CLA 2015-09-29 11:16:28 EDT
No validation: Technical issue
Comment 8 Pierre-Charles David CLA 2015-10-16 09:11:32 EDT
Available in Sirius 3.1.0.