From 454f2597cbb8a6be5855f6a97cbf2519d261e213 Mon Sep 17 00:00:00 2001
From: Jon Finerty <jonathanfinerty@gmail.com>
Date: Sun, 23 Apr 2023 18:52:49 +0100
Subject: [PATCH] feat(managers/asdf): Add poetry support in asdf manager
 (#21765)

---
 lib/modules/manager/asdf/extract.spec.ts        | 7 +++++++
 lib/modules/manager/asdf/index.ts               | 8 +++++---
 lib/modules/manager/asdf/upgradeable-tooling.ts | 8 ++++++++
 3 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/lib/modules/manager/asdf/extract.spec.ts b/lib/modules/manager/asdf/extract.spec.ts
index fa2b01f241..bc77ae464b 100644
--- a/lib/modules/manager/asdf/extract.spec.ts
+++ b/lib/modules/manager/asdf/extract.spec.ts
@@ -77,6 +77,7 @@ ocaml 4.14.0
 perl 5.37.5
 php 8.1.12
 pnpm 7.26.2
+poetry 1.3.2
 pulumi 3.57.1
 python 3.11.0
 ruby 3.1.2
@@ -317,6 +318,12 @@ dummy 1.2.3
             depName: 'pnpm',
             versioning: 'semver',
           },
+          {
+            currentValue: '1.3.2',
+            datasource: 'pypi',
+            packageName: 'poetry',
+            depName: 'poetry',
+          },
           {
             currentValue: '3.57.1',
             datasource: 'github-releases',
diff --git a/lib/modules/manager/asdf/index.ts b/lib/modules/manager/asdf/index.ts
index 081133ee26..679ae29b93 100644
--- a/lib/modules/manager/asdf/index.ts
+++ b/lib/modules/manager/asdf/index.ts
@@ -7,6 +7,7 @@ import { HexpmBobDatasource } from '../../datasource/hexpm-bob';
 import { JavaVersionDatasource } from '../../datasource/java-version';
 import { NodeVersionDatasource } from '../../datasource/node-version';
 import { NpmDatasource } from '../../datasource/npm';
+import { PypiDatasource } from '../../datasource/pypi';
 import { RubyVersionDatasource } from '../../datasource/ruby-version';
 
 export { extractPackageFile } from './extract';
@@ -18,14 +19,15 @@ export const defaultConfig = {
 };
 
 export const supportedDatasources = [
-  JavaVersionDatasource.id,
+  DartVersionDatasource.id,
   DockerDatasource.id,
+  FlutterVersionDatasource.id,
   GithubReleasesDatasource.id,
   GithubTagsDatasource.id,
   HexpmBobDatasource.id,
+  JavaVersionDatasource.id,
   NodeVersionDatasource.id,
   NpmDatasource.id,
+  PypiDatasource.id,
   RubyVersionDatasource.id,
-  DartVersionDatasource.id,
-  FlutterVersionDatasource.id,
 ];
diff --git a/lib/modules/manager/asdf/upgradeable-tooling.ts b/lib/modules/manager/asdf/upgradeable-tooling.ts
index c3557c23ab..d076f0913e 100644
--- a/lib/modules/manager/asdf/upgradeable-tooling.ts
+++ b/lib/modules/manager/asdf/upgradeable-tooling.ts
@@ -7,6 +7,7 @@ import { HexpmBobDatasource } from '../../datasource/hexpm-bob';
 import { JavaVersionDatasource } from '../../datasource/java-version';
 import { NodeVersionDatasource } from '../../datasource/node-version';
 import { NpmDatasource } from '../../datasource/npm';
+import { PypiDatasource } from '../../datasource/pypi';
 import { RubyVersionDatasource } from '../../datasource/ruby-version';
 import * as regexVersioning from '../../versioning/regex';
 import * as semverVersioning from '../../versioning/semver';
@@ -300,6 +301,13 @@ export const upgradeableTooling: Record<string, ToolingDefinition> = {
       versioning: semverVersioning.id,
     },
   },
+  poetry: {
+    asdfPluginUrl: 'https://github.com/asdf-community/asdf-poetry',
+    config: {
+      datasource: PypiDatasource.id,
+      packageName: 'poetry',
+    },
+  },
   pulumi: {
     asdfPluginUrl: 'https://github.com/canha/asdf-pulumi.git',
     config: {
-- 
GitLab