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

Greg Domjan edited comment on NPANDAY-624 at 7/10/14 11:57 AM:
---------------------------------------------------------------

Thanks Brett, 
That took me a step further, and gave me some ideas on taking further steps.

Next as ILMerge isn't part of the .net framework had to adjust the netHome so 
it could be found. (NPANDAY-632 found)

{code}
<profileAssemblyPath>${project.build.directory}</profileAssemblyPath>
<netHome>${ILMerge.path}</netHome>
{code}

Then the plugin didn't seem to have any dependencies except the project.  
Missing {code}@requiresDependencyResolution compile{code}

Following that I had some follow on issues with selecting only some 
dependencies to merge, especially where there are unmerged dependencies that 
are not in the GAC.

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)

Other issues are with 
 *  /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
 * 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)


was (Author: gdomjan):
Thanks Brett, 
That took me a step further, and gave me some ideas on taking further steps.

Next as ILMerge isn't part of the .net framework had to adjust the netHome so 
it could be found. (NPANDAY-632 found)

{code}
<profileAssemblyPath>${project.build.directory}</profileAssemblyPath>
<netHome>${ILMerge.path}</netHome>
{code}

Then the plugin didn't seem to have any dependencies except the the project.  
Missing {code}@requiresDependencyResolution compile{code}

Following that I had some follow on issues with selecting only some 
dependencies to merge, especially where there are unmerged dependencies that 
are not in the GAC.

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)

Other issues are with 
 *  /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
 * 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)

> 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