Beispiel #1
0
 def execute(self):
     for buildfile in BuildFile.scan_buildfiles(self.root_dir):
         for address in Target.get_all_addresses(buildfile):
             target = Target.get(address)
             if hasattr(target, 'sources'):
                 for sourcefile in target.sources:
                     print sourcefile, address
Beispiel #2
0
 def execute(self):
   for buildfile in BuildFile.scan_buildfiles(self.root_dir):
     for address in Target.get_all_addresses(buildfile):
       target = Target.get(address)
       if hasattr(target, 'sources'):
         for sourcefile in target.sources:
           print sourcefile, address
Beispiel #3
0
    def configure_target(target):
      if target not in analyzed:
        analyzed.add(target)

        self.has_scala = self.has_scala or is_scala(target)

        if isinstance(target, JavaLibrary) or isinstance(target, ScalaLibrary):
          # TODO(John Sirois): this does not handle test resources, make test resources 1st class
          # in ant build and punch this through to pants model
          resources = set()
          if target.resources:
            resources.update(target.resources)
          if target.binary_resources:
            resources.update(target.binary_resources)
          if resources:
            self.resource_extensions.update(Project.extract_resource_extensions(resources))
            configure_source_sets(RESOURCES_BASE_DIR, resources, is_test = False)

        if target.sources:
          test = is_test(target)
          self.has_tests = self.has_tests or test
          configure_source_sets(target.target_base, target.sources, is_test = test)

        siblings = Target.get_all_addresses(target.address.buildfile)
        return filter(accept_target, [ Target.get(a) for a in siblings if a != target.address ])
Beispiel #4
0
    def execute(self):
        target = Target.get(self.address)

        if self.is_graph:
            self._print_digraph(target)
        else:
            self._print_dependency_tree(target)
Beispiel #5
0
  def execute(self):
    target = Target.get(self.address)

    if self.is_graph:
      self._print_digraph(target)
    else:
      self._print_dependency_tree(target)
Beispiel #6
0
        def configure_target(target):
            if target not in analyzed:
                analyzed.add(target)

                self.has_scala = self.has_scala or is_scala(target)

                if isinstance(target, JavaLibrary) or isinstance(
                        target, ScalaLibrary):
                    # TODO(John Sirois): this does not handle test resources, make test resources 1st class
                    # in ant build and punch this through to pants model
                    resources = set()
                    if target.resources:
                        resources.update(target.resources)
                    if target.binary_resources:
                        resources.update(target.binary_resources)
                    if resources:
                        self.resource_extensions.update(
                            Project.extract_resource_extensions(resources))
                        configure_source_sets(RESOURCES_BASE_DIR,
                                              resources,
                                              is_test=False)

                if target.sources:
                    test = is_test(target)
                    self.has_tests = self.has_tests or test
                    configure_source_sets(target.target_base,
                                          target.sources,
                                          is_test=test)

                siblings = Target.get_all_addresses(target.address.buildfile)
                return filter(
                    accept_target,
                    [Target.get(a) for a in siblings if a != target.address])
Beispiel #7
0
    def __init__(self, root_dir, parser, argv):
        Command.__init__(self, root_dir, parser, argv)

        self.project_name = self.options.project_name
        addresses = self._parse_addresses() if self.args else scan_addresses(
            root_dir)
        self.targets = [Target.get(address) for address in addresses]
Beispiel #8
0
    def execute(self):
        print "Build operating on address: %s" % self.address

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

        if not target:
            self.error("Target %s does not exist" % self.address)

        return self._build(target)
Beispiel #9
0
    def execute(self):
        print "Build operating on address: %s" % self.address

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

        if not target:
            self.error("Target %s does not exist" % self.address)

        return self._build(target)
Beispiel #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
Beispiel #11
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)
Beispiel #12
0
  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
Beispiel #13
0
  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
Beispiel #14
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
Beispiel #15
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)
Beispiel #16
0
 def _print_provides(self, column_extractors, address):
   target = Target.get(address)
   if is_exported(target):
     return " ".join(extractor(target) for extractor in column_extractors)
Beispiel #17
0
 def _print_provides(self, column_extractors, address):
   target = Target.get(address)
   if isinstance(target, ExportableJavaLibrary) and target.provides:
     return " ".join(extractor(target) for extractor in column_extractors)
Beispiel #18
0
 def get_targets():
   for address in util.scan_addresses(root_dir):
     target = Target.get(address)
     if Doc._is_documentable(target):
       yield target
Beispiel #19
0
 def _print_provides(self, column_extractors, address):
     target = Target.get(address)
     if isinstance(target, ExportableJavaLibrary) and target.provides:
         return " ".join(
             extractor(target) for extractor in column_extractors)
Beispiel #20
0
  def __init__(self, root_dir, parser, argv):
    Command.__init__(self, root_dir, parser, argv)

    self.project_name = self.options.project_name
    addresses = self._parse_addresses() if self.args else scan_addresses(root_dir)
    self.targets = [ Target.get(address) for address in addresses ]
Beispiel #21
0
 def get_targets():
     for address in util.scan_addresses(root_dir):
         target = Target.get(address)
         if Doc._is_documentable(target):
             yield target
Beispiel #22
0
 def execute(self):
   for sourcefile in Target.get(self.address).sources:
     print sourcefile