def compute_build_matrix(meta, existing_matrix=None, channel_sources=tuple()):
    channel_sources = tuple(channel_sources)

    # Override what `defaults` means depending on the platform used.
    try:
        i = channel_sources.index("defaults")

        defaults = DEFAULT_CHANNELS_UNIX
        if meta_config(meta).subdir.startswith("win"):
            defaults = DEFAULT_CHANNELS_WIN

        channel_sources = (
            channel_sources[:i] +
            defaults +
            channel_sources[i+1:]
        )
    except ValueError:
        pass

    index = conda.api.get_index(channel_urls=channel_sources,
                                platform=meta_config(meta).subdir)
    mtx = special_case_version_matrix(meta, index)
    mtx = list(filter_cases(mtx, ['python >=2.7,<3|>=3.5', 'numpy >=1.11', 'r-base >=3.3.2']))
    if existing_matrix:
        mtx = [tuple(mtx_case) + tuple(MatrixCaseEnvVar(*item) for item in case)
               for case in sorted(existing_matrix)
               for mtx_case in mtx]
    return mtx
示例#2
0
def compute_build_matrix(meta, existing_matrix=None, channel_sources=tuple()):
    channel_sources = tuple(channel_sources)

    # Override what `defaults` means depending on the platform used.
    try:
        i = channel_sources.index("defaults")

        defaults = DEFAULT_CHANNELS_UNIX
        if meta_config(meta).subdir.startswith("win"):
            defaults = DEFAULT_CHANNELS_WIN

        channel_sources = (channel_sources[:i] + defaults +
                           channel_sources[i + 1:])
    except ValueError:
        pass

    index = conda.api.get_index(channel_urls=channel_sources,
                                platform=meta_config(meta).subdir)
    mtx = special_case_version_matrix(meta, index)
    mtx = list(
        filter_cases(mtx, [
            'python >=2.7,<3|>=3.5', 'numpy >=1.11', 'r-base ==3.3.2|==3.4.1'
        ]))
    if existing_matrix:
        mtx = [
            tuple(mtx_case) + tuple(MatrixCaseEnvVar(*item) for item in case)
            for case in sorted(existing_matrix) for mtx_case in mtx
        ]
    return mtx
示例#3
0
 def test_multiple_filter_with_numpy(self):
     cases = ([self.item['py26'],
               self.item['np110']], [self.item['py34'], self.item['np19']],
              [self.item['py35'], self.item['np110']])
     self.assertEqual(
         tuple(filter_cases(cases, ['python >=3', 'numpy 1.10.*'])),
         cases[2:])
示例#4
0
def compute_build_matrix(meta, existing_matrix=None):
    index = conda.api.get_index()
    mtx = special_case_version_matrix(meta, index)
    mtx = list(filter_cases(mtx, ['python >=2.7,<3|>=3.4', 'numpy >=1.10']))
    if existing_matrix:
        mtx = [tuple(mtx_case) + tuple(MatrixCaseEnvVar(*item) for item in case)
               for case in sorted(existing_matrix)
               for mtx_case in mtx]
    return mtx
def compute_build_matrix(meta, existing_matrix=None):
    index = conda.api.get_index()
    mtx = special_case_version_matrix(meta, index)
    mtx = list(filter_cases(mtx, ['python >=2.7,<3|>=3.4', 'numpy >=1.10']))
    if existing_matrix:
        mtx = [tuple(mtx_case) + tuple(MatrixCaseEnvVar(*item) for item in case)
               for case in sorted(existing_matrix)
               for mtx_case in mtx]
    return mtx
示例#6
0
    def resolve_all(cls, meta, index=None, extra_conditions=None):
        """
        Given a package, return a list of ResolvedDistributions, one for each
        possible (necessary) version permutation.

        """
        if index is None:
            with vn_matrix.override_conda_logging('WARN'):
                index = get_index()

        cases = sorted(vn_matrix.special_case_version_matrix(meta, index))

        if extra_conditions:
            cases = list(vn_matrix.filter_cases(cases, extra_conditions))
        result = []
        for case in cases:
            dist = cls(meta, case)
            if not dist.skip():
                result.append(dist)
        return result
    def resolve_all(cls, meta, index=None, extra_conditions=None):
        """
        Given a package, return a list of ResolvedDistributions, one for each
        possible (necessary) version permutation.

        """
        if index is None:
            with vn_matrix.override_conda_logging('WARN'):
                index = get_index()

        cases = sorted(vn_matrix.special_case_version_matrix(meta, index))

        if extra_conditions:
            cases = list(vn_matrix.filter_cases(cases, extra_conditions))
        result = []
        for case in cases:
            dist = cls(meta, case)
            if not dist.skip():
                result.append(dist)
        return result
 def test_no_filter(self):
     cases = ([self.item['py26']],
              [self.item['py35']])
     self.assertEqual(tuple(filter_cases(cases, [])), cases)
 def test_nothing(self):
     self.assertEqual(list(filter_cases([], [])), [])
def compute_build_matrix(meta):
    index = conda.api.get_index()
    mtx = special_case_version_matrix(meta, index)
    mtx = list(filter_cases(mtx, ['python >=2.7,<3|>=3.4', 'numpy >=1.10']))
    return mtx
示例#11
0
def compute_build_matrix(meta):
    index = conda.api.get_index()
    mtx = special_case_version_matrix(meta, index)
    mtx = list(filter_cases(mtx, ['python >=2.7,<3|>=3.4', 'numpy >=1.9']))
    return mtx
 def test_multiple_filter(self):
     cases = ([self.item['py26'], self.item['np110']],
              [self.item['py34'], self.item['np19']],
              [self.item['py35'], self.item['np110']])
     self.assertEqual(tuple(filter_cases(cases, ['python >=3', 'numpy 1.10.*'])), cases[2:])
示例#13
0
 def test_single_filter(self):
     cases = ([self.item['py26']],
              [self.item['py35']])
     self.assertEqual(tuple(filter_cases(cases, ['python >=3'])), cases[1:])
示例#14
0
 def test_no_filter(self):
     cases = ([self.item['py26']],
              [self.item['py35']])
     self.assertEqual(tuple(filter_cases(cases, [])), cases)
示例#15
0
 def test_nothing(self):
     self.assertEqual(list(filter_cases([], [])), [])
 def test_single_filter(self):
     cases = ([self.item['py26']],
              [self.item['py35']])
     self.assertEqual(tuple(filter_cases(cases, ['python >=3'])), cases[1:])
 def test_multiple_filter(self):
     cases = ([self.item['py26']],
              [self.item['py34']],
              [self.item['py35']])
     self.assertEqual(tuple(filter_cases(cases, ['python >=3', 'python <=3.4'])), cases[1:2])
示例#18
0
 def test_multiple_filter(self):
     cases = ([self.item['py26']],
              [self.item['py34']],
              [self.item['py35']])
     self.assertEqual(tuple(filter_cases(cases, ['python >=3', 'python <=3.4'])), cases[1:2])
 def test_other_cases(self):
     cases = ([self.item['py26'], self.item['o12']],
              [self.item['py34'], self.item['o12']],
              [self.item['py35'], self.item['o13']])
     self.assertEqual(tuple(filter_cases(cases, ['other 1.2.*'])), cases[:2])
示例#20
0
 def test_other_cases(self):
     cases = ([self.item['py26'], self.item['o12']],
              [self.item['py34'], self.item['o12']],
              [self.item['py35'], self.item['o13']])
     self.assertEqual(tuple(filter_cases(cases, ['other 1.2.*'])), cases[:2])