|
13 | 13 | __CGET_DIR__ = os.path.dirname(os.path.realpath(__file__)) |
14 | 14 | __CGET_CMAKE_DIR__ = os.path.join(__CGET_DIR__, 'cmake') |
15 | 15 |
|
| 16 | +def find_requirements_file(directory, name='requirements'): |
| 17 | + cget_file = os.path.join(directory, name + '.cget') |
| 18 | + if os.path.exists(cget_file): |
| 19 | + return cget_file |
| 20 | + txt_file = os.path.join(directory, name + '.txt') |
| 21 | + if os.path.exists(txt_file): |
| 22 | + display.warning("Using '{}' is deprecated. Rename to '{}'.".format(name + '.txt', name + '.cget')) |
| 23 | + return txt_file |
| 24 | + return None |
| 25 | + |
16 | 26 | @params(s=six.string_types) |
17 | 27 | def parse_deprecated_alias(s): |
18 | 28 | i = s.find(':', 0, max(s.find('://'), s.find(':\\'))) |
@@ -258,8 +268,8 @@ def from_recipe(self, recipe, pkg=None, name=None): |
258 | 268 | util.ensure_exists(recipe_pkg) |
259 | 269 | p = next(iter(self.from_file(recipe_pkg, no_recipe=True))) |
260 | 270 | self.check(lambda:p.pkg_src is not None) |
261 | | - requirements = os.path.join(recipe, "requirements.txt") |
262 | | - if os.path.exists(requirements): p.requirements = requirements |
| 271 | + requirements = find_requirements_file(recipe) |
| 272 | + if requirements is not None: p.requirements = requirements |
263 | 273 | p.pkg_src.recipe = None |
264 | 274 | # Use original name |
265 | 275 | if pkg: p.pkg_src.name = pkg.pkg_src.name |
@@ -290,7 +300,7 @@ def write_parent(self, pb, track=True): |
290 | 300 | if track and pb.parent is not None: util.mkfile(self.get_deps_directory(pb.to_fname()), pb.parent, pb.parent) |
291 | 301 |
|
292 | 302 | def install_deps(self, pb, d, test=False, test_all=False, generator=None, insecure=False, ignore_requirements=False): |
293 | | - req_txt = os.path.join(d, 'requirements.txt') if not ignore_requirements else None |
| 303 | + req_txt = find_requirements_file(d) if not ignore_requirements else None |
294 | 304 | for dependent in self.from_file(pb.requirements or req_txt, pb.pkg_src.url): |
295 | 305 | transient = dependent.test or dependent.build |
296 | 306 | testing = test or test_all |
@@ -355,10 +365,13 @@ def ignore(self, pb): |
355 | 365 | def build(self, pb, test=False, target=None, generator=None): |
356 | 366 | pb = self.parse_pkg_build(pb) |
357 | 367 | src_dir = pb.pkg_src.get_src_dir() |
358 | | - if os.path.exists(os.path.join(src_dir, 'dev-requirements.txt')): |
359 | | - pb.requirements = os.path.join(src_dir, 'dev-requirements.txt') |
360 | | - elif os.path.exists(os.path.join(src_dir, 'requirements.txt')): |
361 | | - pb.requirements = os.path.join(src_dir, 'requirements.txt') |
| 368 | + dev_req = find_requirements_file(src_dir, 'dev-requirements') |
| 369 | + if dev_req is not None: |
| 370 | + pb.requirements = dev_req |
| 371 | + else: |
| 372 | + req = find_requirements_file(src_dir) |
| 373 | + if req is not None: |
| 374 | + pb.requirements = req |
362 | 375 | with self.create_builder(pb.to_fname()) as builder: |
363 | 376 | # Install any dependencies first |
364 | 377 | self.install_deps(pb, src_dir, generator=generator, test=test) |
|
0 commit comments