Example #1
0
    def run(self):
        options_bootstrapper = OptionsBootstrapper(env=self._env,
                                                   args=self._args)
        bootstrap_options = options_bootstrapper.get_bootstrap_options()
        ExceptionSink.set_destination(
            bootstrap_options.for_global_scope().pants_workdir)

        if bootstrap_options.for_global_scope().enable_pantsd:
            try:
                return RemotePantsRunner(self._exiter, self._args, self._env,
                                         bootstrap_options).run()
            except RemotePantsRunner.Fallback as e:
                logger.warn(
                    'caught client exception: {!r}, falling back to non-daemon mode'
                    .format(e))

        # N.B. Inlining this import speeds up the python thin client run by about 100ms.
        from pants.bin.local_pants_runner import LocalPantsRunner

        runner = LocalPantsRunner.create(
            self._exiter,
            self._args,
            self._env,
            options_bootstrapper=options_bootstrapper)
        runner.set_start_time(self._start_time)
        return runner.run()
Example #2
0
  def apply_options(self, options):
    """Applies global configuration options to internal behavior.

    :param Options options: An instance of an Options object to fetch global options from.
    """
    self._should_print_backtrace = options.for_global_scope().print_exception_stacktrace
    self._workdir = options.for_global_scope().pants_workdir
    ExceptionSink.set_destination(self._workdir)