コード例 #1
0
ファイル: build.py プロジェクト: jaxlaw/commons
    def __init__(self, root_dir, parser, argv):
        Command.__init__(self, root_dir, parser, argv)

        if not self.args:
            self.error("A spec argument is required")

        spec = self.args[0]
        try:
            self.address = Address.parse(root_dir, spec)
        except:
            self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))

        if not self.address.is_meta:
            self.address.is_meta = self.options.is_meta

        self.is_ide = self.options.is_ide
        if self.options.ide_transitivity:
            if not self.is_ide:
                self.error("--ide-transitivity only applies when using --ide")
            elif self.options.ide_transitivity not in _VALID_TRANSITIVITIES:
                self.error("%s is not a valid value for --ide-transitivity" % self.options.ide_transitivity)
            self.ide_transitivity = self.options.ide_transitivity
        else:
            self.ide_transitivity = _DEFAULT_TRANSITIVITY

        self.build_args = self.args[1:] if len(self.args) > 1 else []
コード例 #2
0
ファイル: build.py プロジェクト: online/commons
    def __init__(self, root_dir, parser, argv):
        Command.__init__(self, root_dir, parser, argv)

        if not self.args:
            self.error("A spec argument is required")

        spec = self.args[0]
        try:
            self.address = Address.parse(root_dir, spec)
        except:
            self.error("Problem parsing spec %s: %s" %
                       (spec, traceback.format_exc()))

        if not self.address.is_meta:
            self.address.is_meta = self.options.is_meta

        self.is_ide = self.options.is_ide
        if self.options.ide_transitivity:
            if not self.is_ide:
                self.error("--ide-transitivity only applies when using --ide")
            elif self.options.ide_transitivity not in _VALID_TRANSITIVITIES:
                self.error("%s is not a valid value for --ide-transitivity" %
                           self.options.ide_transitivity)
            self.ide_transitivity = self.options.ide_transitivity
        else:
            self.ide_transitivity = _DEFAULT_TRANSITIVITY

        self.build_args = self.args[1:] if len(self.args) > 1 else []
コード例 #3
0
ファイル: __main__.py プロジェクト: jaxlaw/commons
def _find_command_class_name(root_dir, args):
  arg = args[0]

  command_class_name = _BUILD_COMMAND if arg in _BUILD_ALIASES else arg.capitalize()
  if hasattr(commands, command_class_name):
    return args[1:] if len(args) > 1 else [], command_class_name

  if arg.startswith('-'):
    exit("Unrecognized option: %s" % arg)

  # If a subcommand is not explicitly provided, default to Build when the 1st argument is a valid
  # BUILD target address
  try:
    Address.parse(root_dir, arg)
    return args, _BUILD_COMMAND
  except:
    exit("Failed to execute pants build: %s" % traceback.format_exc())
コード例 #4
0
def _find_command_class_name(root_dir, args):
    arg = args[0]

    command_class_name = _BUILD_COMMAND if arg in _BUILD_ALIASES else arg.capitalize(
    )
    if hasattr(commands, command_class_name):
        return args[1:] if len(args) > 1 else [], command_class_name

    if arg.startswith('-'):
        exit("Unrecognized option: %s" % arg)

    # If a subcommand is not explicitly provided, default to Build when the 1st argument is a valid
    # BUILD target address
    try:
        Address.parse(root_dir, arg)
        return args, _BUILD_COMMAND
    except:
        exit("Failed to execute pants build: %s" % traceback.format_exc())
コード例 #5
0
  def __init__(self, root_dir, parser, argv):
    Command.__init__(self, root_dir, parser, argv)

    if len(self.args) is not 1:
      self.error("Exactly one BUILD address is required.")

    spec = self.args[0]
    try:
      self.address = Address.parse(root_dir, spec)
    except:
      self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))
コード例 #6
0
ファイル: ide.py プロジェクト: collude/collude
 def _parse_addresses(self):
   addresses = OrderedSet()
   for spec in self.args:
     try:
       if self.options.is_directory_list:
         for address in scan_addresses(self.root_dir, spec):
           addresses.add(address)
       else:
         addresses.add(Address.parse(self.root_dir, spec))
     except:
       self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))
   return addresses
コード例 #7
0
ファイル: list.py プロジェクト: jaxlaw/commons
 def _parse_buildfiles(self):
   buildfiles = OrderedSet()
   for spec in self.args:
     try:
       if self.options.is_directory_list:
         for buildfile in BuildFile.scan_buildfiles(self.root_dir, spec):
           buildfiles.add(buildfile)
       else:
         buildfiles.add(Address.parse(self.root_dir, spec).buildfile)
     except:
       self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))
   return buildfiles
コード例 #8
0
ファイル: list.py プロジェクト: collude/collude
 def _parse_buildfiles(self):
   buildfiles = OrderedSet()
   for spec in self.args:
     try:
       if self.options.is_directory_list:
         for buildfile in BuildFile.scan_buildfiles(self.root_dir, spec):
           buildfiles.add(buildfile)
       else:
         buildfiles.add(Address.parse(self.root_dir, spec).buildfile)
     except:
       self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))
   return buildfiles
コード例 #9
0
ファイル: ide.py プロジェクト: collude/collude
 def _parse_addresses(self):
     addresses = OrderedSet()
     for spec in self.args:
         try:
             if self.options.is_directory_list:
                 for address in scan_addresses(self.root_dir, spec):
                     addresses.add(address)
             else:
                 addresses.add(Address.parse(self.root_dir, spec))
         except:
             self.error("Problem parsing spec %s: %s" %
                        (spec, traceback.format_exc()))
     return addresses
コード例 #10
0
    def __init__(self, root_dir, parser, argv):
        Command.__init__(self, root_dir, parser, argv)

        if not self.args:
            self.error("A spec argument is required")

        try:
            specs_end = self.args.index('--')
            if len(self.args) > specs_end:
                self.build_args = self.args.__getslice__(
                    specs_end + 1,
                    len(self.args) + 1)
            else:
                self.build_args = []
        except ValueError:
            specs_end = 1
            self.build_args = self.args[1:] if len(self.args) > 1 else []

        self.targets = OrderedSet()
        for spec in self.args.__getslice__(0, specs_end):
            try:
                address = Address.parse(root_dir, spec)
            except:
                self.error("Problem parsing spec %s: %s" %
                           (spec, traceback.format_exc()))

            try:
                target = Target.get(address)
            except:
                self.error("Problem parsing BUILD target %s: %s" %
                           (address, traceback.format_exc()))

            try:
                InternalTarget.check_cycles(target)
            except CycleException as e:
                self.error("Target contains an internal dependency cycle: %s" %
                           e)

            if not target:
                self.error("Target %s does not exist" % address)
            if not target.address.is_meta:
                target.address.is_meta = self.options.is_meta or address.is_meta
            self.targets.add(target)

        self.is_ide = self.options.is_ide
        self.ide_transitivity = self.options.ide_transitivity
コード例 #11
0
ファイル: files.py プロジェクト: collude/collude
  def __init__(self, root_dir, parser, argv):
    Command.__init__(self, root_dir, parser, argv)

    if len(self.args) is not 1:
      self.error("Exactly one BUILD address is required.")

    spec = self.args[0]
    try:
      address = Address.parse(root_dir, spec)
    except:
      self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))

    try:
      self.target = Target.get(address)
    except:
      self.error("Problem parsing BUILD target %s: %s" % (address, traceback.format_exc()))

    if not self.target:
        self.error("Target %s does not exist" % address)
コード例 #12
0
ファイル: doc.py プロジェクト: collude/collude
  def _parse_targets(self, root_dir):
    targets = OrderedSet()
    for spec in self.args:
      try:
        address = Address.parse(root_dir, spec)
      except:
        self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))

      try:
        target = Target.get(address)
      except:
        self.error("Problem parsing target %s: %s" % (address, traceback.format_exc()))

      if not Doc._is_documentable(target):
        self.error("Target: %s is not documentable" % address)

      targets.add(target)

    return targets
コード例 #13
0
ファイル: depmap.py プロジェクト: collude/collude
  def __init__(self, root_dir, parser, argv):
    Command.__init__(self, root_dir, parser, argv)

    if len(self.args) is not 1:
      self.error("Exactly one BUILD address is required.")

    if self.options.is_internal_only and self.options.is_external_only:
      self.error("At most one of external only or internal only can be selected.")

    spec = self.args[0]
    try:
      self.address = Address.parse(root_dir, spec)
    except:
      self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))

    self.is_internal_only = self.options.is_internal_only
    self.is_external_only = self.options.is_external_only
    self.is_minimal = self.options.is_minimal
    self.is_graph = self.options.is_graph
コード例 #14
0
ファイル: doc.py プロジェクト: online/commons
  def _parse_targets(self, root_dir):
    targets = OrderedSet()
    for spec in self.args:
      try:
        address = Address.parse(root_dir, spec)
      except:
        self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))

      try:
        target = Target.get(address)
      except:
        self.error("Problem parsing target %s: %s" % (address, traceback.format_exc()))

      if not Doc._is_documentable(target):
        self.error("Target: %s is not documentable" % address)

      targets.add(target)

    return targets
コード例 #15
0
ファイル: build.py プロジェクト: collude/collude
  def __init__(self, root_dir, parser, argv):
    Command.__init__(self, root_dir, parser, argv)

    if not self.args:
      self.error("A spec argument is required")

    try:
      specs_end = self.args.index('--')
      if len(self.args) > specs_end:
        self.build_args = self.args.__getslice__(specs_end + 1, len(self.args) + 1)
      else:
        self.build_args = []
    except ValueError:
      specs_end = 1
      self.build_args = self.args[1:] if len(self.args) > 1 else []

    self.targets = OrderedSet()
    for spec in self.args.__getslice__(0, specs_end):
      try:
        address = Address.parse(root_dir, spec)
      except:
        self.error("Problem parsing spec %s: %s" % (spec, traceback.format_exc()))

      try:
        target = Target.get(address)
      except:
        self.error("Problem parsing BUILD target %s: %s" % (address, traceback.format_exc()))

      try:
        InternalTarget.check_cycles(target)
      except CycleException as e:
        self.error("Target contains an internal dependency cycle: %s" % e)

      if not target:
        self.error("Target %s does not exist" % address)
      if not target.address.is_meta:
        target.address.is_meta = self.options.is_meta or address.is_meta
      self.targets.add(target)

    self.is_ide = self.options.is_ide
    self.ide_transitivity = self.options.ide_transitivity
コード例 #16
0
    def __init__(self, root_dir, parser, argv):
        Command.__init__(self, root_dir, parser, argv)

        if len(self.args) is not 1:
            self.error("Exactly one BUILD address is required.")

        spec = self.args[0]
        try:
            address = Address.parse(root_dir, spec)
        except:
            self.error("Problem parsing spec %s: %s" %
                       (spec, traceback.format_exc()))

        try:
            self.target = Target.get(address)
        except:
            self.error("Problem parsing BUILD target %s: %s" %
                       (address, traceback.format_exc()))

        if not self.target:
            self.error("Target %s does not exist" % address)
コード例 #17
0
    def __init__(self, root_dir, parser, argv):
        Command.__init__(self, root_dir, parser, argv)

        if len(self.args) is not 1:
            self.error("Exactly one BUILD address is required.")

        if self.options.is_internal_only and self.options.is_external_only:
            self.error(
                "At most one of external only or internal only can be selected."
            )

        spec = self.args[0]
        try:
            self.address = Address.parse(root_dir, spec)
        except:
            self.error("Problem parsing spec %s: %s" %
                       (spec, traceback.format_exc()))

        self.is_internal_only = self.options.is_internal_only
        self.is_external_only = self.options.is_external_only
        self.is_minimal = self.options.is_minimal
        self.is_graph = self.options.is_graph