[Git][clojure-team/tools-analyzer-clojure][debian/main] 12 commits: d/watch: fix tag pattern

Jérôme Charaoui (@lavamind) gitlab at salsa.debian.org
Thu Feb 2 03:25:05 GMT 2023



Jérôme Charaoui pushed to branch debian/main at Debian Clojure Maintainers / tools-analyzer-clojure


Commits:
e13d542d by Jérôme Charaoui at 2023-02-01T18:15:29-05:00
d/watch: fix tag pattern

- - - - -
fc08c9d8 by Jérôme Charaoui at 2023-02-01T18:15:52-05:00
New upstream version 1.1.1
- - - - -
2e46d32e by Jérôme Charaoui at 2023-02-01T18:15:54-05:00
Update upstream source from tag 'upstream/1.1.1'

Update to upstream version '1.1.1'
with Debian dir 9839df773dafba0101dd28afd95569267e77ff98
- - - - -
a3f4a566 by Jérôme Charaoui at 2023-02-01T21:21:46-05:00
d/patches: refresh patches for new upstream version

- - - - -
437ae496 by Jérôme Charaoui at 2023-02-01T21:22:29-05:00
d/control: remove redundant binary Depends

Already added by javahelper.

- - - - -
a794ac19 by Jérôme Charaoui at 2023-02-01T21:34:27-05:00
d/rules: replace jh_installlibs override

- - - - -
6885a3bc by Jérôme Charaoui at 2023-02-01T21:34:32-05:00
remove obsolete README.source

- - - - -
cfac023b by Jérôme Charaoui at 2023-02-01T21:34:33-05:00
d/rules: honor nocheck flag in build options

- - - - -
931fa855 by Jérôme Charaoui at 2023-02-01T21:34:33-05:00
d/control: bump Standards-Version, no changes needed

- - - - -
7e1a481a by Jérôme Charaoui at 2023-02-01T21:34:34-05:00
run wrap-and-sort -bastk

- - - - -
3584e5ac by Jérôme Charaoui at 2023-02-01T21:41:14-05:00
d/tests: run upstream testsuite with bultitude

- - - - -
9bc71f25 by Jérôme Charaoui at 2023-02-01T21:43:14-05:00
Update changelog for 1.1.1-1 release

- - - - -


28 changed files:

- + .github/PULL_REQUEST_TEMPLATE
- CHANGELOG.md
- CONTRIBUTING.md
- + LICENSE
- README.md
- − debian/README.source
- debian/changelog
- debian/control
- debian/libtools-analyzer-clojure.docs
- debian/libtools-analyzer-clojure.poms
- debian/patches/0001_Lein_Local.patch
- debian/rules
- debian/tests/control
- + debian/tests/upstream
- debian/watch
- pom.xml
- project.clj
- src/main/clojure/clojure/tools/analyzer.clj
- src/main/clojure/clojure/tools/analyzer/ast.clj
- src/main/clojure/clojure/tools/analyzer/ast/query.clj
- src/main/clojure/clojure/tools/analyzer/env.clj
- src/main/clojure/clojure/tools/analyzer/passes.clj
- src/main/clojure/clojure/tools/analyzer/passes/elide_meta.clj
- src/main/clojure/clojure/tools/analyzer/passes/uniquify.clj
- src/main/clojure/clojure/tools/analyzer/passes/warn_earmuff.clj
- src/main/clojure/clojure/tools/analyzer/utils.clj
- src/test/clojure/clojure/tools/analyzer/core_test.clj
- src/test/clojure/clojure/tools/analyzer/query_test.clj


Changes:

=====================================
.github/PULL_REQUEST_TEMPLATE
=====================================
@@ -0,0 +1,14 @@
+Hi! Thanks for your interest in contributing to this project.
+
+Clojure contrib projects do not use GitHub issues or pull requests, and
+require a signed Contributor Agreement. If you would like to contribute,
+please read more about the CA and sign that first (this can be done online).
+
+Then go to this project's issue tracker in JIRA to create tickets, update
+tickets, or submit patches. For help in creating tickets and patches,
+please see:
+
+- Contributing FAQ: https://clojure.org/dev
+- Signing the CA: https://clojure.org/dev/contributor_agreement
+- Creating Tickets: https://clojure.org/dev/creating_tickets
+- Developing Patches: https://clojure.org/dev/developing_patches


=====================================
CHANGELOG.md
=====================================
@@ -1,5 +1,12 @@
 Changelog
 ========================================
+* next
+  * Remove JVM-specific code to make this usable for ClojureCLR
+* Release 1.1.0 on 14 Sep 2021
+  * TANAL-134: Remove :init from :def's :children when absent
+  * Added :refer-clojure :exclude for `update-keys` and `update-vals` being added in Clojure 1.11
+* Release 1.0.0 on 18 Feb 2020
+  * Fixed docstrings
 * Release 0.7.0 on 10 Dec 2018
   * Handle injected locals in add-binding-atom phase
 * Release 0.6.9 on 9 Jun 2015


=====================================
CONTRIBUTING.md
=====================================
@@ -8,5 +8,5 @@ more information on how to contribute.
 
 [Clojure contrib]: https://clojure.org/community/contrib_libs
 [Contributing]: https://clojure.org/community/contributing
-[JIRA]: http://dev.clojure.org/jira/browse/TANAL
+[JIRA]: https://clojure.atlassian.net/browse/TANAL
 [guidelines]: https://clojure.org/community/contrib_howto


=====================================
LICENSE
=====================================
@@ -0,0 +1,205 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation
+   distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+    i) changes to the Program, and
+   ii) additions to the Program;
+
+   where such changes and/or additions to the Program originate from and are
+   distributed by that particular Contributor. A Contribution 'originates'
+   from a Contributor if it was added to the Program by such Contributor
+   itself or anyone acting on such Contributor's behalf. Contributions do not
+   include additions to the Program which: (i) are separate modules of
+   software distributed in conjunction with the Program under their own
+   license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+  a) Subject to the terms of this Agreement, each Contributor hereby grants
+     Recipient a non-exclusive, worldwide, royalty-free copyright license to
+     reproduce, prepare derivative works of, publicly display, publicly
+     perform, distribute and sublicense the Contribution of such Contributor,
+     if any, and such derivative works, in source code and object code form.
+  b) Subject to the terms of this Agreement, each Contributor hereby grants
+     Recipient a non-exclusive, worldwide, royalty-free patent license under
+     Licensed Patents to make, use, sell, offer to sell, import and otherwise
+     transfer the Contribution of such Contributor, if any, in source code and
+     object code form. This patent license shall apply to the combination of
+     the Contribution and the Program if, at the time the Contribution is
+     added by the Contributor, such addition of the Contribution causes such
+     combination to be covered by the Licensed Patents. The patent license
+     shall not apply to any other combinations which include the Contribution.
+     No hardware per se is licensed hereunder.
+  c) Recipient understands that although each Contributor grants the licenses
+     to its Contributions set forth herein, no assurances are provided by any
+     Contributor that the Program does not infringe the patent or other
+     intellectual property rights of any other entity. Each Contributor
+     disclaims any liability to Recipient for claims brought by any other
+     entity based on infringement of intellectual property rights or
+     otherwise. As a condition to exercising the rights and licenses granted
+     hereunder, each Recipient hereby assumes sole responsibility to secure
+     any other intellectual property rights needed, if any. For example, if a
+     third party patent license is required to allow Recipient to distribute
+     the Program, it is Recipient's responsibility to acquire that license
+     before distributing the Program.
+  d) Each Contributor represents that to its knowledge it has sufficient
+     copyright rights in its Contribution, if any, to grant the copyright
+     license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+  a) it complies with the terms and conditions of this Agreement; and
+  b) its license agreement:
+      i) effectively disclaims on behalf of all Contributors all warranties
+         and conditions, express and implied, including warranties or
+         conditions of title and non-infringement, and implied warranties or
+         conditions of merchantability and fitness for a particular purpose;
+     ii) effectively excludes on behalf of all Contributors all liability for
+         damages, including direct, indirect, special, incidental and
+         consequential damages, such as lost profits;
+    iii) states that any provisions which differ from this Agreement are
+         offered by that Contributor alone and not by any other party; and
+     iv) states that source code for the Program is available from such
+         Contributor, and informs licensees how to obtain it in a reasonable
+         manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+  a) it must be made available under this Agreement; and
+  b) a copy of this Agreement must be included with each copy of the Program.
+     Contributors may not remove or alter any copyright notices contained
+     within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution,
+if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore,
+if a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses,
+damages and costs (collectively "Losses") arising from claims, lawsuits and
+other legal actions brought by a third party against the Indemnified
+Contributor to the extent caused by the acts or omissions of such Commercial
+Contributor in connection with its distribution of the Program in a commercial
+product offering. The obligations in this section do not apply to any claims
+or Losses relating to any actual or alleged intellectual property
+infringement. In order to qualify, an Indemnified Contributor must:
+a) promptly notify the Commercial Contributor in writing of such claim, and
+b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any such claim at
+its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If
+that Commercial Contributor then makes performance claims, or offers
+warranties related to Product X, those performance claims and warranties are
+such Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using
+and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the
+risks and costs of program errors, compliance with applicable laws, damage to
+or loss of data, programs or equipment, and unavailability or interruption of
+operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this Agreement, and without further action by the
+parties hereto, such provision shall be reformed to the minimum extent
+necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted
+under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue
+and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to
+time. No one other than the Agreement Steward has the right to modify this
+Agreement. The Eclipse Foundation is the initial Agreement Steward. The
+Eclipse Foundation may assign the responsibility to serve as the Agreement
+Steward to a suitable separate entity. Each new version of the Agreement will
+be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version of the
+Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly
+stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
+licenses to the intellectual property of any Contributor under this Agreement,
+whether expressly, by implication, estoppel or otherwise. All rights in the
+Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
+
+


=====================================
README.md
=====================================
@@ -2,7 +2,7 @@
 
 An analyzer for host agnostic Clojure code, written in Clojure and producing AST in EDN.
 
-I gave a talk on tools.analyzer[.jvm] at ClojureX in December 2015. Video [here](https://skillsmatter.com/skillscasts/7239-immutable-code-analysis-with-tools-analyzer)
+I gave a talk on tools.analyzer[.jvm] at ClojureX in December 2015. Video [here](https://www.youtube.com/watch?v=oZyt93lmF5s)
 
 Timothy Baldridge gave a talk on tools.analyzer[.jvm] at Clojure/West in
 March 2014. Video
@@ -19,7 +19,7 @@ Currently the following platform specific analyzers written on top of tools.anal
 * [Developer Information](#developer-information)
 * [License](#license)
 
-[Quickref](http://clojure.github.io/tools.analyzer/spec/quickref.html)
+[Quickref](https://clojure.github.io/tools.analyzer/spec/quickref.html)
 ========================================
 
 ## Example Usage
@@ -148,7 +148,7 @@ clojure.tools.analyzer.jvm> (ast/update-children (analyze '(do 1 (+ 1 2) :foo))
   ...},
  ...}
 ```
-If it's desiderable to walk all the AST applying a function to all the nodes and the children nodes, one of `walk`, `prewalk` or `postwalk` should be used, read the docstrings of the three functions to understand the differences.
+If it's desirable to walk all the AST applying a function to all the nodes and the children nodes, one of `walk`, `prewalk` or `postwalk` should be used, read the docstrings of the three functions to understand the differences.
 Here's the previous example using `prewalk` instead of `update-children`:
 ```clojure
 clojure.tools.analyzer.jvm> (ast/prewalk (analyze '(do 1 (+ 1 2) :foo))
@@ -186,7 +186,7 @@ Since version `0.6.0`, passes can be scheduled automatically using `clojure.tool
 
 ## SPONSORSHIP
 
-* Cognitect (http://cognitect.com/) has sponsored tools.analyzer development (https://groups.google.com/d/msg/clojure/iaP16MHpX0E/EMtnGmOz-rgJ)
+* Cognitect (https://cognitect.com/) has sponsored tools.analyzer development (https://groups.google.com/d/msg/clojure/iaP16MHpX0E/EMtnGmOz-rgJ)
 * Ambrose BS (https://twitter.com/ambrosebs) has sponsored tools.analyzer development in his typed clojure campaign (http://www.indiegogo.com/projects/typed-clojure).
 
 ## YourKit
@@ -195,30 +195,29 @@ YourKit has given an open source license for their profiler, greatly simplifying
 
 YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:
 
-* <a href="http://www.yourkit.com/java/profiler/index.jsp">YourKit Java Profiler</a> and
-* <a href="http://www.yourkit.com/.net/profiler/index.jsp">YourKit .NET Profiler</a>.
+* <a href="https://www.yourkit.com/java/profiler/index.jsp">YourKit Java Profiler</a> and
+* <a href="https://www.yourkit.com/.net/profiler/index.jsp">YourKit .NET Profiler</a>.
 
 Releases and Dependency Information
 ========================================
 
-Latest stable release: 0.7.0
+Latest stable release: 1.1.0
 
-* [All Released Versions](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.clojure%22%20AND%20a%3A%22tools.analyzer%22)
-
-* [Development Snapshot Versions](https://oss.sonatype.org/index.html#nexus-search;gav%7Eorg.clojure%7Etools.analyzer%7E%7E%7E)
+* [All Released Versions](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.clojure%22%20AND%20a%3A%22tools.analyzer%22)
+* [Development Snapshot Versions](https://clojure.org/releases/downloads#_using_clojure_snapshot_releases)
 
 [Leiningen](https://github.com/technomancy/leiningen) dependency information:
 
 ```clojure
-[org.clojure/tools.analyzer "0.7.0"]
+[org.clojure/tools.analyzer "1.1.0"]
 ```
-[Maven](http://maven.apache.org/) dependency information:
+[Maven](https://maven.apache.org/) dependency information:
 
 ```xml
 <dependency>
   <groupId>org.clojure</groupId>
   <artifactId>tools.analyzer</artifactId>
-  <version>0.7.0</version>
+  <version>1.1.0</version>
 </dependency>
 ```
 
@@ -228,19 +227,15 @@ Latest stable release: 0.7.0
 API Index
 ========================================
 
-* [CrossClj Documentation](http://crossclj.info/doc/org.clojure/tools.analyzer/lastest/index.html)
-* [API index](http://clojure.github.io/tools.analyzer)
+* [API index](https://clojure.github.io/tools.analyzer)
 
 Developer Information
 ========================================
 
 * [GitHub project](https://github.com/clojure/tools.analyzer)
-
-* [Bug Tracker](http://dev.clojure.org/jira/browse/TANAL)
-
-* [Continuous Integration](http://build.clojure.org/job/tools.analyzer/)
-
-* [Compatibility Test Matrix](http://build.clojure.org/job/tools.analyzer-test-matrix/)
+* [Bug Tracker](https://clojure.atlassian.net/browse/TANAL)
+* [Continuous Integration](https://build.clojure.org/job/tools.analyzer/)
+* [Compatibility Test Matrix](https://build.clojure.org/job/tools.analyzer-test-matrix/)
 
 ## License
 


=====================================
debian/README.source deleted
=====================================
@@ -1,10 +0,0 @@
-Since we're patching out piggieback, on new releases we need to generate the
-debian/pom.xml file after having applied patches:
-
-    $ quilt push -a
-    $ lein pom debian/pom.xml
-    $ quilt pop -a
-
-We're not running the upstream testsuite as an autopkgtest, as it requires some
-files that are not packaged (in src/test). We _could_ package a -test package
-and try to include them, but it would mean a lot of patches and a trip via NEW.


=====================================
debian/changelog
=====================================
@@ -1,9 +1,23 @@
-tools-analyzer-clojure (1.0.0-3) UNRELEASED; urgency=normal
+tools-analyzer-clojure (1.1.1-1) unstable; urgency=medium
+
+  * Team upload.
 
   [ Louis-Philippe Véronneau ]
   * d/control: New email for the Clojure Team.
 
- -- Louis-Philippe Véronneau <pollo at debian.org>  Sat, 08 Jan 2022 18:31:48 -0500
+  [ Jérôme Charaoui ]
+  * New upstream version 1.1.1
+  * d/control: remove redundant binary Depends
+  * d/control: bump Standards-Version, no changes needed
+  * d/patches: refresh patches for new upstream version
+  * d/rules: replace jh_installlibs override
+  * d/rules: honor nocheck flag in build options
+  * d/tests: run upstream testsuite with bultitude
+  * d/watch: fix tag pattern
+  * remove obsolete README.source
+  * run wrap-and-sort -bastk
+
+ -- Jérôme Charaoui <jerome at riseup.net>  Wed, 01 Feb 2023 21:41:55 -0500
 
 tools-analyzer-clojure (1.0.0-2) unstable; urgency=medium
 


=====================================
debian/control
=====================================
@@ -2,16 +2,18 @@ Source: tools-analyzer-clojure
 Section: java
 Priority: optional
 Maintainer: Debian Clojure Maintainers <team+clojure at tracker.debian.org>
-Uploaders: Apollon Oikonomopoulos <apoikos at debian.org>
-Build-Depends: debhelper-compat (= 13),
-               default-jdk,
-               javahelper,
-               maven-repo-helper,
-               libclojure-java,
-               libnrepl-clojure <!nocheck>,
-               libcomplete-clojure <!nocheck>,
-               leiningen,
-Standards-Version: 4.5.1
+Uploaders:
+ Apollon Oikonomopoulos <apoikos at debian.org>,
+Build-Depends:
+ debhelper-compat (= 13),
+ default-jdk,
+ javahelper,
+ leiningen,
+ libclojure-java,
+ libcomplete-clojure <!nocheck>,
+ libnrepl-clojure <!nocheck>,
+ maven-repo-helper,
+Standards-Version: 4.6.2
 Vcs-Git: https://salsa.debian.org/clojure-team/tools-analyzer-clojure.git
 Vcs-Browser: https://salsa.debian.org/clojure-team/tools-analyzer-clojure
 Homepage: https://github.com/clojure/tools.analyzer
@@ -19,10 +21,11 @@ Rules-Requires-Root: no
 
 Package: libtools-analyzer-clojure
 Architecture: all
-Depends: ${java:Depends},
-         ${misc:Depends},
-         libclojure-java,
-Recommends: ${java:Recommends}
+Depends:
+ ${java:Depends},
+ ${misc:Depends},
+Recommends:
+ ${java:Recommends},
 Description: analyzer for host agnostic Clojure code
  An analyzer for host agnostic Clojure code, written in Clojure and producing
  AST in EDN.


=====================================
debian/libtools-analyzer-clojure.docs
=====================================
@@ -1,2 +1,2 @@
-README.md
 CONTRIBUTING.md
+README.md


=====================================
debian/libtools-analyzer-clojure.poms
=====================================
@@ -1 +1 @@
-debian/pom.xml --artifact=target/tools.analyzer.jar --usj-name=tools.analyzer
+debian/pom.xml --java-lib --artifact=target/tools.analyzer.jar --usj-name=tools.analyzer


=====================================
debian/patches/0001_Lein_Local.patch
=====================================
@@ -1,20 +1,30 @@
+From: Debian Clojure Maintainers <team+clojure at tracker.debian.org>
+Date: Wed, 1 Feb 2023 19:02:41 -0500
+Subject: Lein Local
+
 Patch project.clj to build locally using lein.
-Index: tools-analyzer-clojure/project.clj
-===================================================================
---- tools-analyzer-clojure.orig/project.clj
-+++ tools-analyzer-clojure/project.clj
+
+Forwarded: not-needed
+---
+ project.clj | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/project.clj b/project.clj
+index d974047..6c03e26 100644
+--- a/project.clj
++++ b/project.clj
 @@ -1,11 +1,11 @@
--(defproject org.clojure/tools.analyzer "0.7.1-SNAPSHOT"
-+(defproject org.clojure/tools.analyzer "1.0.0"
+-(defproject org.clojure/tools.analyzer "1.0.1-SNAPSHOT"
++(defproject org.clojure/tools.analyzer "1.1.1"
    :description "An analyzer for Clojure code, written in Clojure and producing AST in EDN."
    :url "https://github.com/clojure/tools.analyzer"
    :license {:name "Eclipse Public License"
              :url "http://www.eclipse.org/legal/epl-v10.html"}
    :source-paths ["src/main/clojure"]
    :test-paths ["src/test/clojure"]
--  :dependencies [[org.clojure/clojure "1.9.0"]
+-  :dependencies [[org.clojure/clojure "1.10.1"]
 -                 [com.datomic/datomic-free "0.9.5327" :scope "provided" :exclusions [joda-time]]]
-+  :dependencies [[org.clojure/clojure "1.10.x"]]
++  :dependencies [[org.clojure/clojure "1.x"]]
    :repositories [["sonatype" "https://oss.sonatype.org/content/repositories/releases"]
 -                 ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots"]])
 +                 ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots"]]


=====================================
debian/rules
=====================================
@@ -20,10 +20,9 @@ override_dh_auto_build:
 	cd target && ln -sf $(NAME)-$(DEB_VERSION_UPSTREAM).jar $(NAME).jar
 
 override_dh_auto_test:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	lein test
-
-override_jh_installlibs:
-	jh_installlibs target/$(NAME).jar
+endif
 
 override_dh_clean:
 	rm -f debian/maven-repo


=====================================
debian/tests/control
=====================================
@@ -1,3 +1,11 @@
 Tests: build
-Depends: @, clojure
+Depends:
+ clojure,
+ @,
 Restrictions: superficial, allow-stderr
+
+Tests: upstream
+Depends:
+ clojure,
+ libbultitude-clojure,
+ @,


=====================================
debian/tests/upstream
=====================================
@@ -0,0 +1,15 @@
+#!/bin/sh
+set -efu
+
+CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/bultitude.jar:/usr/share/java/tools.analyzer.jar:test
+
+cp -a src/test/clojure "$AUTOPKGTEST_TMP/test"
+cd "$AUTOPKGTEST_TMP"
+
+clojure \
+    -cp $CLASSPATH \
+    -e "(require '[clojure.test])" \
+    -e "(require '[bultitude.core :as b])" \
+    -e '(def all-tests (b/namespaces-on-classpath :classpath "test"))' \
+    -e "(map #(require %) all-tests)" \
+    -e '(System/exit (if (clojure.test/successful? (clojure.test/run-all-tests #"clojure.tools.analyzer\.\S+-test")) 0 1))'


=====================================
debian/watch
=====================================
@@ -1,4 +1,4 @@
 version=4
 opts="mode=git" \
 https://github.com/clojure/tools.analyzer.git \
-refs/tags/tools.analyzer-([\d\.]+)
+refs/tags/(?:tools.analyzer-|v)?@ANY_VERSION@


=====================================
pom.xml
=====================================
@@ -2,7 +2,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tools.analyzer</artifactId>
-  <version>1.0.0</version>
+  <version>1.1.1</version>
   <name>tools.analyzer</name>
   <description>An analyzer for Clojure code, written in Clojure and producing AST in EDN</description>
 
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.clojure</groupId>
     <artifactId>pom.contrib</artifactId>
-    <version>0.2.2</version>
+    <version>1.1.0</version>
   </parent>
 
   <developers>
@@ -27,6 +27,6 @@
     <connection>scm:git:git://github.com/clojure/tools.analyzer.git</connection>
     <developerConnection>scm:git:git://github.com/clojure/tools.analyzer.git</developerConnection>
     <url>http://github.com/clojure/tools.analyzer</url>
-    <tag>tools.analyzer-1.0.0</tag>
+    <tag>v1.1.1</tag>
   </scm>
 </project>


=====================================
project.clj
=====================================
@@ -1,11 +1,11 @@
-(defproject org.clojure/tools.analyzer "0.7.1-SNAPSHOT"
+(defproject org.clojure/tools.analyzer "1.0.1-SNAPSHOT"
   :description "An analyzer for Clojure code, written in Clojure and producing AST in EDN."
   :url "https://github.com/clojure/tools.analyzer"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :source-paths ["src/main/clojure"]
   :test-paths ["src/test/clojure"]
-  :dependencies [[org.clojure/clojure "1.9.0"]
+  :dependencies [[org.clojure/clojure "1.10.1"]
                  [com.datomic/datomic-free "0.9.5327" :scope "provided" :exclusions [joda-time]]]
   :repositories [["sonatype" "https://oss.sonatype.org/content/repositories/releases"]
                  ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots"]])


=====================================
src/main/clojure/clojure/tools/analyzer.clj
=====================================
@@ -21,7 +21,7 @@
    Setting up the global env is also required, see clojure.tools.analyzer.env
 
    See clojure.tools.analyzer.core-test for an example on how to setup the analyzer."
-  (:refer-clojure :exclude [macroexpand-1 macroexpand var? record? boolean?])
+  (:refer-clojure :exclude [macroexpand-1 macroexpand var? record? boolean? update-keys update-vals])
   (:require [clojure.tools.analyzer.utils :refer :all]
             [clojure.tools.analyzer.env :as env])
   (:import (clojure.lang Symbol IPersistentVector IPersistentMap IPersistentSet ISeq IType IRecord)))
@@ -102,7 +102,7 @@
    * :form the form represented by the AST node
    * :env  the environment map of the AST node
 
-   Additionaly if the AST node contains sub-nodes, it is guaranteed to have:
+   Additionally if the AST node contains sub-nodes, it is guaranteed to have:
    * :children a vector of the keys of the AST node mapping to the sub-nodes,
                ordered, when that makes sense
 


=====================================
src/main/clojure/clojure/tools/analyzer/ast.clj
=====================================
@@ -12,7 +12,7 @@
   (:require [clojure.tools.analyzer.utils :refer [into! rseqv mapv']]))
 
 (defn cycling
-  "Combine the given passes in a single pass that will be applieed repeatedly
+  "Combine the given passes in a single pass that will be applied repeatedly
    to the AST until applying it another time will have no effect"
   [& fns*]
   (let [fns (cycle fns*)]
@@ -26,7 +26,7 @@
 (defn children*
   "Return a vector of vectors of the children node key and the children expression
    of the AST node, if it has any.
-   The returned vector returns the childrens in the order as they appear in the
+   The returned vector returns the children in the order as they appear in the
    :children field of the AST, and the children expressions may be either a node
    or a vector of nodes."
   [{:keys [children] :as ast}]


=====================================
src/main/clojure/clojure/tools/analyzer/ast/query.clj
=====================================
@@ -29,7 +29,7 @@
   "Given a Datomic query, walk the :where clauses searching for
    expression clauses with nested calls, unnesting those calls.
 
-   E.g {:where [[(inc (dec ?foo)) ?bar] ..] ..} will be transformed in
+   E.g {:where [[(inc (dec ?foo)) ?bar] ..] ..} will be transformed into
    {:where [[(dec ?foo) ?1234] [(inc ?1234) ?bar] ..] ..}"
   [query]
   (let [{:keys [where] :as query} (query-map query)]


=====================================
src/main/clojure/clojure/tools/analyzer/env.clj
=====================================
@@ -10,9 +10,9 @@
   (:refer-clojure :exclude [ensure]))
 
 (def ^:dynamic *env*
-  "Global env atom
+  "Global env atom containing a map.
    Required options:
-    * :namespaces an atom containing a map from namespace symbol to namespace map,
+    * :namespaces a map from namespace symbol to namespace map,
       the namespace map contains at least the following keys:
      ** :mappings a map of mappings of the namespace, symbol to var/class
      ** :aliases a map of the aliases of the namespace, symbol to symbol


=====================================
src/main/clojure/clojure/tools/analyzer/passes.clj
=====================================
@@ -1,5 +1,6 @@
 (ns clojure.tools.analyzer.passes
   "Utilities for pass scheduling"
+  (:refer-clojure :exclude [update-vals])
   (:require [clojure.tools.analyzer.ast :refer [prewalk postwalk]]
             [clojure.tools.analyzer.utils :refer [update-vals]]))
 
@@ -65,7 +66,7 @@
    * the remaining scheduler state
 
    E.g. given:
-   [{:walk :any .. } {:walk :pre ..} {:walk :post ..} {:walk :pre ..}]
+   [{:walk :any ..} {:walk :pre ..} {:walk :post ..} {:walk :pre ..}]
    it will return:
    [:pre [{:walk :any ..} {:walk :pre ..}] [{:walk :post ..} {:walk :pre ..}]]"
   [state]


=====================================
src/main/clojure/clojure/tools/analyzer/passes/elide_meta.clj
=====================================
@@ -73,7 +73,10 @@
         (if (= new-meta (:form meta))
           ast
           (assoc ast :meta (replace-meta meta new-meta)))
-        (assoc (dissoc ast :meta) :children [:init]))
+        (let [ast (dissoc ast :meta)]
+          (if-let [new-children (not-empty (filterv (complement #{:meta}) (:children ast)))]
+            (assoc ast :children new-children)
+            (dissoc ast :children))))
       ast)))
 
 (defn elide-meta


=====================================
src/main/clojure/clojure/tools/analyzer/passes/uniquify.clj
=====================================
@@ -7,6 +7,7 @@
 ;;   You must not remove this notice, or any other, from this software.
 
 (ns clojure.tools.analyzer.passes.uniquify
+  (:refer-clojure :exclude [update-vals])
   (:require [clojure.tools.analyzer.ast :refer [update-children children]]
             [clojure.tools.analyzer.utils :refer [update-vals]]
             [clojure.tools.analyzer.env :as env]))


=====================================
src/main/clojure/clojure/tools/analyzer/passes/warn_earmuff.clj
=====================================
@@ -17,8 +17,8 @@
   (let [name (str (:name ast))]
     (when (and (= :def (:op ast))
                (> (count name) 2)  ;; Allow * and ** as non-dynamic names
-               (.startsWith name "*")
-               (.endsWith name "*")
+               (= (nth name 0) \*)
+               (= (nth name (dec (count name))) \*)
                (not (dynamic? (:var ast) (:val (:meta ast)))))
       (binding [*out* *err*]
         (println "Warning:" name "not declared dynamic and thus is not dynamically rebindable,"


=====================================
src/main/clojure/clojure/tools/analyzer/utils.clj
=====================================
@@ -7,7 +7,7 @@
 ;;   You must not remove this notice, or any other, from this software.
 
 (ns clojure.tools.analyzer.utils
-  (:refer-clojure :exclude [record? boolean?])
+  (:refer-clojure :exclude [record? boolean? update-keys update-vals])
   (:require [clojure.tools.analyzer.env :as env])
   (:import (clojure.lang IRecord IType IObj
                          IReference Var)))


=====================================
src/test/clojure/clojure/tools/analyzer/core_test.clj
=====================================
@@ -15,7 +15,7 @@
        (= (first opname) \.) ; (.foo bar ..)
        (let [[target & args] expr
              args (list* (symbol (subs opname 1)) args)]
-         (with-meta (list '. target (if (= 1 (count args)) ;; we don't know if (.foo bar) ia
+         (with-meta (list '. target (if (= 1 (count args)) ;; we don't know if (.foo bar) is
                                       (first args) args)) ;; a method call or a field access
            (meta form)))
 
@@ -36,7 +36,7 @@
                    (:macro (meta v)))
             (apply v form env (rest form)) ; (m &form &env & args)
             (desugar-host-expr form)))))
-        form))
+    form))
 
 (defmacro foo [] 1)
 
@@ -183,4 +183,20 @@
   (let [i-ast (ast (1 2))]
     (is (= :invoke (-> i-ast :op)))
     (is (= 1 (-> i-ast :fn :form)))
-    (is (= [2] (->> i-ast :args (mapv :form))))))
+    (is (= [2] (->> i-ast :args (mapv :form)))))
+
+  (let [def-ast (ast (def a))]
+    (is (= :def (-> def-ast :op)))
+    (is (empty? (-> def-ast :children)))
+    (is (nil? (:init def-ast))))
+
+  (let [def-ast (ast (def a nil))]
+    (is (= :def (-> def-ast :op)))
+    (is (= [:init] (:children def-ast)))
+    (is (= :const (-> def-ast :init :op))))
+
+  (let [def-ast (ast (def a "doc" nil))]
+    (is (= :def (-> def-ast :op)))
+    (is (= [:meta :init] (:children def-ast)))
+    (is (= "doc" (-> def-ast :doc)))
+    (is (= :const (-> def-ast :init :op)))))


=====================================
src/test/clojure/clojure/tools/analyzer/query_test.clj
=====================================
@@ -8,20 +8,37 @@
             [clojure.tools.analyzer.utils :refer [compile-if]]
             [clojure.tools.analyzer.passes.index-vector-nodes :refer [index-vector-nodes]]))
 
+(def clojure-version-seven-query
+  '[:find ?docstring
+    :where
+    [?def :op :def]
+    [?def :init ?fn]
+    [?fn :methods ?method]
+    [?method :body ?body]
+    [?body :statements ?statement]
+    [?statement :val ?docstring]
+    [?statement :type :string]
+    [?statement :idx 0]])
+
+(def clojure-version-eight-and-above-query
+  '[:find ?docstring
+    :where
+    [?def :op :def]
+    [?def :init ?fn]
+    [?fn :expr ?expr]
+    [?expr :methods ?method]
+    [?method :body ?body]
+    [?body :statements ?statement]
+    [?statement :val ?docstring]
+    [?statement :type :string]
+    [?statement :idx 0]])
+
 (compile-if (Class/forName "datomic.Datom")
  (deftest query
-   (let [ast (ast/prewalk (ast (defn x [] "misplaced docstring" 1))
-                          index-vector-nodes)]
+   (let [ast       (ast/prewalk (ast (defn x [] "misplaced docstring" 1))
+                                index-vector-nodes)
+         the-query (if (< (:minor *clojure-version*) 8)
+                     clojure-version-seven-query
+                     clojure-version-eight-and-above-query)]
      (is (= "misplaced docstring"
-            (ffirst
-             (q '[:find ?docstring
-                  :where
-                  [?def :op :def]
-                  [?def :init ?fn]
-                  [?fn :methods ?method]
-                  [?method :body ?body]
-                  [?body :statements ?statement]
-                  [?statement :val ?docstring]
-                  [?statement :type :string]
-                  [?statement :idx 0]]
-                [ast])))))))
+            (ffirst (q the-query [ast])))))))



View it on GitLab: https://salsa.debian.org/clojure-team/tools-analyzer-clojure/-/compare/50254f402a1308fa8345cf620f1eeb4e5e59b96b...9bc71f2545d5477cdfa7d8e651e38ff11cc4373b

-- 
View it on GitLab: https://salsa.debian.org/clojure-team/tools-analyzer-clojure/-/compare/50254f402a1308fa8345cf620f1eeb4e5e59b96b...9bc71f2545d5477cdfa7d8e651e38ff11cc4373b
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20230202/414b7e33/attachment.htm>


More information about the pkg-java-commits mailing list