From 54e2393108c598afd7186529f8248aaaf41a2cda Mon Sep 17 00:00:00 2001 From: DadiBit <38182988+DadiBit@users.noreply.github.com> Date: Sun, 21 Aug 2022 18:04:36 +0200 Subject: [PATCH 1/6] Custom domains for JitPack artifacts --- .../jitpack-version-redirector.service.js | 16 +++++++++++++--- .../jitpack-version-redirector.tester.js | 8 ++++++-- services/jitpack/jitpack-version.service.js | 17 ++++++++--------- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/services/jitpack/jitpack-version-redirector.service.js b/services/jitpack/jitpack-version-redirector.service.js index bda5c01485ae0..2a98357e7f38c 100644 --- a/services/jitpack/jitpack-version-redirector.service.js +++ b/services/jitpack/jitpack-version-redirector.service.js @@ -5,10 +5,20 @@ export default [ category: 'version', route: { base: 'jitpack/v', - pattern: ':groupId/:artifactId', + pattern: ':user/:repo', }, - transformPath: ({ groupId, artifactId }) => - `/jitpack/v/github/${groupId}/${artifactId}`, + transformPath: ({ user, repo }) => + `/jitpack/version/com.github.${user}/${repo}`, dateAdded: new Date('2019-03-31'), }), + redirector({ + category: 'version', + route: { + base: 'jitpack/v', + pattern: ':vcs(github|bitbucket|gitlab|gitee)/:user/:repo', + }, + transformPath: ({ vcs, user, repo }) => + `/jitpack/version/com.${vcs}.${user}/${repo}`, + dateAdded: new Date('2022-08-21'), + }), ] diff --git a/services/jitpack/jitpack-version-redirector.tester.js b/services/jitpack/jitpack-version-redirector.tester.js index deb2b820cfe4b..9965ef6fbd2ec 100644 --- a/services/jitpack/jitpack-version-redirector.tester.js +++ b/services/jitpack/jitpack-version-redirector.tester.js @@ -6,6 +6,10 @@ export const t = new ServiceTester({ pathPrefix: '/jitpack/v', }) -t.create('jitpack version redirect') +t.create('jitpack version redirect (no vcs)') .get('/jitpack/maven-simple.svg') - .expectRedirect('/jitpack/v/github/jitpack/maven-simple.svg') + .expectRedirect('/jitpack/version/com.github.jitpack/maven-simple.svg') + +t.create('jitpack version redirect (github)') + .get('/github/jitpack/maven-simple.svg') + .expectRedirect('/jitpack/version/com.github.jitpack/maven-simple.svg') diff --git a/services/jitpack/jitpack-version.service.js b/services/jitpack/jitpack-version.service.js index 9bfc37a02f257..e446fc0704e97 100644 --- a/services/jitpack/jitpack-version.service.js +++ b/services/jitpack/jitpack-version.service.js @@ -11,17 +11,16 @@ export default class JitPackVersion extends BaseJsonService { static category = 'version' static route = { - base: 'jitpack/v', - pattern: ':vcs(github|bitbucket|gitlab|gitee)/:user/:repo', + base: 'jitpack/version', + pattern: ':groupId/:artifactId' } static examples = [ { title: 'JitPack', namedParams: { - vcs: 'github', - user: 'jitpack', - repo: 'maven-simple', + groupId: 'com.github.jitpack', + artifactId: 'maven-simple', }, staticPreview: renderVersionBadge({ version: 'v1.1' }), keywords: ['java', 'maven'], @@ -30,8 +29,8 @@ export default class JitPackVersion extends BaseJsonService { static defaultBadgeData = { label: 'jitpack' } - async fetch({ vcs, user, repo }) { - const url = `https://jitpack.io/api/builds/com.${vcs}.${user}/${repo}/latestOk` + async fetch({ groupId, artifactId }) { + const url = `https://jitpack.io/api/builds/${groupId}/${artifactId}/latestOk` return this._requestJson({ schema, @@ -40,8 +39,8 @@ export default class JitPackVersion extends BaseJsonService { }) } - async handle({ vcs, user, repo }) { - const { version } = await this.fetch({ vcs, user, repo }) + async handle({ groupId, artifactId }) { + const { version } = await this.fetch({ groupId, artifactId }) return renderVersionBadge({ version }) } } From bd1cd30908629bf02bdb00a51f556ae762842b80 Mon Sep 17 00:00:00 2001 From: DadiBit <38182988+DadiBit@users.noreply.github.com> Date: Sun, 21 Aug 2022 18:31:49 +0200 Subject: [PATCH 2/6] FIx jitpack-version test --- services/jitpack/jitpack-version.tester.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/jitpack/jitpack-version.tester.js b/services/jitpack/jitpack-version.tester.js index 5d7322f8e3dfc..3f30f9ce9bf44 100644 --- a/services/jitpack/jitpack-version.tester.js +++ b/services/jitpack/jitpack-version.tester.js @@ -6,9 +6,9 @@ export const t = await createServiceTester() const isAnyV = Joi.string().regex(/^v.+$/) t.create('version (groupId)') - .get('/github/erayerdin/kappdirs.json') + .get('/com.github.erayerdin/kappdirs.json') .expectBadge({ label: 'jitpack', message: isAnyV }) t.create('unknown package') - .get('/github/some-bogus-user/project.json') + .get('/com.github.some-bogus-user/project.json') .expectBadge({ label: 'jitpack', message: 'project not found or private' }) From f60b1457fb73f23f2dc7428012289f7e613d7126 Mon Sep 17 00:00:00 2001 From: DadiBit <38182988+DadiBit@users.noreply.github.com> Date: Sun, 21 Aug 2022 18:51:48 +0200 Subject: [PATCH 3/6] style: missing comma --- services/jitpack/jitpack-version.service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/jitpack/jitpack-version.service.js b/services/jitpack/jitpack-version.service.js index e446fc0704e97..7408ee1a3742d 100644 --- a/services/jitpack/jitpack-version.service.js +++ b/services/jitpack/jitpack-version.service.js @@ -12,7 +12,7 @@ export default class JitPackVersion extends BaseJsonService { static route = { base: 'jitpack/version', - pattern: ':groupId/:artifactId' + pattern: ':groupId/:artifactId', } static examples = [ From b65e4cf0112f623fd661b48ee966379090debf33 Mon Sep 17 00:00:00 2001 From: DadiBit <38182988+DadiBit@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:54:19 +0200 Subject: [PATCH 4/6] fix: name for both jitpack-version redirectors --- services/jitpack/jitpack-version-redirector.service.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/jitpack/jitpack-version-redirector.service.js b/services/jitpack/jitpack-version-redirector.service.js index 2a98357e7f38c..5f21a504ae5f4 100644 --- a/services/jitpack/jitpack-version-redirector.service.js +++ b/services/jitpack/jitpack-version-redirector.service.js @@ -3,16 +3,18 @@ import { redirector } from '../index.js' export default [ redirector({ category: 'version', + name: 'github as default vcs', route: { base: 'jitpack/v', pattern: ':user/:repo', }, transformPath: ({ user, repo }) => `/jitpack/version/com.github.${user}/${repo}`, - dateAdded: new Date('2019-03-31'), + dateAdded: new Date('2022-08-21'), }), redirector({ category: 'version', + name: 'vcs', route: { base: 'jitpack/v', pattern: ':vcs(github|bitbucket|gitlab|gitee)/:user/:repo', From 21f6e680b575368ef8aec56947df4190985a6df8 Mon Sep 17 00:00:00 2001 From: DadiBit <38182988+DadiBit@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:55:26 +0200 Subject: [PATCH 5/6] chore: comment explaining endpoint change --- services/jitpack/jitpack-version.service.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/jitpack/jitpack-version.service.js b/services/jitpack/jitpack-version.service.js index 7408ee1a3742d..8420ee58c0540 100644 --- a/services/jitpack/jitpack-version.service.js +++ b/services/jitpack/jitpack-version.service.js @@ -10,6 +10,8 @@ const schema = Joi.object({ export default class JitPackVersion extends BaseJsonService { static category = 'version' + // Changed endpoint to allow any groupId, custom domains included + // See: https://github.com/badges/shields/issues/8312 static route = { base: 'jitpack/version', pattern: ':groupId/:artifactId', From a711e8c016d44ce84e455b7dc45eaf2d0d1aef92 Mon Sep 17 00:00:00 2001 From: chris48s Date: Mon, 22 Aug 2022 18:26:16 +0100 Subject: [PATCH 6/6] use more conventional names for redirectors --- services/jitpack/jitpack-version-redirector.service.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/jitpack/jitpack-version-redirector.service.js b/services/jitpack/jitpack-version-redirector.service.js index 5f21a504ae5f4..de2e7dc068b4c 100644 --- a/services/jitpack/jitpack-version-redirector.service.js +++ b/services/jitpack/jitpack-version-redirector.service.js @@ -3,7 +3,7 @@ import { redirector } from '../index.js' export default [ redirector({ category: 'version', - name: 'github as default vcs', + name: 'JitpackVersionGitHubRedirect', route: { base: 'jitpack/v', pattern: ':user/:repo', @@ -14,7 +14,7 @@ export default [ }), redirector({ category: 'version', - name: 'vcs', + name: 'JitpackVersionVcsRedirect', route: { base: 'jitpack/v', pattern: ':vcs(github|bitbucket|gitlab|gitee)/:user/:repo',