Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-4016

Check if all the packaging/ development tasks work with latest Ant 1.8.x and switch to ant 1.8.x as the "officially supported" build platform.

    Details

    • Type: Task
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0-ALPHA
    • Component/s: general/build
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      Diff the outputs between ant 1.8.2 and ant 1.7.1.

      Target         Windows   Ubuntu    Mac   Jenkins
      ------------------------------------------------
      /
        ivy-bootstrap  OK        OK      OK       ?
        jar-checksums  OK        OK      OK       ?
        validate       OK        OK      OK       ?
        test           OK        OK      OK      OK
      lucene/
        prepare-relea* OK        OK      OK       ?
      solr/
        prepare-relea* OK        OK      OK       ?
      

      Check consistency with release instructions: http://wiki.apache.org/lucene-java/ReleaseTodo and http://wiki.apache.org/solr/HowToRelease

      Differences log:

      • ant 1.8.x creates empty package-info.class where ant 1.7.x would fail to do so. This is documented at http://ant.apache.org/manual/Tasks/javac.html and is the expected behavior.
      • manifest timestamps are slightly different (Created-By - jvm version is formatted differently, I think more human-friendly in 1.8).
        1.7: Created-By: 22.1-b02 (Oracle Corporation)
        1.8: Created-By: 1.7.0_03-b05 (Oracle Corporation)
        

        Activity

        Hide
        rcmuir Robert Muir added a comment -

        ant 1.8.x creates empty package-info.class where ant 1.7.x would fail to do so. This is documented at http://ant.apache.org/manual/Tasks/javac.html and is the expected behavior.

        What is the effect of this on javadocs? I intentionally added checks to flush out 'secret' javadocs for packages that had no classes, because its a sign they should really be in overview.html or restructured somehow (http://svn.apache.org/viewvc?rev=1328844&view=rev). Will this break that?

        I know, its funky how the check works, by allowing it (includenosourcepackages="true"), we cause a javadocs warning
        to occur as a side effect (versus silently discarding the documentation), failing the build

        Show
        rcmuir Robert Muir added a comment - ant 1.8.x creates empty package-info.class where ant 1.7.x would fail to do so. This is documented at http://ant.apache.org/manual/Tasks/javac.html and is the expected behavior. What is the effect of this on javadocs? I intentionally added checks to flush out 'secret' javadocs for packages that had no classes, because its a sign they should really be in overview.html or restructured somehow ( http://svn.apache.org/viewvc?rev=1328844&view=rev ). Will this break that? I know, its funky how the check works, by allowing it (includenosourcepackages="true"), we cause a javadocs warning to occur as a side effect (versus silently discarding the documentation), failing the build
        Hide
        dweiss Dawid Weiss added a comment -

        I only see "package-info.class" generated for source files like spatial\src\java\org\apache\lucene\spatial\package-info.java. This is generated with Ant 1.8 but is not with Ant 1.7.

        There are no other differences other than timestamps (builds executed at different time).

        Show
        dweiss Dawid Weiss added a comment - I only see "package-info.class" generated for source files like spatial\src\java\org\apache\lucene\spatial\package-info.java. This is generated with Ant 1.8 but is not with Ant 1.7. There are no other differences other than timestamps (builds executed at different time).
        Hide
        rcmuir Robert Muir added a comment -

        So that means if i have a package, with only a package.html and no classes... that its package.html is now visible?

        I'm just trying to think about how my checker will cope

        Show
        rcmuir Robert Muir added a comment - So that means if i have a package, with only a package.html and no classes... that its package.html is now visible? I'm just trying to think about how my checker will cope
        Hide
        dweiss Dawid Weiss added a comment -

        We misunderstood each other. These package-info.class files are generated for package-info.java (which are a way to put annotations on a package). There are three such files in Lucene (in spatial).

        Show
        dweiss Dawid Weiss added a comment - We misunderstood each other. These package-info.class files are generated for package-info.java (which are a way to put annotations on a package). There are three such files in Lucene (in spatial).
        Hide
        dweiss Dawid Weiss added a comment -

        I'll check Ubuntu tomorrow. If anybody wants to give Mac a try, go ahead. I don't think there will be any differences, really – if it passed without any glitches on my Windows machine I don't expect any problems on other platforms (typically it's windows that causes problems).

        Show
        dweiss Dawid Weiss added a comment - I'll check Ubuntu tomorrow. If anybody wants to give Mac a try, go ahead. I don't think there will be any differences, really – if it passed without any glitches on my Windows machine I don't expect any problems on other platforms (typically it's windows that causes problems).
        Hide
        dweiss Dawid Weiss added a comment -

        I'm planning on switching Ubuntu's symlinks to ant 1.8.2 and let it run for a while. So far nothing's been different (I still don't have a confirmation from a mac, but I bet it's identical there). Report any problems, please.

        Show
        dweiss Dawid Weiss added a comment - I'm planning on switching Ubuntu's symlinks to ant 1.8.2 and let it run for a while. So far nothing's been different (I still don't have a confirmation from a mac, but I bet it's identical there). Report any problems, please.
        Hide
        dweiss Dawid Weiss added a comment -

        Updating the required ant version to 1.8.2+.

        Show
        dweiss Dawid Weiss added a comment - Updating the required ant version to 1.8.2+.
        Hide
        dweiss Dawid Weiss added a comment -

        Jenkins is running ant 1.8.2. Everything seems to work identically to ant 1.7. I've attached a patch that enforces ant 1.8.2 or later so if you have an older ant, the build will fail for you with a message saying you need to upgrade.

        Explanation – ant 1.8.2 is available by default on macs and 1.8.3 is relatively new so I decided to make 1.8.2 a required version. Everything works fine with 1.8.3 as well so you can use the latest one too.

        If there are no objections, I'll commit it shortly.

        Show
        dweiss Dawid Weiss added a comment - Jenkins is running ant 1.8.2. Everything seems to work identically to ant 1.7. I've attached a patch that enforces ant 1.8.2 or later so if you have an older ant, the build will fail for you with a message saying you need to upgrade. Explanation – ant 1.8.2 is available by default on macs and 1.8.3 is relatively new so I decided to make 1.8.2 a required version. Everything works fine with 1.8.3 as well so you can use the latest one too. If there are no objections, I'll commit it shortly.
        Hide
        mikemccand Michael McCandless added a comment -

        As far as I can tell, I can't reproduce the output truncation I was seeing before.

        Before, it reproduced easily (1.7.1 worked, 1.8.3 truncated)... I never got to the bottom of it.

        So I think the recent changes to the test infra must've worked around the problem?

        So I'm fine w/ requiring 1.8.x.

        Show
        mikemccand Michael McCandless added a comment - As far as I can tell, I can't reproduce the output truncation I was seeing before. Before, it reproduced easily (1.7.1 worked, 1.8.3 truncated)... I never got to the bottom of it. So I think the recent changes to the test infra must've worked around the problem? So I'm fine w/ requiring 1.8.x.
        Hide
        dweiss Dawid Weiss added a comment -

        I'm sure it's switching to junit4 - it's a different runner and different type of buffering. Not everything is smooth (there are issues with jvm debugging options, jvm warnings, etc.) but I'm working on these.

        Show
        dweiss Dawid Weiss added a comment - I'm sure it's switching to junit4 - it's a different runner and different type of buffering. Not everything is smooth (there are issues with jvm debugging options, jvm warnings, etc.) but I'm working on these.
        Hide
        rcmuir Robert Muir added a comment -

        patch looks good.

        Thanks for doing all this testing!

        Show
        rcmuir Robert Muir added a comment - patch looks good. Thanks for doing all this testing!

          People

          • Assignee:
            dweiss Dawid Weiss
            Reporter:
            dweiss Dawid Weiss
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development