Skip to content
  1. Jul 25, 2019
    • Paul Duffin's avatar
      Refactor visibility to support visibility on defaults modules · 63c6e183
      Paul Duffin authored
      Existing modules, either general one or package ones have a single
      visibility property, called visibility in general, and
      default_visibility on package, that controls access to that module, or
      in the case of package sets the default visibility of all modules in
      that package. The property is checked and gathered during the similarly
      named phases of visibility processing.
      
      The defaults module will be different as it will have two properties.
      The first, visibility, will not affect the visibility of the module, it
      only affects the visibility of modules that 'extend' the defaults. So,
      it will need checking but not parsing. The second property,
      defaults_visibility, will affect the visibility of the module and so
      will need both checking and parsing.
      
      The current implementation does not handle those cases because:
      1) It does not differentiate between the property that affects the
         module and those that do not. It checks and gathers all of them with
         the last property gathered overriding the rules for the previous
         properties.
      
      2) It relies on overriding methods in MethodBase in order to change the
         default behavior for the package module. That works because
         packageModule embeds ModuleBase but will not work for
         DefaultsModuleBase as it does not embed ModuleBase and instead is
         embedded alongside it so attempting to override a method in
         MethodBase leads to ambiguity.
      
      This change addresses the issues as follows:
      1) It adds a new visibility() []string method to get access to the
         primary visibility rules, i.e. the ones that affect the module.
      
      2) It adds two fields, 'visibilityPropertyInfo []visibilityProperty'
         to provide information about all the properties that need checking,
         and 'primaryVisibilityProperty visibilityProperty' to specify the
         property that affects the module.
      
      The PackageFactory() and InitAndroidModule(Module) functions are
      modified to initialize the fields. The override of the
      visibilityProperties() method for packageModule is removed and the
      default implementations of visibilityProperties() and visibility()
      on ModuleBase return information from the two new fields.
      
      The InitDefaultsModule is updated to also initialize the two new
      fields. It uses nil for primaryVisibilityProperty for now but that
      will be changed to return defaults_visibility. It also uses the
      commonProperties structure created for the defaults directly instead
      of having to search for it through properties().
      
      Changed the visibilityProperty to take a pointer to the property that
      can be used to retrieve the value rather than a lambda function.
      
      Bug: 130796911
      Test: m nothing
      Change-Id: Icadd470a5f692a48ec61de02bf3dfde3e2eea2ef
      63c6e183
    • Paul Duffin's avatar
      Add DefaultsModule interface · e62432fe
      Paul Duffin authored
      Changes the InitDefaultsModule method from taking a DefaultableModule
      to taking a DefaultsModule in preparation for adding visibility support
      to defaults modules.
      
      Bug: 130796911
      Test: m nothing
      Change-Id: I1d459da1017ae7f2654e7eb275cb424e52d85730
      e62432fe
    • Paul Duffin's avatar
      Improve documentation of defaults mechanism · 7df7fb0d
      Paul Duffin authored
      Also, removes unnecessary cast from DefaultableModule to Defaultable.
      
      Bug: 130796911
      Test: m nothing
      Change-Id: I01d8f5186927215a1aa6b7431558041f427d7381
      7df7fb0d
  2. Jul 24, 2019
  3. Jul 23, 2019
  4. Jul 22, 2019
  5. Jul 20, 2019
    • Jiyong Park's avatar
      Fix: symlink bin/arm directory is not handled correctly · c80b5fa0
      Jiyong Park authored
      This change fixes a bug that a symlink in the bin/* directory of an APEX
      is not added to the fs_config file.
      
      Bug: 137918291
      Test: choosecombo aosp_x86_arm
      TARGET_FLATTEN_APEX=false m com.android.runtime.debug is successful
      
      Change-Id: Ib10b635f08e03b18e8ad5407d8de6bac2c85326d
      c80b5fa0
  6. Jul 19, 2019
    • Dan Albert's avatar
      Remove asanLibs. · 55a18ba7
      Dan Albert authored
      We already link the shared prebuilt from the toolchain. This is
      redundant and the wrong version.
      
      Test: make checkbuild
      Bug: http://b/74067984
      Change-Id: I4b5d23514158eebfb4eea2aa6761e076131c3224
      55a18ba7
    • Paul Duffin's avatar
      Prevent runtime module paths being used in include_dirs · 2ac2befc
      Paul Duffin authored
      Adds a new StartsWith(string) ValueMatcher along with
      With[Out]Matcher(...) methods to support new restrictions that prevent
      any paths into runtime module repositories from being added to the
      include_dirs.
      
      Test: m nothing
      Bug: 35624006
      Change-Id: Ib954998e5fc190d8a11a8c6ac5f810cad927aac3
      2ac2befc
    • Paul Duffin's avatar
      Abstract property value matching logic behind an interface · 73bf054a
      Paul Duffin authored
      Make it easy to add additional ways of matching property values. Needed
      to add support for a 'starts with' matcher that can be used to restrict
      allowable values in include_dir.
      
      Test: m nothing
      Bug: 35624006
      Change-Id: I82e7d95f08847bf294aac311968e1d9f3e4b385d
      73bf054a
    • Paul Duffin's avatar
      Merge "Add header_libs to cc_object" · 60c0cd9a
      Paul Duffin authored
      60c0cd9a
    • Yi Kong's avatar
      e6d0f62c
    • Yi Kong's avatar
      Use double dashes before llvm-strip arguments · 93e67834
      Yi Kong authored
      Newer llvm-strip no longer accepts single dash for multi-character
      arguments.
      
      Test: TreeHugger
      Bug: 131328001
      Change-Id: I4ca862d480860c00e7f8f644f79e300cb523dad0
      93e67834
    • Roland Levillain's avatar
      Handle `test_per_src` test variations as dependencies of APEX modules. · 9b5fde9c
      Roland Levillain authored
      If a test module with a `test_per_src` property set to `true` is
      included in an APEX module, add all the variants for mutator
      `test_per_src` as dependencies of the APEX module (not just the
      first one).
      
      This is done by adding variation "" of mutator `test_per_src` when
      adding a test dependency to an APEX module, which creates an indirect
      dependency of the APEX module on all the `test_per_src` variants of
      the test module. When generating outputs for the APEX bundle, fetch
      and include the set of test outputs from the "" variant.
      
      Test: m (`apex/apex_test.go` amended)
      Bug: 129534335
      Change-Id: I1c99855971a8a9b2fc5b964a420e882b6791d4e6
      9b5fde9c
    • Roland Levillain's avatar
      Create an extra variation in `test_per_src` mutator collecting all outputs. · f2fad971
      Roland Levillain authored
      Have `cc.testPerSrcMutator` create an additional variation named "",
      having no sources (and generating no output file), but depending on
      all other `test_per_src` variations and collecting their output files
      in a new field named `cc.Module.testPerSrcOutputFiles`. This is useful
      in the case where a module depends on all the `test_per_src`
      variations of a test module.
      
      Test: m
      Bug: 129534335
      Change-Id: I905decc0b9417f47cee9113466677d3bb61ad7b6
      f2fad971
    • Treehugger Robot's avatar
      Merge changes from topic "docs_circular_dep" · b1469d53
      Treehugger Robot authored
      * changes:
        aidl include paths are exported to droiddoc
        filegroup.path is used to specify the include path for aidl files
      b1469d53
    • Jiyong Park's avatar
      aidl include paths are exported to droiddoc · 19a7f251
      Jiyong Park authored
      This change fixes a bug that aidl include paths are not exported when a
      java lib is used by a droiddoc module.
      
      Bug: 135922046
      Test: N/A
      Change-Id: I367695677f60bfb4f324b788c7d09cd926cb75bb
      19a7f251
    • Jiyong Park's avatar
      filegroup.path is used to specify the include path for aidl files · 2907459e
      Jiyong Park authored
      filegroup {
          name: "foo",
          srcs: ["srcs/aidl/com/android/**/*.aidl"],
          path: "srcs/aidl",
      }
      
      cc_library { // or java_library, etc.
          name: "bar",
          srcs: [":foo"],
      }
      
      automatically adds "-Ipath/to/foo/srcs/aidl" when compiling the aidl
      files from foo for bar. This allows us to omit aidl include path
      when using sources in other places via file group.
      
      Bug: 135922046
      Test: m (unit tests added)
      Change-Id: I9b42f316f2858fb6da72c2f58a314f391416e809
      2907459e
  7. Jul 18, 2019
    • Colin Cross's avatar
      Disable cc_fuzz darwin host modules · eec9b286
      Colin Cross authored
      The fuzzer runtime is not present for darwin host modules, disable
      cc_fuzz modules when targeting darwin.
      
      Test: m on darwin
      Change-Id: I9da319e00e36c3e0a5912329de7890a6409f1a55
      eec9b286
    • Treehugger Robot's avatar
      Merge "soong-ui: Redirect mmm to mmma." · 216e315a
      Treehugger Robot authored
      216e315a
    • Colin Cross's avatar
      Fix date on mac builds · d64b325d
      Colin Cross authored
      date on mac takes a -r argument that expects seconds, date on linux
      takes a -d argument that expects a date string.  Prefixing the date
      string with @ makes date on linux treat the time as seconds, but is
      incorrect for date on mac.
      
      Test: m docs
      Change-Id: Ic2a585eaac4c25b7b471caa581d7f25827c3a6b3
      d64b325d
    • Colin Cross's avatar
      Convert javadoc modules to android.RuleBuilder · daa4c679
      Colin Cross authored
      Test: m docs
      Test: m checkapi
      Test: m updateapi
      Change-Id: I11ccabc46302ca06298240683ab686134e2e5b8a
      daa4c679
    • Colin Cross's avatar
      Convert droiddoc modules to android.RuleBuilder · ab05443f
      Colin Cross authored
      Test: m docs
      Test: m checkapi
      Test: m updateapi
      Change-Id: Icc932c4a9a3fc642c96ab9cbd8df3229b5ab86d3
      ab05443f
    • Colin Cross's avatar
      Add a systemModules utility type · b77043e2
      Colin Cross authored
      Storing system modules in a classpath is clumsy, as there should
      only ever be one system modules, and it needs to store both a
      directory to pass as the argument and a set of generated files
      to use as dependencies.  Store them in a separate systemModules
      type instead.
      
      Test: m checkbuild
      Change-Id: I020556c736bd5091865bcca51dc0fb9e4db6b45b
      b77043e2
Loading