This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Since packagings effectively serve as project subtypes for Maven-based projects, it is silly to use @LookupProvider.Registration(projectType="org-netbeans-modules-maven") for all Maven-based projects and then force the LookupProvider impl to insert or remove entries according to the packaging. Smarter would be for NbMavenProjectImpl.LazyLookup to call LookupProviderSupport.createCompositeLookup( LookupProviderSupport.createCompositeLookup("Projects/org-netbeans-modules-maven/Lookup", baseLookup), "Projects/org-netbeans-modules-maven/${packaging}/Lookup") and recreate this if the packaging is changed. (*) This would make it simpler to make LookupProvider's for Maven projects, and possible in some cases to use @ProjectServiceProvider. For example, J2seLookupProvider could probably go away entirely, replaced with @ProjectServiceProvider(service=PrerequisitesChecker.class, projectType="org-netbeans-modules-maven/jar") public class RunJarPrereqChecker implements PrerequisitesChecker {...} (*) The above would let packaging-registered LookupMerger's merge also entries from the generic registration, but not vice-versa. It could be inverted if there is a need for generically-registered LMs to merge specifically-registered base items but not vice-versa.
core-main #5c65b7a0589a
Integrated into 'main-golden', will be available in build *201007310001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/5c65b7a0589a User: Jesse Glick <jglick@netbeans.org> Log: #157283: @ProjectServiceProvider for specific Maven packaging types.
Long time awaited fix is here! Thanks.
Note that there were some Maven project services I did not convert due to the complexity of the code, especially J2eeLookupProvider. Some others are currently registered for all Maven projects but are perhaps applicable to only certain packaging types, but I am not sufficiently knowledgeable about the domain (relating to web services) to say; @PSP registrations are generally harmless but LookupProvider's may be performance problems. You can inspect layers.txt#Projects/o-n-m-maven/Lookup/ for details.