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

Lars Corneliussen edited comment on NPANDAY-366 at 4/5/11 2:56 PM:
-------------------------------------------------------------------

I investigated further on the issue. Not easy to find out. This bug has been 
around forever, but somehow it doesn't occur on all machines. This might have 
to do with different versions of Plexus' CommandHelper.

# Command comes in {{[some, ar\"g1, arg 2]}}
# Plexus CommandHelper wraps our command with a shell command => {{[cmd, /X, 
/C, some ar\"g1 \"arg 2\"]}}
# Then we escape commandline chars, because plexus doesn't => {{[cmd, /X, /C, 
some ar\\"g1 \"arg 2\"]}}
# This should be enough, but...
#* in r993680 (October 2008) somebody 
#** a) put *"* around each cmd part containing whitespaces => {{[cmd, /X, /C, 
"some ar\\"g1 \"arg 2\""]}} 
#** b) and switched to Runtime.exec(String) => {{cmd /X /C "some ar\\"g1 \"arg 
2\""}} => which again splits by space => {{[cmd, /X, /C, "some, ar\\"g1, \"arg, 
2\""]}} => leading to total chaos (in more complicated cases) 
#* r1035948, late October 2011, in the context of NPANDAY-337 and NPANDAY-341, 
this was reverted again.\\
\\

Different Runtime.exec-overloads:
* {{Runtime.getRuntime().exec(String[])}} => escaping each with double quotes 
if it contains a space
* and {{Runtime.getRuntime().exec(String)}} => splitting by space and feeding 
it in to the String[]-overload (not good!!)

In 1.3.1 it should be fixed. I also added testcases to make sure that is the 
case.

      was (Author: lcorneliussen):
    I investigated further on the issue. Not easy to find out. This bug has 
been around forever, but somehow it doesn't occur on all machines. This might 
have to do with different versions of Plexus' CommandHelper.

# Command comes in {{[some, ar\"g1, arg 2]}}
# Plexus CommandHelper wraps our command with a shell command => {{[cmd, /X, 
/C, some ar\"g1 \"arg 2\"]}}
# Then we escape commandline chars, because plexus doesn't => {{[cmd, /X, /C, 
some ar\\"g1 \"arg 2\"]}}
# This should be enough, but...
## in r993680 (October 2008) somebody put *"* around our cmd because he thought 
that would be a good idea, while already escaping => {{[cmd, /X, /C, "some 
ar\\"g1 \"arg 2\""]}} => this leads to double quotes, as {{Runtime}} will also 
put quotes around, when there is a space in one of the command parts in the list
## r1035948, late October 2011, in the context of NPANDAY-337 and NPANDAY-341, 
this was reverted again.\\
\\

All these changes were also made in different combinations using 
* {{Runtime.getRuntime().exec(String[])}} => escaping each with double quotes 
if it contains a space
* and {{Runtime.getRuntime().exec(String)}} => splitting by space and feeding 
it in to the String[]-overload (not good!!)

Really I gave up on exactly finding out how things correlate, but in 1.3.1 it 
should be fixed. I also added testcases to make sure that is the case.
  
> Getting "The input line is too long" when NPanday tries to generate the 
> npanday-settings.xml (was "cannot build a project")
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: NPANDAY-366
>                 URL: https://issues.apache.org/jira/browse/NPANDAY-366
>             Project: NPanday
>          Issue Type: Bug
>          Components: Visual Studio Add-in
>    Affects Versions: 1.2.1
>         Environment: OS=Windows XP SP3 IDE=visual studio 2008, java, maven 
> 3.0.2
>            Reporter: Evina O. J. Cedric
>            Assignee: Lars Corneliussen
>             Fix For: 1.3.1-incubating
>
>
> i cannot build a project with npanday 1.2.1 in visual 2008. the following 
> output show the error : 
> {code}
> ------------------------------------------------------------------
> Executing Maven
> Pom File: C:\Documents and Settings\Cedric\Mes documents\Visual Studio 
> 2008\Projects\tuto\tuto.core.contract\pom.xml
> Goal: compile
> Arguments: compile
> NPanday Command: D:\APPLI\Maven\apache-maven-3.0.2\bin\mvn.bat compile
> ------------------------------------------------------------------
> [INFO] Scanning for projects...
> [WARNING] 
> [WARNING] Some problems were encountered while building the effective model 
> for Maison.Tuto:tuto.core.contract:library:1.0-SNAPSHOT
> [WARNING] 'build.plugins.plugin.version' for 
> npanday.plugin:maven-compile-plugin is missing. @ line 16, column 15
> [WARNING] 
> [WARNING] It is highly recommended to fix these problems because they 
> threaten the stability of your build.
> [WARNING] 
> [WARNING] For this reason, future Maven versions might no longer support 
> building such malformed projects.
> [WARNING] 
> [INFO]                                                                        
>  
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building Maison.Tuto : tuto.core.contract 1.0-SNAPSHOT
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] 
> [INFO] --- maven-compile-plugin:1.2.1:initialize (default-initialize) @ 
> tuto.core.contract ---
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in 
> [jar:file:/D:/MAVEN_REPO/org/sonatype/gossip/gossip/1.0/gossip-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in 
> [jar:file:/D:/MAVEN_REPO/org/slf4j/slf4j-jdk14/1.5.11/slf4j-jdk14-1.5.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
> explanation.
> 26 janv. 2011 20:19:56 npanday.registry.ConnectionsRepository lazyLoad
> INFO: NPANDAY-080-001: Adding data access object: Class Name = 
> npanday.dao.impl.ProjectDaoImpl
> 26 janv. 2011 20:19:56 npanday.registry.ConnectionsRepository lazyLoad
> INFO: NPANDAY-080-004: Connection Start Up: Time = 375
> [INFO] Mojo Execution Time = 406
> [INFO] 
> [INFO] --- maven-resolver-plugin:1.2.1:resolve (default-resolve) @ 
> tuto.core.contract ---
> [INFO] Mojo Execution Time = 16
> [INFO] 
> [INFO] --- NPanday.Plugin.Settings.JavaBinding:1.2.1:generate-settings 
> (default-generate-settings) @ tuto.core.contract ---
> [INFO] La ligne entr‚e est trop longue.
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 13.969s
> [INFO] Finished at: Wed Jan 26 20:20:00 WAT 2011
> [INFO] Final Memory: 5M/15M
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal 
> npanday.plugin:NPanday.Plugin.Settings.JavaBinding:1.2.1:generate-settings 
> (default-generate-settings) on project tuto.core.contract: NPANDAY-xxx-000: 
> NPANDAY-063-000: Execution Path = 
> D:\pab\gac_msil\NPanday.Plugin.Runner\1.2.1__npanday.plugin, Command = 
> [parameterFile=C:\DOCUME~1\Cedric\LOCALS~1\Temp\Plugin5388494390348674626.xml,
>  
> assemblyFile=D:\pab\gac_msil\NPanday.Plugin.Settings\1.2.1__npanday.plugin\NPanday.Plugin.Settings.dll,
>  mojoName=NPanday.Plugin.Settings.SettingsGeneratorMojo, 
> startProcessAssembly=D:\pab\gac_msil\NPanday.Plugin.Loader\1.2.1__npanday.plugin\NPanday.Plugin.Loader.exe]:
>  NPANDAY-040-001: Could not execute: Command = cmd.exe /X /C 
> ""NPanday.Plugin.Runner.exe 
> parameterFile=C:\DOCUME~1\Cedric\LOCALS~1\Temp\Plugin5388494390348674626.xml 
> assemblyFile=D:\pab\gac_msil\NPanday.Plugin.Settings\1.2.1__npanday.plugin\NPanday.Plugin.Settings.dll
>  mojoName=NPanday.Plugin.Settings.SettingsGeneratorMojo 
> startProcessAssembly=D:\pab\gac_msil\NPanday.Plugin.Loader\1.2.1__npanday.plugin\NPanday.Plugin.Loader.exe"",
>  Result = 1 -> [Help 1]
> [ERROR] 
> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
> switch.
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR] 
> [ERROR] For more information about the errors and possible solutions, please 
> read the following articles:
> [ERROR] [Help 1] 
> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
> NPanday Execution Failed!, with exit code: 1
> {code}
> the system path is :
> PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program 
> Files\ATI Technologies\ATI.ACE\Core-Static;c:\Program Files\Microsoft SQL 
> Server\90\Tools\binn\;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\Program 
> Files\TortoiseSVN\bin;D:\APPLI\Maven\apache-maven-3.0.2\bin;C:\Program 
> Files\Java\jdk1.7.0\bin;C:\server\php;C:\Program Files\Microsoft Visual 
> Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 
> 9.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 
> 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program
>  Files\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft 
> SDKs\Windows\v6.0A\bin;C:\Program Files\NUnit 2.5.9\bin\net-2.0

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to