Example #1
0
def test_get_deps():
    r = Recipes(
        """
        one:
          meta.yaml: |
            package:
              name: one
              version: 0.1
        two:
          meta.yaml: |
            package:
              name: two
              version: 0.1
            requirements:
              build:
                - one
        three:
          meta.yaml: |
            package:
              name: three
              version: 0.1
            requirements:
              build:
                - one
              run:
                - two
    """, from_string=True)
    r.write_recipes()
    assert list(utils.get_deps(r.recipe_dirs['two'])) == ['one']
    assert list(utils.get_deps(r.recipe_dirs['three'], build=True)) == ['one']
    assert list(utils.get_deps(r.recipe_dirs['three'], build=False)) == ['two']
Example #2
0
def test_get_deps():
    r = Recipes(
        """
        one:
          meta.yaml: |
            package:
              name: one
              version: 0.1
        two:
          meta.yaml: |
            package:
              name: two
              version: 0.1
            requirements:
              build:
                - one
        three:
          meta.yaml: |
            package:
              name: three
              version: 0.1
            requirements:
              build:
                - one
              run:
                - two
    """, from_string=True)
    r.write_recipes()
    assert list(utils.get_deps(r.recipe_dirs['two'])) == ['one']
    assert list(utils.get_deps(r.recipe_dirs['three'], build=True)) == ['one']
    assert list(utils.get_deps(r.recipe_dirs['three'], build=False)) == ['two']
    """
    Returns the Bioconductor name (rather than the sanitized lowercase bioconda
    name) that can be provided to bioconda-scraper.py
    """
    return MetaData(recipe).meta['source']['fn'].split('_')[0]


if __name__ == "__main__":
    import argparse
    ap = argparse.ArgumentParser()
    ap.add_argument('--repository', default='recipes', help='Recipes directory')
    args = ap.parse_args()

    recipes = list(utils.get_recipes(args.repository, 'bioconductor-*'))
    deps = itertools.chain(
        itertools.chain(*(utils.get_deps(i, build=True) for i in recipes)),
        itertools.chain(*(utils.get_deps(i, build=False) for i in recipes))
    )

    deps = list(filter(lambda x: x.startswith(('r-', 'bioconductor-')), deps))

    bioconda_deps = list(
        filter(
            lambda x: os.path.isdir(x),
            itertools.chain(*(utils.get_recipes(args.repository, i) for i in deps))
        )
    )

    dag, name2recipe = utils.get_dag(bioconda_deps)

    def version_sort(x):
    Returns the Bioconductor name (rather than the sanitized lowercase bioconda
    name) that can be provided to bioconda-scraper.py
    """
    return MetaData(recipe).meta['source']['fn'].split('_')[0]


if __name__ == "__main__":
    import argparse
    ap = argparse.ArgumentParser()
    ap.add_argument('--recipes', default='recipes', help='Recipes directory')
    ap.add_argument('--config', default='recipes', help='Config YAML')
    args = ap.parse_args()

    recipes = list(utils.get_recipes(args.recipes, 'bioconductor-*'))
    deps = itertools.chain(
        itertools.chain(*(utils.get_deps(i, build=True, config=args.config)
                          for i in recipes)),
        itertools.chain(*(utils.get_deps(i, build=False, config=args.config)
                          for i in recipes)))

    deps = list(filter(lambda x: x.startswith(('r-', 'bioconductor-')), deps))

    bioconda_deps = list(
        filter(
            lambda x: os.path.isdir(x),
            itertools.chain(*(utils.get_recipes(args.recipes, i)
                              for i in deps))))

    dag, name2recipe = utils.get_dag(bioconda_deps, config=args.config)

    def version_sort(x):
    name) that can be provided to bioconda-scraper.py
    """
    return MetaData(recipe).meta['source']['fn'].split('_')[0]


if __name__ == "__main__":
    import argparse
    ap = argparse.ArgumentParser()
    ap.add_argument('--repository',
                    default='recipes',
                    help='Recipes directory')
    args = ap.parse_args()

    recipes = list(utils.get_recipes(args.repository, 'bioconductor-*'))
    deps = itertools.chain(
        itertools.chain(*(utils.get_deps(i, build=True) for i in recipes)),
        itertools.chain(*(utils.get_deps(i, build=False) for i in recipes)))

    deps = list(filter(lambda x: x.startswith(('r-', 'bioconductor-')), deps))

    bioconda_deps = list(
        filter(
            lambda x: os.path.isdir(x),
            itertools.chain(*(utils.get_recipes(args.repository, i)
                              for i in deps))))

    dag, name2recipe = utils.get_dag(bioconda_deps)

    def version_sort(x):
        return version.VersionOrder(MetaData(x).meta['package']['version'])