Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-2127

mvn.bat always exits 0 on Windows 2000 and higher

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Won't Fix
    • 2.0, 2.0.1, 2.0.2
    • None
    • Command Line
    • None
    • I'm on Windows 2003 Server, but this will affect any OS for which the %OS% environment variable is Windows_NT, including Windows XP and Windows 2000.

    Description

      Write the following ant script and run it on Windows 2000 or higher: <project default="main"><target name="main"><exec executable="mvn.bat" failonerror="true" /></target></project>

      This will run "mvn" with no arguments, which will always fail. But the ant script will claim "build successful", because the exit value of mvn.bat was 0. It is absolutely critical that this work correctly, or else I can't integrate Maven into any other automated system.

      This is happening because mvn.bat is improperly abusing local scoping. On line 130 of mvn.bat, we execute maven, but we don't do anything with its exit value... we just always goto end. The fix for this is to add a line 131 that says "if errorlevel 1 goto error", which will behave correctly.

      (I marked this as having a test case because I've included a test ant script, but technically this isn't a JUnit test case, so it may be an inappropriate use of the "testcase included" marker.)

      Attachments

        1. maven-task.xml
          5 kB
          Steve Loughran
        2. mvnfixed.bat
          5 kB
          Daniel Fabulich
        3. mvnfixed.bat
          5 kB
          Daniel Fabulich

        Issue Links

          Activity

            People

              brett Brett Porter
              dfabulich Daniel Fabulich
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: