[ https://issues.apache.org/jira/browse/NPANDAY-624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14060280#comment-14060280 ]
Brett Porter commented on NPANDAY-624: -------------------------------------- {quote} I'm working out what really should happen to try and submit a patch, is there some integration test that I can verify I'm not breaking other previous rules with? (its doesn't appear to be stored with each plugin) {quote} Initially they weren't, but more recent additions like the {{wix-maven-plugin}} and others do use the invoker. You can add ITs to the plugin and they'll be automatically run with {{-Prun-its}} on. There are no tests for ilmerge in either place unfortunately, so just go with your instinct on what is right with the merge rules. {quote} - /lib list should be containing .references/ {artifact} paths to find dependencies without version name mangling. ILmerge can't find them otherwise if the repo paths are added directly - ?getting the .references for a maven build {quote} I think {{.references}} is specific to addin and hint paths placed in the solution files - it might not always have the dependencies you want, especially on a clean build. Other plugins typically copy the required dependencies into the target directory as part of the process so that they have unmangled names - for example the test plugin does this: https://github.com/apache/npanday/blob/trunk/plugins/maven-test-plugin/src/main/java/npanday/plugin/test/TesterMojo.java#L267 {quote} - lack of clarity on what artifacts and internalizeArtifact lists should contain - artifacts list doesn't seem like it should be added to the merge list - internalizeArtifact list doesn't contain the projectArtifact (it is coming in from artifacts list) {quote} Sorry, not familiar enough with the plugin to know the answers here. [~ejit], any chance you could help Greg out here from memory? > NPE in ilMerge > -------------- > > Key: NPANDAY-624 > URL: https://issues.apache.org/jira/browse/NPANDAY-624 > Project: NPanday > Issue Type: Bug > Components: Maven Plugins > Affects Versions: 1.5.0-incubating > Environment: Windows, VS2005, VS2012, Platform SDK 6,7,7.1,8.0,8.1 > Using npanday.settings to select mininmal framework version 3.0 > Maven 2.2.1 > Reporter: Greg Domjan > > ilMerge appears to be looking for the compiler details to select the > appropriate ilMerge app. The compiler list is returning multiple options, > but then ilMerge gets NPE on following call to > {code}File assemblyPath = compilerExecutable.getAssemblyPath();{code} > {noformat} > [DEBUG] NPANDAY-102-003: Apply > rule:npanday.vendor.impl.VendorInfoTransitionRuleFactory$8@38c9aa93 > [DEBUG] NPANDAY-103-017: Entering State = FFF > [DEBUG] NPANDAY-103-052: Set defaults: 3.0 > [DEBUG] NPANDAY-102-004: Vendor info requirement after > rule:[VendorRequirement for vendor MICROSOFT version 3.0, Framework Version = > 3.0] > [DEBUG] NPANDAY-065-008: Found vendor [Configured Vendor Info for MICROSOFT > 3.0, Framework Version = 3.0] for requirement [VendorRequirement for vendor > MICROSOFT version 3.0, Framework Version = 3.0] > [DEBUG] NPANDAY-065-001: Found matching capability: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='C_SHARP'] > [DEBUG] NPANDAY-065-009: Failed to match policy: > ExecutableMatchPolicy[profile: 'FULL'] > [DEBUG] NPANDAY-065-005: Capability doesn't match: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='C_SHARP'] > [DEBUG] NPANDAY-065-001: Found matching capability: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='C_SHARP'] > [DEBUG] NPANDAY-065-001: Found matching capability: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='C_SHARP'] > [DEBUG] NPANDAY-065-001: Found matching capability: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='C_SHARP'] > [DEBUG] NPANDAY-065-009: Failed to match policy: > ExecutableMatchPolicy[language: 'C_SHARP'] > [DEBUG] NPANDAY-065-005: Capability doesn't match: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='VB'] > [DEBUG] NPANDAY-065-009: Failed to match policy: > ExecutableMatchPolicy[language: 'C_SHARP'] > [DEBUG] NPANDAY-065-005: Capability doesn't match: CompilerCapability > [vendorInfo=[Configured Vendor Info for MICROSOFT 3.0, Framework Version = > 3.0], operatingSystem='Windows', language='ASP'] > [WARNING] NPANDAY-065-010: Found multiple matching capabilities; will choose > the first one: [CompilerCapability [vendorInfo=[Configured Vendor Info for > MICROSOFT 3.0, Framework Version = 3.0], operatingSystem='Windows', > language='C_SHARP'], CompilerCapability [vendorInfo=[Configured Vendor Info > for MICROSOFT 3.0, Framework Version = 3.0], operatingSystem='Windows', > language='C_SHARP'], CompilerCapability [vendorInfo=[Configured Vendor Info > for MICROSOFT 3.0, Framework Version = 3.0], operatingSystem='Windows', > language='C_SHARP'], CompilerCapability [vendorInfo=[Configured Vendor Info > for MICROSOFT 3.0, Framework Version = 3.0], operatingSystem='Windows', > language='C_SHARP']] > [DEBUG] NPANDAY-061-006: Artifact Type:gac_msil > [DEBUG] NPANDAY-061-007: Artifact Type:false > [DEBUG] NPANDAY-061-006: Artifact Type:dotnet-library > [DEBUG] NPANDAY-061-007: Artifact Type:false > [DEBUG] NPANDAY-061-006: Artifact Type:dotnet-library > [DEBUG] NPANDAY-061-007: Artifact Type:false > [DEBUG] NPANDAY-061-006: Artifact Type:gac_msil > [DEBUG] NPANDAY-061-007: Artifact Type:false > [DEBUG] NPANDAY-061-006: Artifact Type:gac_msil > [DEBUG] NPANDAY-061-007: Artifact Type:false > [WARNING] NPANDAY-231: previously netDependencyId was used to resolve some > private bin path... > {noformat} > {noformat} > [INFO] > ------------------------------------------------------------------------ > [ERROR] FATAL ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] null > [INFO] > ------------------------------------------------------------------------ > [DEBUG] Trace > java.lang.NullPointerException > at > com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187) > at com.google.common.base.Objects.firstNonNull(Objects.java:174) > at > npanday.executable.impl.CompilerContextImpl.getAssemblyPath(CompilerContextImpl.java:139) > at > npanday.executable.compiler.impl.BaseCompiler.getAssemblyPath(BaseCompiler.java:83) > at > npanday.executable.compiler.impl.DefaultCompiler.getAssemblyPath(DefaultCompiler.java:48) > at > npanday.plugin.ilmerge.AssemblyMerger.execute(AssemblyMerger.java:263) > at > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > at > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at > org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > {noformat} -- This message was sent by Atlassian JIRA (v6.2#6252)