#93

remove deprecations on master

    • Created on: Tue, Aug 24 2010 (almost 2 years ago)
    • Reported by: bpsm
    • Assigned to: bpsm
    • Milestone: Backlog
    • Estimate: None/Small/Medium/Large None
    • Status: Fixed
    • Priority: Normal (3)
    • Component: -
    • Permission type: None
    I noticed the recent aborted attempt to remove the deprecated modules form clojure-contrib master. Since I was in need of some busy work, I decided to try and do it myself and clean up the breakage.

    The attached patches don't remove everything that has been marked as deprecated, just the bits Stuart previously indicated by trying to remove them.

    • clojure.contrib.apply-macro
    • clojure.contrib.http-agent
    • clojure.contrib.http-connection
    • clojure.contrib.javadoc: which rewrote a :use in repl_utils.clj from c.c.javadoc.browse to c.java.browse.
    • clojure.contrib.properties: where private versions of as-str and as-properties were defined in c.c.sql internal.clj
    • clojure.contrib.test-is
  • Followers
     
    Ico-users bpsm (Assigned To) 
     
    Attachments
    Fico_general
    4.89 KB Added by bpsm on August 24, 2010 17:13 UTC   Details
    Fico_general
    15.9 KB Added by bpsm on August 24, 2010 17:13 UTC   Details
    Fico_general
    5.31 KB Added by bpsm on August 24, 2010 17:13 UTC   Details
    Fico_general
    10.6 KB Added by bpsm on August 24, 2010 17:13 UTC   Details
    Fico_general
    8.65 KB Added by bpsm on August 24, 2010 17:13 UTC   Details
    Fico_general
    7.36 KB Added by bpsm on September 03, 2010 14:10 UTC   Details
    Fico_general
    17.8 KB Added by bpsm on August 25, 2010 05:48 UTC   Details
    Fico_general
    29.9 KB Added by bpsm on August 27, 2010 19:23 UTC   Details
    Fico_general
    11 KB Added by bpsm on August 27, 2010 19:25 UTC   Details
    Fico_general
    6.24 KB Added by bpsm on August 28, 2010 14:45 UTC   Details
    Fico_general
    33.9 KB Added by bpsm on August 28, 2010 14:45 UTC   Details
    Fico_general
    14.8 KB Added by bpsm on August 28, 2010 14:45 UTC   Details
    Fico_general
    16.2 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Fico_general
    9.81 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Fico_general
    173 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Fico_general
    5.71 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Fico_general
    10.8 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Fico_general
    3.93 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Fico_general
    9.03 KB Added by bpsm on August 28, 2010 18:54 UTC   Details
    Associations
     
    No associations
    Activity
     
    User picture

          on Aug 24, 2010 @ 06:25pm UTC * By bpsm

    Attachment 0008-removed-c.c.shell-and-c.c.shell-out.patch added
    User picture

          on Aug 26, 2010 @ 06:31pm UTC * By bpsm

    Assigned to set to bpsm
    Status changed from New to Accepted
    I'll submit further patches as I have time. Not being "in the loop", I can't be certain that we really want all the namespaces marked as deprecated gone before 1.3, but that's my operating assumption. (I'm attaching one patch per namespace so that the comitters can be selective.)
    User picture

          on Aug 26, 2010 @ 08:06pm UTC * By bpsm

    Attachment remove-deprecated-clojure.contrib.io.patch added
    User picture

          on Aug 27, 2010 @ 07:25pm UTC * By bpsm

    Attachment 0010-create-clojure.contrib.io-convenience-module.patch added
    file:dxyjsaSHar37S6eJe5cbCb: proposed new c.c.io providing only what was not migrated to Clojure proper
    User picture

          on Aug 27, 2010 @ 07:41pm UTC * By bpsm

    *Proposal*: when a namespace is partially promoted to Clojure proper, it might be good to provide a reduced version of the old namespace, providing just the functionality that was not promoted as an alternative to complete removal.

    I've sketched out this idea as a patch: 0010-create-clojure.contrib.io-convenience-module.

    I'm imagining something like:
    • most of clojure.contrib.io is promoted to clojure 1.2
    • clojure-contrib 1.2 deprecates, but does not remove clojure.contrib.io
    • clojure-contrib 1.3 provides a reduced version of clojure.contrib.io containing only non-deprecatd functionality not available elsewhere (i.e. in Clojure ≥ 1.2).

    This new clojure.contrib.io is not a strict subset of the old clojure.contrib.io, as some changes seemed sensible to harmonize with clojure.java.io's conventions. This means, it's not a drop-in replacement, but at least provides equivalents for anyone trying to get off the deprecated clojure.contrib.io.

    One problem that's apparent with this proposal is that, since the 'new' io only becomes available in 1.3, there would be something of a "flag day" when switching from 1.2 to 1.3, but then there would be if 1.3 completely eliminated c.c.io as well -- only it would be worse.
    User picture

          on Aug 28, 2010 @ 05:03am UTC * By stuartsierra

    clojure.contrib.io is deprecated, period. It will be removed in the next release.
    User picture

          on Aug 28, 2010 @ 07:15am UTC * By bpsm

    Fine, so ignore patch 0010. That's why it's a "proposal".

    Those moving their code off of c.c.io to c.j.io will just have to write their own versions of a subset of {file-str, write-lines, read-lines, pwd, with-out, with-in, to-byte-array, relative-path-string and delete-file-recursively}, or get these from a library outside of clojure-contrib. Am I understanding correctly?

    Patch 0010 contains (in the comments) some tips for porting from deprecated c.c.io to c.j.io. It would make sense to gather that kind of information in some kind of a guide/faq about how to replace uses of deprecated c.c. namespaces promotion to core was not 1-to-1.
    User picture

          on Aug 28, 2010 @ 07:17am UTC * By bpsm

    …replace uses of deprecated c.c. namespaces where promotion to core was not 1-to-1.
    User picture

          on Aug 28, 2010 @ 02:45pm UTC * By bpsm

    Attachment 0011-remove-deprecated-clojure.contrib.str-utils.patch added
    User picture

          on Aug 28, 2010 @ 02:45pm UTC * By bpsm

    Attachment 0012-remove-deprecated-clojure.contrib.str-utils2.patch added
    User picture

          on Aug 28, 2010 @ 02:45pm UTC * By bpsm

    Attachment 0013-remove-deprecated-clojure.contrib.string.patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0014-removed-deprecated-clojure.contrib.duck-streams.patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0015-removed-deprecated-clojure.contrib.java-utils.patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0016-removed-deprecated-clojure.contrib.pprint.patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0017-removed-deprecated-source-get-source-apropos-from-cl.patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0018-removed-deprecated-clojure.contrib.seq-utils.patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0019-removed-9-deprecated-functions-from-clojure.contrib..patch added
    User picture

          on Aug 28, 2010 @ 06:54pm UTC * By bpsm

    Attachment 0020-removed-deprecated-subset-superset-from-clojure.cont.patch added
    User picture

          on Aug 28, 2010 @ 07:13pm UTC * By bpsm

    Status changed from Accepted to Test
    This task looks done to me. I can nothing further in clojure-contrib that's been deprecated. I've placed these patches on a branch on github for easy browsing.
    User picture

          on Sep 03, 2010 @ 04:52pm UTC * By stuartsierra

    Status changed from Test to Fixed
    Time Expenditure
    Loading