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

Reply via email to