Exemple #1
0
 def field_adaptors(self):
     with exception_logging(logger,
                            'Exception in `field_adaptors` property'):
         field_adaptors = super(JvmAppAdaptor, self).field_adaptors
         if getattr(self, 'bundles', None) is None:
             return field_adaptors
         # Construct a field for the `bundles` argument.
         filespecs_list = []
         path_globs_list = []
         excluded_path_globs_list = []
         for bundle in self.bundles:
             # Short circuit in the case of `bundles=[..., bundle(), ...]`.
             if not hasattr(bundle, 'fileset'):
                 # N.B. This notice is duplicated in jvm_app.py::Bundle.__call__() for the old engine.
                 deprecated_conditional(
                     lambda: True, '1.2.0',
                     'bare bundle() without `fileset=` param',
                     "Pass a `fileset=` parameter: `bundle(fileset=globs('*.config')`"
                 )
                 logger.warn(
                     'Ignoring `bundle()` without `fileset` parameter.')
                 continue
             base_globs = BaseGlobs.from_sources_field(bundle.fileset)
             filespecs_list.append(base_globs.filespecs)
             path_globs, excluded_path_globs = base_globs.to_path_globs(
                 self.address.spec_path)
             path_globs_list.append(path_globs)
             excluded_path_globs_list.append(excluded_path_globs)
         bundles_field = BundlesField(self.address, self.bundles,
                                      filespecs_list, path_globs_list,
                                      excluded_path_globs_list)
         return field_adaptors + (bundles_field, )
Exemple #2
0
    def field_adaptors(self):
        """Returns a tuple of Fields for captured fields which need additional treatment."""
        with exception_logging(logger,
                               'Exception in `field_adaptors` property'):
            conjunction_globs = self.get_sources()

            if conjunction_globs is None:
                return tuple()

            sources = conjunction_globs.non_path_globs
            conjunction = conjunction_globs.conjunction

            if not sources:
                return tuple()
            base_globs = BaseGlobs.from_sources_field(sources,
                                                      self.address.spec_path)
            path_globs = base_globs.to_path_globs(self.address.spec_path,
                                                  conjunction)

            return (SourcesField(
                self.address,
                'sources',
                base_globs.filespecs,
                base_globs,
                path_globs,
                self.validate_sources,
            ), )
Exemple #3
0
 def field_adaptors(self):
   with exception_logging(logger, 'Exception in `field_adaptors` property'):
     field_adaptors = super(JvmAppAdaptor, self).field_adaptors
     if getattr(self, 'bundles', None) is None:
       return field_adaptors
     # Construct a field for the `bundles` argument.
     filespecs_list = []
     path_globs_list = []
     excluded_path_globs_list = []
     for bundle in self.bundles:
       # Short circuit in the case of `bundles=[..., bundle(), ...]`.
       if not hasattr(bundle, 'fileset'):
         # N.B. This notice is duplicated in jvm_app.py::Bundle.__call__() for the old engine.
         deprecated_conditional(lambda: True,
                                '1.2.0',
                                'bare bundle() without `fileset=` param',
                                "Pass a `fileset=` parameter: `bundle(fileset=globs('*.config')`")
         logger.warn('Ignoring `bundle()` without `fileset` parameter.')
         continue
       base_globs = BaseGlobs.from_sources_field(bundle.fileset)
       filespecs_list.append(base_globs.filespecs)
       path_globs, excluded_path_globs = base_globs.to_path_globs(self.address.spec_path)
       path_globs_list.append(path_globs)
       excluded_path_globs_list.append(excluded_path_globs)
     bundles_field = BundlesField(self.address,
                                  self.bundles,
                                  filespecs_list,
                                  path_globs_list,
                                  excluded_path_globs_list)
     return field_adaptors + (bundles_field,)
Exemple #4
0
  def test_exception_logging(self):
    fake_logger = mock.Mock()

    with self.assertRaises(AssertionError):
      with exception_logging(fake_logger, 'error!'):
        assert True is False

    fake_logger.exception.assert_called_once_with('error!')
Exemple #5
0
    def test_exception_logging(self):
        fake_logger = mock.Mock()

        with self.assertRaises(AssertionError):
            with exception_logging(fake_logger, 'error!'):
                assert True is False

        fake_logger.exception.assert_called_once_with('error!')
Exemple #6
0
  def field_adaptors(self):
    with exception_logging(logger, 'Exception in `field_adaptors` property'):
      field_adaptors = super(AppAdaptor, self).field_adaptors
      if getattr(self, 'bundles', None) is None:
        return field_adaptors

      bundles_field = self._construct_bundles_field()
      return field_adaptors + (bundles_field,)
    def test_exception_logging(self) -> None:
        fake_logger = unittest.mock.Mock()

        with self.assertRaises(AssertionError):
            with exception_logging(fake_logger, 'error!'):
                assert True is False  # type: ignore[comparison-overlap] # intended to fail type check

        fake_logger.exception.assert_called_once_with('error!')
Exemple #8
0
  def field_adaptors(self):
    with exception_logging(logger, 'Exception in `field_adaptors` property'):
      field_adaptors = super(JvmAppAdaptor, self).field_adaptors
      if getattr(self, 'bundles', None) is None:
        return field_adaptors

      bundles_field = self._construct_bundles_field()
      return field_adaptors + (bundles_field,)
Exemple #9
0
 def field_adaptors(self):
   """Returns a tuple of Fields for captured fields which need additional treatment."""
   with exception_logging(logger, 'Exception in `field_adaptors` property'):
     if not self.has_concrete_sources:
       return tuple()
     base_globs = BaseGlobs.from_sources_field(self.sources)
     path_globs, excluded_path_globs = base_globs.to_path_globs(self.address.spec_path)
     return (SourcesField(self.address, 'sources', base_globs.filespecs, path_globs, excluded_path_globs),)
Exemple #10
0
    def field_adaptors(self) -> Tuple:
        with exception_logging(logger, "Exception in `field_adaptors` property"):
            field_adaptors = super().field_adaptors
            if getattr(self, "bundles", None) is None:
                return field_adaptors

            bundles_field = self._construct_bundles_field()
            return (*field_adaptors, bundles_field)
Exemple #11
0
 def field_adaptors(self):
   """Returns a tuple of Fields for captured fields which need additional treatment."""
   with exception_logging(logger, 'Exception in `field_adaptors` property'):
     if not self.has_concrete_sources:
       return tuple()
     base_globs = BaseGlobs.from_sources_field(self.sources)
     path_globs, excluded_path_globs = base_globs.to_path_globs(self.address.spec_path)
     return (SourcesField(self.address, 'sources', base_globs.filespecs, path_globs, excluded_path_globs),)
Exemple #12
0
 def field_adaptors(self):
   with exception_logging(logger, 'Exception in `field_adaptors` property'):
     field_adaptors = super(PythonTargetAdaptor, self).field_adaptors
     if getattr(self, 'resources', None) is None:
       return field_adaptors
     base_globs = BaseGlobs.from_sources_field(self.resources, self.address.spec_path)
     path_globs = base_globs.to_path_globs(self.address.spec_path)
     sources_field = SourcesField(self.address,
                                  'resources',
                                  base_globs.filespecs,
                                  path_globs)
     return field_adaptors + (sources_field,)
Exemple #13
0
 def field_adaptors(self) -> Tuple:
     with exception_logging(logger, "Exception in `field_adaptors` property"):
         field_adaptors = super().field_adaptors
         if getattr(self, "resources", None) is None:
             return field_adaptors
         source_globs = SourceGlobs.from_sources_field(self.resources)
         sources_field = SourcesField(
             address=self.address,
             arg="resources",
             source_globs=source_globs,
             conjunction=GlobExpansionConjunction.all_match,
         )
         return (*field_adaptors, sources_field)
Exemple #14
0
 def field_adaptors(self):
     with exception_logging(logger,
                            'Exception in `field_adaptors` property'):
         field_adaptors = super().field_adaptors
         if getattr(self, 'resources', None) is None:
             return field_adaptors
         base_globs = BaseGlobs.from_sources_field(self.resources,
                                                   self.address.spec_path)
         path_globs = base_globs.to_path_globs(
             self.address.spec_path, GlobExpansionConjunction.all_match)
         sources_field = SourcesField(self.address, 'resources',
                                      base_globs.filespecs, base_globs,
                                      path_globs, lambda _: None)
         return field_adaptors + (sources_field, )
Exemple #15
0
 def field_adaptors(self):
   """Returns a tuple of Fields for captured fields which need additional treatment."""
   with exception_logging(logger, 'Exception in `field_adaptors` property'):
     sources = self.get_sources()
     if not sources:
       return tuple()
     base_globs = BaseGlobs.from_sources_field(sources, self.address.spec_path)
     path_globs = base_globs.to_path_globs(self.address.spec_path)
     return (SourcesField(
       self.address,
       'sources',
       base_globs.filespecs,
       base_globs,
       path_globs,
       self.validate_sources,
     ),)
Exemple #16
0
    def field_adaptors(self) -> Tuple:
        """Returns a tuple of Fields for captured fields which need additional treatment."""
        with exception_logging(logger, "Exception in `field_adaptors` property"):
            conjunction_globs = self.get_sources()
            if conjunction_globs is None:
                return tuple()

            sources = conjunction_globs.globs
            if not sources:
                return tuple()

            sources_field = SourcesField(
                address=self.address,
                arg="sources",
                source_globs=sources,
                conjunction=conjunction_globs.conjunction,
                validate_fn=self.validate_sources,
            )
            return (sources_field,)