[jbosstools-issues] [JBoss JIRA] (JBIDE-14448) Build doesn't detect cycle dependencies between JBossTools modules

Mickael Istria (JIRA) jira-events at lists.jboss.org
Fri May 17 06:06:06 EDT 2013


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

Mickael Istria commented on JBIDE-14448:
----------------------------------------

This is a problem we've already discussed several time, but did not suffer enough from this issue to fix. Now we're going to more cleanness and more independence between components, it's probably the right time to have a think about it.

[~maxandersen]: you suggestion is the only right approach I have in mind.
About maintaining branch vs master, it's all about using a profile or a property to set it. This is now easier thanks to new URL pattern Nick set up some month ago.
For example, let's take the case of Server which has a dependency on Common.

* We create a property "branch" in parent pom, with default value "master" (set in pom)
* server root pom references http://download.jboss.org/jbosstools/builds/staging/jbosstools-common_${branch}/all/repo
So
* Running build for master is just a "mvn clean install"
* Running build for branch is just a "mvn clean install -Dbranch=4.1.kepler"

However, I don't know how we could deduce the "branch" from the current state of the code, so property would be immediatly well set. Especially since Tycho resolution happens very early in the build, there is no way to create a mojo to hack it...
                
> Build doesn't detect cycle dependencies between JBossTools modules
> ------------------------------------------------------------------
>
>                 Key: JBIDE-14448
>                 URL: https://issues.jboss.org/browse/JBIDE-14448
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: Build/Releng
>    Affects Versions: 4.1.0.Beta1
>            Reporter: Denis Golovin
>            Assignee: Nick Boldt
>
> Currently every component references nightly composite update site during the build to get dependencies. That leads to possibility to introduce cycle dependencies between components that is not detected by build.
> Here is example of PR introduced a cycle between JST and VPE. Build works because JST have access to VPE BrowserSim through nightly composite update site.
> The solution would be to reference specific nightly update sites for modules that are dependencies for current one. 
> In this case JST should have reference only to base composite nightly update site. That would solve cycle dependency detection problem and speed up the build because it would not require to download and analyse all metadata from jbosstools nightly composite update site.

--
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