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 Task
    • Status: Closed
    • Priority: Trivial 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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        Dawid Weiss added a comment -

        Updating the required ant version to 1.8.2+.

        Show
        Dawid Weiss added a comment - Updating the required ant version to 1.8.2+.
        Hide
        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
        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
        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
        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
        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
        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
        Robert Muir added a comment -

        patch looks good.

        Thanks for doing all this testing!

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

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development