Lucene - Core
  1. Lucene - Core
  2. LUCENE-2973

Source distribution packaging targets should make a tarball from "svn export"

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.1, 3.2, 4.0-ALPHA
    • Fix Version/s: 3.1, 3.2, 4.0-ALPHA
    • Component/s: general/build
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      Instead of picking and choosing which stuff to include from a local working copy, Lucene's dist-src/package-tgz-src target and Solr's package-src target should simply perform "svn export" with the same revision and URL as the local working copy.

      1. LUCENE-2973.patch
        10 kB
        Steve Rowe
      2. LUCENE-2973.patch
        10 kB
        Steve Rowe
      3. LUCENE-2973.patch
        11 kB
        Steve Rowe
      4. LUCENE-2973.patch
        10 kB
        Steve Rowe
      5. LUCENE-2973.patch
        10 kB
        Steve Rowe
      6. LUCENE-2973.patch
        12 kB
        Steve Rowe
      7. LUCENE-2973.patch
        12 kB
        Steve Rowe

        Activity

        Hide
        Steve Rowe added a comment -

        Patch implementing the idea. svn info is used to collect the revision and URL of the working copy.

        Drops .zip source packaging for both Lucene and Solr - only .tar.gz files are produced.

        Solr's package-src target includes everything in the top-level checkout. Lucene's dist-src/package-tgz-src target includes everything in the top-level checkout except solr/.

        Show
        Steve Rowe added a comment - Patch implementing the idea. svn info is used to collect the revision and URL of the working copy. Drops .zip source packaging for both Lucene and Solr - only .tar.gz files are produced. Solr's package-src target includes everything in the top-level checkout. Lucene's dist-src / package-tgz-src target includes everything in the top-level checkout except solr/ .
        Hide
        Steve Rowe added a comment -

        Renamed the directory in which svn export operates, from build/checkout/ to build/svn-export/.

        Show
        Steve Rowe added a comment - Renamed the directory in which svn export operates, from build/checkout/ to build/svn-export/ .
        Hide
        Steve Rowe added a comment -

        Forgot to mention: the patch is against trunk.

        Show
        Steve Rowe added a comment - Forgot to mention: the patch is against trunk.
        Hide
        Steve Rowe added a comment -

        This version of the patch copies the LICENSE.txt and NOTICE.txt files into the root dir of both the Lucene and Solr source packages.

        Show
        Steve Rowe added a comment - This version of the patch copies the LICENSE.txt and NOTICE.txt files into the root dir of both the Lucene and Solr source packages.
        Hide
        Robert Muir added a comment -

        Solr's package-src target includes everything in the top-level checkout. Lucene's dist-src/package-tgz-src target includes everything in the top-level checkout except solr/

        We shouldn't do this. lucene should just include lucene, and in no event should we be releasing dev-tools.

        Its not just philosophical issue either, in a lucene-only release none of the stuff in dev-tools will actually even work anyway,
        because it contains reference to solr.

        instead, the build must not depend upon dev-tools, its optional stuff.

        Show
        Robert Muir added a comment - Solr's package-src target includes everything in the top-level checkout. Lucene's dist-src/package-tgz-src target includes everything in the top-level checkout except solr/ We shouldn't do this. lucene should just include lucene, and in no event should we be releasing dev-tools. Its not just philosophical issue either, in a lucene-only release none of the stuff in dev-tools will actually even work anyway, because it contains reference to solr. instead, the build must not depend upon dev-tools, its optional stuff.
        Hide
        Yonik Seeley added a comment -

        +1, this will be much easier and less error prone to maintain.

        Show
        Yonik Seeley added a comment - +1, this will be much easier and less error prone to maintain.
        Hide
        Steve Rowe added a comment -

        This version of the patch has two changes:

        1. The build/svn-export/ directory is now deleted before telling svn export to export to that directory - previously it was complaining about the dir being in the way.
        2. dev-tools/ is excluded from both the Lucene and the Solr source packages.
        Show
        Steve Rowe added a comment - This version of the patch has two changes: The build/svn-export/ directory is now deleted before telling svn export to export to that directory - previously it was complaining about the dir being in the way. dev-tools/ is excluded from both the Lucene and the Solr source packages.
        Hide
        Steve Rowe added a comment -

        Lucene source distribution changed to export only the lucene/ top-level dir. NOTICE.txt and LICENSE.txt don't need copying anymore.

        I think this is ready to go - I'll commit later today if there are no objections.

        Show
        Steve Rowe added a comment - Lucene source distribution changed to export only the lucene/ top-level dir. NOTICE.txt and LICENSE.txt don't need copying anymore. I think this is ready to go - I'll commit later today if there are no objections.
        Hide
        Steve Rowe added a comment -

        In this version of the patch:

        1. I restored inclusion of dev-tools/ in the Solr source package. The decision about whether to include dev-tools/ is orthogonal to using "svn export"; this patch maintains the status quo for Solr. dev-tools/ is not included in the Lucene source package; this maintains the status quo for Lucene.
        2. Added some comments and introduced a variable for the source package filename instead of spelling it out everywhere.

        I will commit shortly.

        Show
        Steve Rowe added a comment - In this version of the patch: I restored inclusion of dev-tools/ in the Solr source package. The decision about whether to include dev-tools/ is orthogonal to using "svn export"; this patch maintains the status quo for Solr. dev-tools/ is not included in the Lucene source package; this maintains the status quo for Lucene. Added some comments and introduced a variable for the source package filename instead of spelling it out everywhere. I will commit shortly.
        Hide
        Steve Rowe added a comment -

        One more change in this patch: Solr's sign-artifacts target no longer attempts to sign the .zip version of the source package.

        Show
        Steve Rowe added a comment - One more change in this patch: Solr's sign-artifacts target no longer attempts to sign the .zip version of the source package.
        Hide
        Steve Rowe added a comment -

        Committed:

        • trunk revision 1083213
        • branch_3x revision 1083235
        • lucene_solr_3_1 revision 1083237
        Show
        Steve Rowe added a comment - Committed: trunk revision 1083213 branch_3x revision 1083235 lucene_solr_3_1 revision 1083237
        Hide
        Steve Rowe added a comment -

        The subversion export command has a --native-eol parameter:

        --native-eol ARG         : use a different EOL marker than the standard
                                   system marker for files with the svn:eol-style
                                   property set to 'native'.
                                   ARG may be one of 'LF', 'CR', 'CRLF'
        

        Solr's package-src and Lucene's dist-src targets should be made to use this parameter with the LF arg, so that the source packages can be consistently produced regardless of platform.

        Show
        Steve Rowe added a comment - The subversion export command has a --native-eol parameter: --native-eol ARG : use a different EOL marker than the standard system marker for files with the svn:eol-style property set to 'native'. ARG may be one of 'LF', 'CR', 'CRLF' Solr's package-src and Lucene's dist-src targets should be made to use this parameter with the LF arg, so that the source packages can be consistently produced regardless of platform.
        Hide
        Steve Rowe added a comment -

        The subversion export command has a --native-eol parameter .... Solr's package-src and Lucene's dist-src targets should be made to use this parameter with the LF arg, so that the source packages can be consistently produced regardless of platform.

        Committed:

        • r1083945: trunk
        • r1083946: branch_3x
        • r1083947: lucene_solr_3_1
        Show
        Steve Rowe added a comment - The subversion export command has a --native-eol parameter .... Solr's package-src and Lucene's dist-src targets should be made to use this parameter with the LF arg, so that the source packages can be consistently produced regardless of platform. Committed: r1083945: trunk r1083946: branch_3x r1083947: lucene_solr_3_1
        Hide
        Steve Rowe added a comment -

        Ant's <exec> task can take arguments in two forms: as a line to be parsed/split by the shell (<arg line="...">), or as a pre-parsed list (with one <arg value="..."> for each cmdline argument). The svn-export-source target should be rewritten to use the pre-parsed form, to avoid splitting problems (e.g. spaces in paths) with the <arg line="..."> form.

        Show
        Steve Rowe added a comment - Ant's <exec> task can take arguments in two forms: as a line to be parsed/split by the shell ( <arg line="...">) , or as a pre-parsed list (with one <arg value="..."> for each cmdline argument). The svn-export-source target should be rewritten to use the pre-parsed form, to avoid splitting problems (e.g. spaces in paths) with the <arg line="..."> form.
        Hide
        Steve Rowe added a comment -

        The svn-export-source target should be rewritten to use the pre-parsed form, to avoid splitting problems (e.g. spaces in paths) with the <arg line="..."> form.

        Committed:

        • r1084307 trunk
        • r1084309 branch_3x

        I'll leave this issue open to also be committed on the lucene_solr_3_1 branch before a 3.1.1 release (if there is one).

        Show
        Steve Rowe added a comment - The svn-export-source target should be rewritten to use the pre-parsed form, to avoid splitting problems (e.g. spaces in paths) with the <arg line="..."> form. Committed: r1084307 trunk r1084309 branch_3x I'll leave this issue open to also be committed on the lucene_solr_3_1 branch before a 3.1.1 release (if there is one).
        Hide
        Steve Rowe added a comment -

        The svn-export-source targets were not using the ${svn.exe} property, but they should, to allow for use of svn executables not on the $PATH.

        Committed:

        • r1084322 trunk
        • r1084324 branch_3x

        This change should also be added to the lucene_solr_3_1 branch before a 3.1.1 release (if there is one).

        Show
        Steve Rowe added a comment - The svn-export-source targets were not using the ${svn.exe } property, but they should, to allow for use of svn executables not on the $PATH . Committed: r1084322 trunk r1084324 branch_3x This change should also be added to the lucene_solr_3_1 branch before a 3.1.1 release (if there is one).
        Hide
        Uwe Schindler added a comment -

        Merged also to 3.1.0

        Show
        Uwe Schindler added a comment - Merged also to 3.1.0
        Hide
        Grant Ingersoll added a comment -

        Bulk close for 3.1

        Show
        Grant Ingersoll added a comment - Bulk close for 3.1

          People

          • Assignee:
            Steve Rowe
            Reporter:
            Steve Rowe
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development