tree 29afadd001e7f76e1dc13304309b81e36b543dc1
parent d1215d89dec70c30f636130a2c0c23fb90a29f79
author Luca Milanesio <luca.milanesio@gmail.com> 1588670498 +0100
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1588670498 +0000

Update git submodules

* Update plugins/plugin-manager from branch 'stable-3.1'
  to 20bec5084c7b90029b8860cbb2fb9a12928f6979
  - Merge branch 'stable-3.0' into stable-3.1
    
    * stable-3.0:
      Remove plugin-manager from the list of core plugins
      Remove BUCK build
      Remove check with hardcoded GERRIT_NEXT_VERSION
      Fix core plugin name extractions without MANIFEST.MF
      Backport tests from master to stable-2.16
      Set next version to 3.1
    
    Change-Id: I4c4cab0cec3fc9db56e2e5d01482d826e642ee80
    
  - Merge branch 'stable-2.16' into stable-3.0
    
    * stable-2.16:
      Remove plugin-manager from the list of core plugins
      Remove BUCK build
      Remove check with hardcoded GERRIT_NEXT_VERSION
      Fix core plugin name extractions without MANIFEST.MF
      Backport tests from master to stable-2.16
    
    Change-Id: I2c2aaab77090b7b7198746664542122b03fbde0e
    
  - Remove plugin-manager from the list of core plugins
    
    Plugin-manager wasn't a core plugin in Gerrit v2.16,
    therefore it should not be expected to be included in the
    release.war and returned in the list of core plugins to install.
    
    Change-Id: I33d05851c7e4b454b132fd117017c43fcef3be01
    
  - Remove BUCK build
    
    Change-Id: I23e08e237431ba6fac939e0fa79a8bd2407b91aa
    
  - Remove check with hardcoded GERRIT_NEXT_VERSION
    
    Checking against a fixed GERRIT_NEXT_VERSION is
    a very short-sighted approach, as the next version is
    evolving continuously.
    
    Fix the issue where a stable next version was
    incorrectly detected as master, just because the
    Gerrit versions moved on.
    
    Bug: Issue 11264
    Change-Id: I3c3c0fd5e485ec53a5cbd21ae76154a558f2bd9f
    
  - Fix core plugin name extractions without MANIFEST.MF
    
    When MANIFEST.MF is missing or is incomplete, extract the
    plugin name by dropping the extension of the .jar file of
    the plugin contained in release.war.
    
    Change-Id: I2f89e4d3d674602e15c4e1bc281c61c9345df8c7
    
  - Backport tests from master to stable-2.16
    
    The master branch of the plugin-manager contains quite a few
    tests: run them also on stable-2.16, so that we can have
    a green build and stable over time, with proper validation in
    place.
    
    Change-Id: If9b0ba8346b5732f451485788a6c07fb3a93c487
    
  - Merge branch 'stable-2.16'
    
    * stable-2.16:
      Set next version to 3.1
    
    Change-Id: I71973fc0b2e2764997f7007beabb2d257ca3f6eb
    
  - Set next version to 3.1
    
    Next forthcoming Gerrit version is 3.1 and thus the plugin-manager
    should return master plugins when the version string starts with
    3.1 *ONLY*.
    
    Bug: Issue 11880
    Change-Id: I49e193c75d2937b2ddb8dd67c1d84bf8b4e52bb9
    