[med-svn] [Git][med-team/q2cli][master] 8 commits: Revert "Do not fail in case of build time errors as we do for other qiime2 packages as well"

Nilesh Patra (@nilesh) gitlab at salsa.debian.org
Mon Sep 5 15:24:01 BST 2022



Nilesh Patra pushed to branch master at Debian Med / q2cli


Commits:
01f47d3b by Nilesh Patra at 2022-09-05T19:15:12+05:30
Revert "Do not fail in case of build time errors as we do for other qiime2 packages as well"

This reverts commit a6611302a0cf1a50269275eb0b4498cb65d0f892.

- - - - -
84a48c97 by Nilesh Patra at 2022-09-05T19:15:12+05:30
New upstream version 2022.8.0
- - - - -
82b47809 by Nilesh Patra at 2022-09-05T19:19:26+05:30
Drop d/p/fix-click8.patch

- - - - -
c0e6c8d1 by Nilesh Patra at 2022-09-05T19:21:31+05:30
Versioned B-D on qiime

- - - - -
bf2b8e84 by Nilesh Patra at 2022-09-05T14:07:40+00:00
Ignore test_usage.py during build time tests as the package cannot be checked for usability w/o installing. Usage is being properly validated in autopkgtests

- - - - -
2c94a058 by Nilesh Patra at 2022-09-05T14:07:40+00:00
Drop B-D on python3-nose

- - - - -
5ea0e29b by Nilesh Patra at 2022-09-05T19:48:10+05:30
Update config file as per new q2cli

- - - - -
f7facc8e by Nilesh Patra at 2022-09-05T19:48:10+05:30
Upload to unstable

- - - - -


21 changed files:

- − .github/CONTRIBUTING.md
- − .github/ISSUE_TEMPLATE/1-user-need-help.md
- − .github/ISSUE_TEMPLATE/2-dev-need-help.md
- − .github/ISSUE_TEMPLATE/3-found-bug.md
- − .github/ISSUE_TEMPLATE/4-make-better.md
- − .github/ISSUE_TEMPLATE/5-make-new.md
- − .github/ISSUE_TEMPLATE/6-where-to-go.md
- − .github/SUPPORT.md
- − .github/pull_request_template.md
- − .github/rubric.png
- − .github/workflows/ci.yml
- ci/recipe/meta.yaml
- debian/changelog
- debian/control
- − debian/patches/fix-click8.patch
- debian/patches/series
- debian/rules
- debian/tests/run-unit-test
- q2cli/_version.py
- q2cli/click/option.py
- q2cli/click/parser.py


Changes:

=====================================
.github/CONTRIBUTING.md deleted
=====================================
@@ -1,23 +0,0 @@
-# Contributing to this project
-
-Thanks for thinking of us :heart: :tada: - we would love a helping hand!
-
-## I just have a question
-
-> Note: Please don't file an issue to ask a question. You'll get faster results
-> by using the resources below.
-
-### QIIME 2 Users
-
-Check out the [User Docs](https://docs.qiime2.org) - there are many tutorials,
-walkthroughs, and guides available. If you still need help, please visit us at
-the [QIIME 2 Forum](https://forum.qiime2.org/c/user-support).
-
-### QIIME 2 Developers
-
-Check out the [Developer Docs](https://dev.qiime2.org) - there are many
-tutorials, walkthroughs, and guides available. If you still need help, please
-visit us at the [QIIME 2 Forum](https://forum.qiime2.org/c/dev-discussion).
-
-This document is based heavily on the following:
-https://github.com/atom/atom/blob/master/CONTRIBUTING.md


=====================================
.github/ISSUE_TEMPLATE/1-user-need-help.md deleted
=====================================
@@ -1,14 +0,0 @@
----
-name: I am a user and I need help with QIIME 2...
-about: I am using QIIME 2 and have a question or am experiencing a problem
-
----
-
-Have you had a chance to check out the docs?
-https://docs.qiime2.org
-There are many tutorials, walkthroughs, and guides available.
-
-If you still need help, please visit:
-https://forum.qiime2.org/c/user-support
-
-Help requests filed here will not be answered.


=====================================
.github/ISSUE_TEMPLATE/2-dev-need-help.md deleted
=====================================
@@ -1,12 +0,0 @@
----
-name: I am a developer and I need help with QIIME 2...
-about: I am developing a QIIME 2 plugin or interface and have a question or a problem
-
----
-
-Have you had a chance to check out the developer docs?
-https://dev.qiime2.org
-There are many tutorials, walkthroughs, and guides available.
-
-If you still need help, please visit:
-https://forum.qiime2.org/c/dev-discussion


=====================================
.github/ISSUE_TEMPLATE/3-found-bug.md deleted
=====================================
@@ -1,36 +0,0 @@
----
-name: I am a developer and I found a bug...
-about: I am a developer and I found a bug that I can describe
-
----
-
-**Bug Description**
-A clear and concise description of what the bug is.
-
-**Steps to reproduce the behavior**
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Computation Environment**
-- OS: [e.g. macOS High Sierra]
-- QIIME 2 Release [e.g. 2018.6]
-
-**Questions**
-1. An enumerated list with any questions about the problem here.
-2. If not applicable, please delete this section.
-
-**Comments**
-1. An enumerated list with any other context or comments about the problem here.
-2. If not applicable, please delete this section.
-
-**References**
-1. An enumerated list of links to relevant references, including forum posts, stack overflow, etc.
-2. If not applicable, please delete this section.


=====================================
.github/ISSUE_TEMPLATE/4-make-better.md deleted
=====================================
@@ -1,26 +0,0 @@
----
-name: I am a developer and I have an idea for an improvement...
-about: I am a developer and I have an idea for an improvement to existing functionality
-
----
-
-**Improvement Description**
-A clear and concise description of what the improvement is.
-
-**Current Behavior**
-Please provide a brief description of the current behavior.
-
-**Proposed Behavior**
-Please provide a brief description of the proposed behavior.
-
-**Questions**
-1. An enumerated list of questions related to the proposal.
-2. If not applicable, please delete this section.
-
-**Comments**
-1. An enumerated list of comments related to the proposal that don't fit anywhere else.
-2. If not applicable, please delete this section.
-
-**References**
-1. An enumerated list of links to relevant references, including forum posts, stack overflow, etc.
-2. If not applicable, please delete this section.


=====================================
.github/ISSUE_TEMPLATE/5-make-new.md deleted
=====================================
@@ -1,26 +0,0 @@
----
-name: I am a developer and I have an idea for a new feature...
-about: I am a developer and I have an idea for new functionality
-
----
-
-**Addition Description**
-A clear and concise description of what the addition is.
-
-**Current Behavior**
-Please provide a brief description of the current behavior, if applicable.
-
-**Proposed Behavior**
-Please provide a brief description of the proposed behavior.
-
-**Questions**
-1. An enumerated list of questions related to the proposal.
-2. If not applicable, please delete this section.
-
-**Comments**
-1. An enumerated list of comments related to the proposal that don't fit anywhere else.
-2. If not applicable, please delete this section.
-
-**References**
-1. An enumerated list of links to relevant references, including forum posts, stack overflow, etc.
-2. If not applicable, please delete this section.


=====================================
.github/ISSUE_TEMPLATE/6-where-to-go.md deleted
=====================================
@@ -1,147 +0,0 @@
----
-name: I don't know where to file my issue...
-about: I am a developer and I don't know which repo to file this in
-
----
-
-The repos within the QIIME 2 GitHub Organization are listed below, with a brief description about the repo.
-
-Sorted alphabetically by repo name.
-
-- The CI automation engine that builds and distributes QIIME 2
-  https://github.com/qiime2/busywork/issues
-
-- A Concourse resource for working with conda
-  https://github.com/qiime2/conda-channel-resource/issues
-
-- Web app for vanity URLs for QIIME 2 data assets
-  https://github.com/qiime2/data.qiime2.org/issues
-
-- The Developer Documentation
-  https://github.com/qiime2/dev-docs/issues
-
-- A discourse plugin for handling queued/unqueued topics
-  https://github.com/qiime2/discourse-unhandled-tagger/issues
-
-- The User Documentation
-  https://github.com/qiime2/docs/issues
-
-- Rendered QIIME 2 environment files for conda
-  https://github.com/qiime2/environment-files/issues
-
-- Google Sheets Add-On for validating tabular data
-  https://github.com/qiime2/Keemei/issues
-
-- A docker image for linux-based busywork workers
-  https://github.com/qiime2/linux-worker-docker/issues
-
-- Official project logos
-  https://github.com/qiime2/logos/issues
-
-- The q2-alignment plugin
-  https://github.com/qiime2/q2-alignment/issues
-
-- The q2-composition plugin
-  https://github.com/qiime2/q2-composition/issues
-
-- The q2-cutadapt plugin
-  https://github.com/qiime2/q2-cutadapt/issues
-
-- The q2-dada2 plugin
-  https://github.com/qiime2/q2-dada2/issues
-
-- The q2-deblur plugin
-  https://github.com/qiime2/q2-deblur/issues
-
-- The q2-demux plugin
-  https://github.com/qiime2/q2-demux/issues
-
-- The q2-diversity plugin
-  https://github.com/qiime2/q2-diversity/issues
-
-- The q2-diversity-lib plugin
-  https://github.com/qiime2/q2-diversity-lib/issues
-
-- The q2-emperor plugin
-  https://github.com/qiime2/q2-emperor/issues
-
-- The q2-feature-classifier plugin
-  https://github.com/qiime2/q2-feature-classifier/issues
-
-- The q2-feature-table plugin
-  https://github.com/qiime2/q2-feature-table/issues
-
-- The q2-fragment-insertion plugin
-  https://github.com/qiime2/q2-fragment-insertion/issues
-
-- The q2-gneiss plugin
-  https://github.com/qiime2/q2-gneiss/issues
-
-- The q2-longitudinal plugin
-  https://github.com/qiime2/q2-longitudinal/issues
-
-- The q2-metadata plugin
-  https://github.com/qiime2/q2-metadata/issues
-
-- The q2-phylogeny plugin
-  https://github.com/qiime2/q2-phylogeny/issues
-
-- The q2-quality-control plugin
-  https://github.com/qiime2/q2-quality-control/issues
-
-- The q2-quality-filter plugin
-  https://github.com/qiime2/q2-quality-filter/issues
-
-- The q2-sample-classifier plugin
-  https://github.com/qiime2/q2-sample-classifier/issues
-
-- The q2-shogun plugin
-  https://github.com/qiime2/q2-shogun/issues
-
-- The q2-taxa plugin
-  https://github.com/qiime2/q2-taxa/issues
-
-- The q2-types plugin
-  https://github.com/qiime2/q2-types/issues
-
-- The q2-vsearch plugin
-  https://github.com/qiime2/q2-vsearch/issues
-
-- The CLI interface
-  https://github.com/qiime2/q2cli/issues
-
-- The prototype CWL interface
-  https://github.com/qiime2/q2cwl/issues
-
-- The prototype Galaxy interface
-  https://github.com/qiime2/q2galaxy/issues
-
-- An internal tool for ensuring header text and copyrights are present
-  https://github.com/qiime2/q2lint/issues
-
-- The prototype GUI interface
-  https://github.com/qiime2/q2studio/issues
-
-- A base template for use in official QIIME 2 plugins
-  https://github.com/qiime2/q2templates/issues
-
-- The read-only web interface at view.qiime2.org
-  https://github.com/qiime2/q2view/issues
-
-- The QIIME 2 homepage at qiime2.org
-  https://github.com/qiime2/qiime2.github.io/issues
-
-- The QIIME 2 framework
-  https://github.com/qiime2/qiime2/issues
-
-- Centralized templates for repo assets
-  https://github.com/qiime2/template-repo/issues
-
-- Scripts for building QIIME 2 VMs
-  https://github.com/qiime2/vm-playbooks/issues
-
-- Scripts for building QIIME 2 workshop clusters
-  https://github.com/qiime2/workshop-playbooks/issues
-
-- The web app that runs workshops.qiime2.org
-  https://github.com/qiime2/workshops.qiime2.org/issues


=====================================
.github/SUPPORT.md deleted
=====================================
@@ -1,112 +0,0 @@
-# QIIME 2 Users
-
-Check out the [User Docs](https://docs.qiime2.org) - there are many tutorials,
-walkthroughs, and guides available. If you still need help, please visit us at
-the [QIIME 2 Forum](https://forum.qiime2.org/c/user-support).
-
-# QIIME 2 Developers
-
-Check out the [Developer Docs](https://dev.qiime2.org) - there are many
-tutorials, walkthroughs, and guides available. If you still need help, please
-visit us at the [QIIME 2 Forum](https://forum.qiime2.org/c/dev-discussion).
-
-# General Bug/Issue Triage Discussion
-
-![rubric](./rubric.png?raw=true)
-
-# Projects/Repositories in the QIIME 2 GitHub Organization
-
-Sorted alphabetically by repo name.
-
-- [busywork](https://github.com/qiime2/busywork/issues)
-  | The CI automation engine that builds and distributes QIIME 2
-- [conda-channel-resource](https://github.com/qiime2/conda-channel-resource/issues)
-  | A Concourse resource for working with conda
-- [data.qiime2.org](https://github.com/qiime2/data.qiime2.org/issues)
-  | Web app for vanity URLs for QIIME 2 data assets
-- [dev-docs](https://github.com/qiime2/dev-docs/issues)
-  | The Developer Documentation
-- [discourse-unhandled-tagger](https://github.com/qiime2/discourse-unhandled-tagger/issues)
-  | A discourse plugin for handling queued/unqueued topics
-- [docs](https://github.com/qiime2/docs/issues)
-  | The User Documentation
-- [environment-files](https://github.com/qiime2/environment-files/issues)
-  | Rendered QIIME 2 environment files for conda
-- [Keemei](https://github.com/qiime2/Keemei/issues)
-  | Google Sheets Add-On for validating tabular data
-- [linux-worker-docker](https://github.com/qiime2/linux-worker-docker/issues)
-  | A docker image for linux-based busywork workers
-- [logos](https://github.com/qiime2/logos/issues)
-  | Official project logos
-- [q2-alignment](https://github.com/qiime2/q2-alignment/issues)
-  | The q2-alignment plugin
-- [q2-composition](https://github.com/qiime2/q2-composition/issues)
-  | The q2-composition plugin
-- [q2-cutadapt](https://github.com/qiime2/q2-cutadapt/issues)
-  | The q2-cutadapt plugin
-- [q2-dada2](https://github.com/qiime2/q2-dada2/issues)
-  | The q2-dada2 plugin
-- [q2-deblur](https://github.com/qiime2/q2-deblur/issues)
-  | The q2-deblur plugin
-- [q2-demux](https://github.com/qiime2/q2-demux/issues)
-  | The q2-demux plugin
-- [q2-diversity](https://github.com/qiime2/q2-diversity/issues)
-  | The q2-diversity plugin
-- [q2-diversity-lib](https://github.com/qiime2/q2-diversity-lib/issues)
-  | The q2-diversity-lib plugin
-- [q2-emperor](https://github.com/qiime2/q2-emperor/issues)
-  | The q2-emperor plugin
-- [q2-feature-classifier](https://github.com/qiime2/q2-feature-classifier/issues)
-  | The q2-feature-classifier plugin
-- [q2-feature-table](https://github.com/qiime2/q2-feature-table/issues)
-  | The q2-feature-table plugin
-- [q2-fragment-insertion](https://github.com/qiime2/q2-fragment-insertion/issues)
-  | The q2-fragment-insertion plugin
-- [q2-gneiss](https://github.com/qiime2/q2-gneiss/issues)
-  | The q2-gneiss plugin
-- [q2-longitudinal](https://github.com/qiime2/q2-longitudinal/issues)
-  | The q2-longitudinal plugin
-- [q2-metadata](https://github.com/qiime2/q2-metadata/issues)
-  | The q2-metadata plugin
-- [q2-phylogeny](https://github.com/qiime2/q2-phylogeny/issues)
-  | The q2-phylogeny plugin
-- [q2-quality-control](https://github.com/qiime2/q2-quality-control/issues)
-  | The q2-quality-control plugin
-- [q2-quality-filter](https://github.com/qiime2/q2-quality-filter/issues)
-  | The q2-quality-filter plugin
-- [q2-sample-classifier](https://github.com/qiime2/q2-sample-classifier/issues)
-  | The q2-sample-classifier plugin
-- [q2-shogun](https://github.com/qiime2/q2-shogun/issues)
-  | The q2-shogun plugin
-- [q2-taxa](https://github.com/qiime2/q2-taxa/issues)
-  | The q2-taxa plugin
-- [q2-types](https://github.com/qiime2/q2-types/issues)
-  | The q2-types plugin
-- [q2-vsearch](https://github.com/qiime2/q2-vsearch/issues)
-  | The q2-vsearch plugin
-- [q2cli](https://github.com/qiime2/q2cli/issues)
-  | The CLI interface
-- [q2cwl](https://github.com/qiime2/q2cwl/issues)
-  | The prototype CWL interface
-- [q2galaxy](https://github.com/qiime2/q2galaxy/issues)
-  | The prototype Galaxy interface
-- [q2lint](https://github.com/qiime2/q2lint/issues)
-  | An internal tool for ensuring header text and copyrights are present
-- [q2studio](https://github.com/qiime2/q2studio/issues)
-  | The prototype GUI interface
-- [q2templates](https://github.com/qiime2/q2templates/issues)
-  | A base template for use in official QIIME 2 plugins
-- [q2view](https://github.com/qiime2/q2view/issues)
-  | The read-only web interface at view.qiime2.org
-- [qiime2.github.io](https://github.com/qiime2/qiime2.github.io/issues)
-  | The QIIME 2 homepage at qiime2.org
-- [qiime2](https://github.com/qiime2/qiime2/issues)
-  | The QIIME 2 framework
-- [template-repo](https://github.com/qiime2/template-repo/issues)
-  | Centralized templates for repo assets
-- [vm-playbooks](https://github.com/qiime2/vm-playbooks/issues)
-  | Scripts for building QIIME 2 VMs
-- [workshop-playbooks](https://github.com/qiime2/workshop-playbooks/issues)
-  | Scripts for building QIIME 2 workshop clusters
-- [workshops.qiime2.org](https://github.com/qiime2/workshops.qiime2.org/issues)
-  | The web app that runs workshops.qiime2.org


=====================================
.github/pull_request_template.md deleted
=====================================
@@ -1,11 +0,0 @@
-Brief summary of the Pull Request, including any issues it may fix using the GitHub closing syntax:
-
-https://help.github.com/articles/closing-issues-using-keywords/
-
-Also, include any co-authors or contributors using the GitHub coauthor tag:
-
-https://help.github.com/articles/creating-a-commit-with-multiple-authors/
-
----
-
-Include any questions for reviewers, screenshots, sample outputs, etc.


=====================================
.github/rubric.png deleted
=====================================
Binary files a/.github/rubric.png and /dev/null differ


=====================================
.github/workflows/ci.yml deleted
=====================================
@@ -1,55 +0,0 @@
-# This file is automatically generated by busywork.qiime2.org and
-# template-repos - any manual edits made to this file will be erased when
-# busywork performs maintenance updates.
-
-name: ci
-
-on:
-  pull_request:
-  push:
-    branches:
-      - master
-
-jobs:
-  lint:
-    runs-on: ubuntu-latest
-    steps:
-    - name: checkout source
-      uses: actions/checkout at v2
-
-    - name: set up python 3.8
-      uses: actions/setup-python at v1
-      with:
-        python-version: 3.8
-
-    - name: install dependencies
-      run: python -m pip install --upgrade pip
-
-    - name: lint
-      run: |
-        pip install -q https://github.com/qiime2/q2lint/archive/master.zip
-        q2lint
-        pip install -q flake8
-        flake8
-
-  build-and-test:
-    needs: lint
-    strategy:
-      matrix:
-        os: [ubuntu-latest, macos-latest]
-    runs-on: ${{ matrix.os }}
-    steps:
-    - name: checkout source
-      uses: actions/checkout at v2
-      with:
-        fetch-depth: 0
-
-    - name: set up git repo for versioneer
-      run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
-
-    - uses: qiime2/action-library-packaging at alpha1
-      with:
-        package-name: q2cli
-        build-target: dev
-        additional-tests: QIIMETEST= py.test --pyargs q2cli
-        library-token: ${{ secrets.LIBRARY_TOKEN }}


=====================================
ci/recipe/meta.yaml
=====================================
@@ -21,7 +21,7 @@ requirements:
   run:
     - python  {{ python }}
     - pip
-    - click >=7,<8
+    - click >=8.1
     - qiime2 {{ qiime2_epoch }}.*
 
 test:


=====================================
debian/changelog
=====================================
@@ -1,12 +1,16 @@
-q2cli (2022.2.0-1) UNRELEASED; urgency=medium
+q2cli (2022.8.0-1) unstable; urgency=medium
 
   * Team upload.
-  * New upstream version
-  * Bump versioned Build-Depends: qiime (>= 2022.2.0)
-  * Do not fail in case of build time errors as we do for other qiime2
-    packages as well
-
- -- Andreas Tille <tille at debian.org>  Mon, 18 Jul 2022 13:07:21 +0200
+  * New upstream version 2022.8.0
+  * Drop d/p/fix-click8.patch: merged upstream
+  * Bump versioned Build-Depends: qiime (>= 2022.8.0)
+  * Ignore test_usage.py during build time tests as the package
+    cannot be checked for usability w/o installing. (Closes: #1015136)
+    Usage is being properly validated in autopkgtests
+  * Drop B-D on python3-nose (Closes: #1018606)
+  * d/t/run-unit-test: Update config file as per new q2cli (fixes autopkgtest)
+
+ -- Nilesh Patra <nilesh at debian.org>  Mon, 05 Sep 2022 13:56:16 +0000
 
 q2cli (2021.8.0-2) unstable; urgency=medium
 


=====================================
debian/control
=====================================
@@ -9,9 +9,8 @@ Build-Depends: debhelper-compat (= 13),
                python3,
                python3-pytest <!nocheck>,
                python3-setuptools,
-               qiime (>= 2022.2.0),
-               python3-click,
-               python3-nose
+               qiime (>= 2022.8.0),
+               python3-click
 Standards-Version: 4.6.1
 Vcs-Browser: https://salsa.debian.org/med-team/q2cli
 Vcs-Git: https://salsa.debian.org/med-team/q2cli.git


=====================================
debian/patches/fix-click8.patch deleted
=====================================
@@ -1,96 +0,0 @@
---- a/q2cli/click/option.py
-+++ b/q2cli/click/option.py
-@@ -91,10 +91,10 @@ class GeneratedOption(click.Option):
- 
-     def _consume_metadata(self, ctx, opts):
-         # double consume
--        md_file = super().consume_value(ctx, opts)
-+        md_file, source = super().consume_value(ctx, opts)
-         # consume uses self.name, so mutate but backup for after
-         backup, self.name = self.name, self.q2_extra_dest
--        md_col = super().consume_value(ctx, opts)
-+        md_col, _ = super().consume_value(ctx, opts)
-         self.name = backup
- 
-         if (md_col is None) != (md_file is None):
-@@ -106,9 +106,9 @@ class GeneratedOption(click.Option):
-                                              ctx=ctx, param=self)
- 
-         if md_col is None and md_file is None:
--            return None
-+            return (None, source)
-         else:
--            return (md_file, md_col)
-+            return ((md_file, md_col), source)
- 
-     def get_help_record(self, ctx):
-         record = super().get_help_record(ctx)
-@@ -125,7 +125,7 @@ class GeneratedOption(click.Option):
-     def add_to_parser(self, parser, ctx):
-         shared = dict(dest=self.name, nargs=0, obj=self)
-         if self.q2_metadata == 'column':
--            parser.add_option(self.opts, action='store', dest=self.name,
-+            parser.add_option(opts=self.opts, action='store', dest=self.name,
-                               nargs=1, obj=self)
-             parser.add_option(self.q2_extra_opts, action='store',
-                               dest=self.q2_extra_dest, nargs=1, obj=self)
-@@ -134,13 +134,13 @@ class GeneratedOption(click.Option):
-                 action = 'append_maybe'
-             else:
-                 action = 'store_maybe'
--            parser.add_option(self.opts, action=action, const=True,
-+            parser.add_option(opts=self.opts, action=action, const=True,
-                               **shared)
-             parser.add_option(self.secondary_opts, action=action,
-                               const=False, **shared)
-         elif self.multiple:
-             action = 'append_greedy'
--            parser.add_option(self.opts, action='append_greedy', **shared)
-+            parser.add_option(opts=self.opts, action='append_greedy', **shared)
-         else:
-             super().add_to_parser(parser, ctx)
- 
-@@ -149,9 +149,9 @@ class GeneratedOption(click.Option):
-             raise click.MissingParameter(ctx=ctx, param=self)
-         return super().get_default(ctx)
- 
--    def full_process_value(self, ctx, value):
-+    def process_value(self, ctx, value):
-         try:
--            return super().full_process_value(ctx, value)
-+            return super().process_value(ctx, value)
-         except click.MissingParameter:
-             if not (self.q2_prefix == 'o'
-                     and ctx.params.get('output_dir', False)):
---- a/q2cli/click/parser.py
-+++ b/q2cli/click/parser.py
-@@ -95,8 +95,7 @@ class Q2Parser(parser.OptionParser):
-     # < https://github.com/pallets/click/blob/
-     #   ic6042bf2607c5be22b1efef2e42a94ffd281434c/click/parser.py#L228 >
-     # Copyright (c) 2014 by the Pallets team.
--    def add_option(self, opts, dest, action=None, nargs=1, const=None,
--                   obj=None):
-+    def add_option(self, obj, opts, dest, action=None, nargs=1, const=None):
-         """Adds a new option named `dest` to the parser.  The destination
-         is not inferred (unlike with optparse) and needs to be explicitly
-         provided.  Action can be any of ``store``, ``store_const``,
-@@ -104,8 +103,6 @@ class Q2Parser(parser.OptionParser):
-         The `obj` can be used to identify the option in the order list
-         that is returned from the parser.
-         """
--        if obj is None:
--            obj = dest
-         opts = [parser.normalize_opt(opt, self.ctx) for opt in opts]
- 
-         # BEGIN MODIFICATIONS
-@@ -122,8 +119,8 @@ class Q2Parser(parser.OptionParser):
-         elif action == 'append_greedy':
-             nargs = 0
- 
--        option = Q2Option(opts, dest, action=action, nargs=nargs,
--                          const=const, obj=obj)
-+        option = Q2Option(obj=obj, opts=opts, dest=dest, action=action, nargs=nargs,
-+                          const=const)
-         # END MODIFICATIONS
-         self._opt_prefixes.update(option.prefixes)
-         for opt in option._short_opts:


=====================================
debian/patches/series
=====================================
@@ -1,4 +1,3 @@
 call_py3.patch
 inform_zsh_users_howto_set_autocompletion.patch
 bash-completion-with-hashbang.patch
-fix-click8.patch


=====================================
debian/rules
=====================================
@@ -5,6 +5,7 @@ export LC_ALL=C.UTF-8
 export QIIMETEST=1
 
 include /usr/share/dpkg/default.mk
+export PYBUILD_TEST_ARGS=--ignore=q2cli/tests/test_usage.py
 
 %:
 	dh $@ --with python3 --buildsystem=pybuild
@@ -14,12 +15,3 @@ override_dh_install:
 	mkdir -p debian/$(DEB_SOURCE)/usr/share/bash-completion/completions
 	mv debian/$(DEB_SOURCE)/usr/bin/tab-qiime debian/$(DEB_SOURCE)/usr/share/bash-completion/completions/qiime
 	chmod -x debian/$(DEB_SOURCE)/usr/share/bash-completion/completions/qiime
-
-# FIXME: similarly to the qiime package, the build time testing fails, as the
-#        Qiime plugin system is not fully available at this point of the package
-#        construction.  The test suite is only run at autopkgtest time, but this
-#        is not ideal, since the only tested python version is the default one.
-override_dh_auto_test:
-ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	dh_auto_test -- -s custom --test-args="cd {build_dir}; py.test-3 --cov=q2cli" || true
-endif


=====================================
debian/tests/run-unit-test
=====================================
@@ -87,7 +87,7 @@ set -v
 	qiime dev export-default-theme --output-path file.theme
 	diff file.theme - <<-END
 	[option]
-	fg = blue
+	fg = bright_blue
 
 	[type]
 	fg = green
@@ -96,7 +96,7 @@ set -v
 	fg = magenta
 
 	[command]
-	fg = blue
+	fg = bright_blue
 
 	[emphasis]
 	underline = True


=====================================
q2cli/_version.py
=====================================
@@ -23,9 +23,9 @@ def get_keywords():
     # setup.py/versioneer.py will grep for the variable names, so they must
     # each be defined on a line of their own. _version.py will just call
     # get_keywords().
-    git_refnames = " (tag: 2022.2.0)"
-    git_full = "4c4b5ca74b59534771778e0f0c6f63410a9967af"
-    git_date = "2022-02-18 19:48:00 +0000"
+    git_refnames = " (tag: 2022.8.0)"
+    git_full = "469e5eb69d7fe6b213f628d299fff1545cdec9f7"
+    git_date = "2022-08-22 21:21:57 +0000"
     keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
     return keywords
 


=====================================
q2cli/click/option.py
=====================================
@@ -54,7 +54,18 @@ class GeneratedOption(click.Option):
         else:
             attrs['type'] = None
 
+        # This nonsense:
+        # https://github.com/pallets/click/blob
+        # /08f71b08e2b7ee9b1ea27daf6d3040999fc68551
+        # /src/click/core.py#L2576-L2584
+        if is_bool_flag and multiple is not None:
+            to_add_multiple = attrs.pop('multiple')
+
         super().__init__(**attrs)
+
+        if is_bool_flag and multiple is not None:
+            self.multiple = to_add_multiple
+
         # put things back the way they _should_ be after evading __DEBUG__
         self.is_bool_flag = is_bool_flag
         self.type = click_type
@@ -91,10 +102,11 @@ class GeneratedOption(click.Option):
 
     def _consume_metadata(self, ctx, opts):
         # double consume
-        md_file = super().consume_value(ctx, opts)
+        md_file, source = super().consume_value(ctx, opts)
         # consume uses self.name, so mutate but backup for after
         backup, self.name = self.name, self.q2_extra_dest
-        md_col = super().consume_value(ctx, opts)
+        md_col, _ = super().consume_value(ctx, opts)
+
         self.name = backup
 
         if (md_col is None) != (md_file is None):
@@ -106,9 +118,9 @@ class GeneratedOption(click.Option):
                                              ctx=ctx, param=self)
 
         if md_col is None and md_file is None:
-            return None
+            return (None, source)
         else:
-            return (md_file, md_col)
+            return ((md_file, md_col), source)
 
     def get_help_record(self, ctx):
         record = super().get_help_record(ctx)
@@ -125,33 +137,34 @@ class GeneratedOption(click.Option):
     def add_to_parser(self, parser, ctx):
         shared = dict(dest=self.name, nargs=0, obj=self)
         if self.q2_metadata == 'column':
-            parser.add_option(self.opts, action='store', dest=self.name,
+            parser.add_option(opts=self.opts, action='store', dest=self.name,
                               nargs=1, obj=self)
-            parser.add_option(self.q2_extra_opts, action='store',
+            parser.add_option(opts=self.q2_extra_opts, action='store',
                               dest=self.q2_extra_dest, nargs=1, obj=self)
         elif self.is_bool_flag:
             if self.multiple:
                 action = 'append_maybe'
             else:
                 action = 'store_maybe'
-            parser.add_option(self.opts, action=action, const=True,
+            parser.add_option(opts=self.opts, action=action, const=True,
                               **shared)
-            parser.add_option(self.secondary_opts, action=action,
+            parser.add_option(opts=self.secondary_opts, action=action,
                               const=False, **shared)
         elif self.multiple:
             action = 'append_greedy'
-            parser.add_option(self.opts, action='append_greedy', **shared)
+            parser.add_option(opts=self.opts, action='append_greedy', **shared)
         else:
             super().add_to_parser(parser, ctx)
 
-    def get_default(self, ctx):
-        if self.required:
+    def get_default(self, ctx, call=True):
+        if self.required and not ctx.resilient_parsing and not (
+                self.q2_prefix == 'o' and ctx.params.get('output_dir', False)):
             raise click.MissingParameter(ctx=ctx, param=self)
-        return super().get_default(ctx)
+        return super().get_default(ctx, call=call)
 
-    def full_process_value(self, ctx, value):
+    def process_value(self, ctx, value):
         try:
-            return super().full_process_value(ctx, value)
+            return super().process_value(ctx, value)
         except click.MissingParameter:
             if not (self.q2_prefix == 'o'
                     and ctx.params.get('output_dir', False)):


=====================================
q2cli/click/parser.py
=====================================
@@ -95,8 +95,7 @@ class Q2Parser(parser.OptionParser):
     # < https://github.com/pallets/click/blob/
     #   ic6042bf2607c5be22b1efef2e42a94ffd281434c/click/parser.py#L228 >
     # Copyright (c) 2014 by the Pallets team.
-    def add_option(self, opts, dest, action=None, nargs=1, const=None,
-                   obj=None):
+    def add_option(self, obj, opts, dest, action=None, nargs=1, const=None):
         """Adds a new option named `dest` to the parser.  The destination
         is not inferred (unlike with optparse) and needs to be explicitly
         provided.  Action can be any of ``store``, ``store_const``,
@@ -104,8 +103,6 @@ class Q2Parser(parser.OptionParser):
         The `obj` can be used to identify the option in the order list
         that is returned from the parser.
         """
-        if obj is None:
-            obj = dest
         opts = [parser.normalize_opt(opt, self.ctx) for opt in opts]
 
         # BEGIN MODIFICATIONS
@@ -122,8 +119,8 @@ class Q2Parser(parser.OptionParser):
         elif action == 'append_greedy':
             nargs = 0
 
-        option = Q2Option(opts, dest, action=action, nargs=nargs,
-                          const=const, obj=obj)
+        option = Q2Option(obj=obj, opts=opts, dest=dest, action=action,
+                          nargs=nargs, const=const)
         # END MODIFICATIONS
         self._opt_prefixes.update(option.prefixes)
         for opt in option._short_opts:



View it on GitLab: https://salsa.debian.org/med-team/q2cli/-/compare/a6611302a0cf1a50269275eb0b4498cb65d0f892...f7facc8e6c0d9d19f48c1c03fd1a7c52cb080b27

-- 
View it on GitLab: https://salsa.debian.org/med-team/q2cli/-/compare/a6611302a0cf1a50269275eb0b4498cb65d0f892...f7facc8e6c0d9d19f48c1c03fd1a7c52cb080b27
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/debian-med-commit/attachments/20220905/87ad351e/attachment-0001.htm>


More information about the debian-med-commit mailing list