Skip to content
Snippets Groups Projects
Select Git revision
  • 6e7fd7de22f3d2b5cd6d212591442b6c16f8b2a6
  • master default
  • rtde
  • tmp-gpg-key-workaround-2
  • tmp-gpg-key-workaround
  • 68-git-lfs-error-in-ddeploy-job
  • split-build-and-test
  • 66-jazzy-support
  • 62-deploy-jobs-do-not-pull-files-from-lfs-manual-lfs-pull
  • 62-deploy-jobs-do-not-pull-files-from-lfs-custom-docker-image
  • py3-without-industrial-ci-test
  • 58-add-yolo-pip-package-support
  • 55-collision-between-test-jobs-due-to-dds-autodiscovery-ros2
  • 52-ddeploy-job-failing-when-enforcing-labels-alt-quick-dind-test
  • 48-python3_syntax
  • 46-default-docker-image-name-too-long
  • 45-double-pipeline-triggered-if-merge-request-has-melodic-branch-name
  • 40-repo-is-ros-testing
  • test-badges
  • test-lfs-concept
  • add-packages
21 results

roslaunch_test_generator.sh

Blame
  • index.ts 1.56 KiB
    import { HttpResponse } from '../../util/http';
    import { Datasource } from '../datasource';
    import type { GetReleasesConfig, ReleaseResult } from '../types';
    import type { DartResult } from './types';
    
    export class DartDatasource extends Datasource {
      static readonly id = 'dart';
    
      constructor() {
        super(DartDatasource.id);
      }
    
      override readonly customRegistrySupport = false;
    
      override readonly defaultRegistryUrls = ['https://pub.dartlang.org/'];
    
      async getReleases({
        lookupName,
        registryUrl,
      }: GetReleasesConfig): Promise<ReleaseResult | null> {
        // istanbul ignore if
        if (!registryUrl) {
          return null;
        }
        let result: ReleaseResult | null = null;
        const pkgUrl = `${registryUrl}api/packages/${lookupName}`;
    
        let raw: HttpResponse<DartResult> | null = null;
        try {
          raw = await this.http.getJson<DartResult>(pkgUrl);
        } catch (err) {
          this.handleGenericErrors(err);
        }
    
        const body = raw?.body;
        if (body) {
          const { versions, latest } = body;
          const releases = versions
            ?.filter(({ retracted }) => !retracted)
            ?.map(({ version, published }) => ({
              version,
              releaseTimestamp: published,
            }));
          if (releases && latest) {
            result = { releases };
    
            const pubspec = latest.pubspec;
            if (pubspec) {
              if (pubspec.homepage) {
                result.homepage = pubspec.homepage;
              }
    
              if (pubspec.repository) {
                result.sourceUrl = pubspec.repository;
              }
            }
          }
        }
        return result;
      }
    }