You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Svatopluk Dedic (Jira)" <ji...@apache.org> on 2021/04/27 14:26:00 UTC

[jira] [Commented] (NETBEANS-5629) Gradle project Lookups ordering not defined well

    [ https://issues.apache.org/jira/browse/NETBEANS-5629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17333291#comment-17333291 ] 

Svatopluk Dedic commented on NETBEANS-5629:
-------------------------------------------

Note: given the order is *unspecified* (in fact), I would like to take an opportunity to somehow unify the behaviour with *Maven*, which now has *packaging*-dependent services, but lacks *plugin*-dependent ones (see NETBEANS-5394).

BTW there's one interesting difference between *ProxyLookup* composition and the composition that *MimeLookup* does:
 * ProxyLookup just orders the enumerated instance according to the delegate order. *position* attribute just orders within one delegate, so e.g. a *java* service can not go after/make a fallback to  *java-base* service (provided that java-base comes in earlier delegate)
 * MimeLookup applies the *position* attribute across branches. So one can position a "plug in" service before, or after the 'generic' one at will.

[~jtulach] - what do you think: shouldn't we use the MimeLookup-like composition for plugin-implied services ?

 

> Gradle project Lookups ordering not defined well
> ------------------------------------------------
>
>                 Key: NETBEANS-5629
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-5629
>             Project: NetBeans
>          Issue Type: Bug
>            Reporter: Svatopluk Dedic
>            Priority: Major
>
> Individual Plugins can contribute to project Lookup. In my testcase, which uses java/java-base plugins, the Lookups loaded from *Projects/org-netbeans-modules-gradle/*** were loaded in the following order:
> {code:java}
> [java, <nb-general>, root, java-base, base]
> {code}
> When Groovy was also present, the order was
> {code:java}
> [java, groovy, <nb-general>, root, groovy-base, java-base, base]
> {code}
> (note - groovy after java, groovy-base before java-base). But with scala, the order is:
> {code:java}
> [java, scala, <nb-general>, root, java-base, scala-base, base]
> {code}
> (note - scala-base AFTER java-base).
> When opening a project with 
> {code:java}
> apply plugin: 'groovy'
> {code}
> the order is yet different:
> {code:java}
> [groovy, java, <nb-general>, root, groovy-base, java-base, base]{code}
> The order is unreliable and I guess under some circumstances even the <nb-general>, xxx-base and xxx could be reordered as plugin names go through series of hashmaps.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists