Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JENKINS-34583] Remove plugins bundled for promotion #4040

Merged

Conversation

daniel-beck
Copy link
Member

@daniel-beck daniel-beck commented May 24, 2019

Remove plugins bundled for promotional purposes only, and their dependencies.

References:

Proposed changelog entries

  • Remove plugins bundled to promote their use before Jenkins 2.0 replaced the concept of plugins installed by default with the setup wizard.

Submitter checklist

  • [n/a] JIRA issue is well described
  • Changelog entry appropriate for the audience affected by the change (users or developer, depending on the change). Examples
    * Use the Internal: prefix if the change has no user-visible impact (API, test frameworks, etc.)
  • [n/a] Appropriate autotests or explanation to why this change has no tests
  • [n/a] For dependency updates: links to external changelogs and, if possible, full diffs

@jenkinsci/code-reviewers

@daniel-beck daniel-beck requested a review from jglick May 24, 2019 12:37
</artifactItem>
<artifactItem>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>credentials</artifactId>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This cannot be removed so long as it is a dependency of some other detached plugins. IIRC the 1.x versions of subversion do not depend on it, but I am not sure if something else in the list does.

At least one test must (implicitly or explicitly) verify that the transitive closure of detached plugins up to some split point is in fact valid. Please try deleting a dependency which you know has to be there for this reason (script-security for matrix-project, e.g.) and verify that something fails.

Copy link
Member Author

@daniel-beck daniel-beck May 24, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: The second commit fails a bunch of tests in LoadDetachedPluginsTest.

Also, I manually reviewed the depencies of bundled plugins in those versions via https://updates.jenkins-ci.org/current/plugin-versions.json and found:


JSON snippets for the bundled plugins/versions, showing their dependencies:

  {
    "buildDate": "Oct 18, 2016",
    "dependencies": [
      {
        "name": "javadoc",
        "optional": false,
        "version": "1.0"
      },
      {
        "name": "junit",
        "optional": false,
        "version": "1.6"
      },
      {
        "name": "mailer",
        "optional": false,
        "version": "1.7"
      },
      {
        "name": "token-macro",
        "optional": true,
        "version": "1.1"
      }
    ],
    "name": "maven-plugin",
    "requiredCore": "1.625.3",
    "sha1": "V3avC0dPTRHUKcsNnn4bZF1LAP0=",
    "sha256": "h1KggpGBTZQLTSvGj0x/QFRbzKRK7pZAdd3IOGVnLho=",
    "url": "http://updates.jenkins-ci.org/download/plugins/maven-plugin/2.14/maven-plugin.hpi",
    "version": "2.14"
  }


  {
    "buildDate": "Nov 20, 2013",
    "dependencies": [],
    "name": "subversion",
    "requiredCore": "1.466",
    "sha1": "YRIfJRI7LNmvNnOJVqfV7YzNBpA=",
    "sha256": "kMEJy+zfAPvho3d3DXNc8S3K5vdQwAsZtZ6u4iOlSqI=",
    "url": "http://updates.jenkins-ci.org/download/plugins/subversion/1.54/subversion.hpi",
    "version": "1.54"
  }

  {
    "buildDate": "Oct 24, 2013",
    "dependencies": [],
    "name": "cvs",
    "requiredCore": "1.447",
    "sha1": "un4DKtn1+20CAOvlLNKGWuOFXSM=",
    "sha256": "fJF7yCQBmoHVRHLFJeTXJN+0rhC1m/ZOaSovxZ/NM8w=",
    "url": "http://updates.jenkins-ci.org/download/plugins/cvs/2.11/cvs.hpi",
    "version": "2.11"
  }

  {
    "buildDate": "Feb 20, 2013",
    "dependencies": [],
    "name": "ant",
    "requiredCore": "1.456",
    "sha1": "kLVt3uqzRGPfbcvfFrg4UqfPuuw=",
    "sha256": "D1YZjMC6CITNU9KC3jNGaE9MTo/ctXLGB3mVKB3VrIs=",
    "url": "http://updates.jenkins-ci.org/download/plugins/ant/1.2/ant.hpi",
    "version": "1.2"
  }

  {
    "buildDate": "Feb 20, 2013",
    "dependencies": [],
    "name": "javadoc",
    "requiredCore": "1.431",
    "sha1": "ZPbz2jrJwIkLDFkFp1BX3EIq0y0=",
    "sha256": "U2YZvNHz33XyGOdUcPLuOBT6whcYUvn/1U639Iy3TlE=",
    "url": "http://updates.jenkins-ci.org/download/plugins/javadoc/1.1/javadoc.hpi",
    "version": "1.1"
  }

  {
    "buildDate": "Nov 18, 2014",
    "dependencies": [],
    "name": "external-monitor-job",
    "requiredCore": "1.532.1",
    "sha1": "aWlAG/f3ZuOPGmonVCAb0y7P7QE=",
    "sha256": "+xDlqLuCwEtweqRN8wqXuoKFdh+CRxIkhth84LX7PYs=",
    "url": "http://updates.jenkins-ci.org/download/plugins/external-monitor-job/1.4/external-monitor-job.hpi",
    "version": "1.4"
  },	

  {
    "buildDate": "Oct 03, 2014",
    "compatibleSinceVersion": "1.9",
    "dependencies": [
      {
        "name": "mailer",
        "optional": false,
        "version": "1.8"
      }
    ],
    "name": "ldap",
    "requiredCore": "1.566",
    "sha1": "D0hyjwJjfWvX1oXG3ioMs+nUELE=",
    "sha256": "in/hvQywNMxVzf2EVio9pY7w9ypxgPfGvHWRd6wQ/eI=",
    "url": "http://updates.jenkins-ci.org/download/plugins/ldap/1.11/ldap.hpi",
    "version": "1.11"
  }

  {
    "buildDate": "May 22, 2013",
    "dependencies": [],
    "name": "pam-auth",
    "requiredCore": "1.468",
    "sha1": "F6evWgGXImJmb2AX+vZiwIhN86g=",
    "sha256": "RbsrVuzmgAQFitrD3hSgCVLO7wKkh3oePSzFPzPbphk=",
    "url": "http://updates.jenkins-ci.org/download/plugins/pam-auth/1.1/pam-auth.hpi",
    "version": "1.1"
  }

  {
    "buildDate": "Apr 13, 2017",
    "dependencies": [],
    "name": "display-url-api",
    "requiredCore": "1.609.3",
    "sha1": "5b4jgF+apeLI4pZL5cVqr9jmhWE=",
    "sha256": "TkOJluKyYgdeXE7A0d2Tp2dFYgW8pzXoDbYzrDkv0h8=",
    "url": "http://updates.jenkins-ci.org/download/plugins/display-url-api/2.0/display-url-api.hpi",
    "version": "2.0"
  }

  {
    "buildDate": "Mar 20, 2017",
    "dependencies": [
      {
        "name": "display-url-api",
        "optional": false,
        "version": "1.0"
      }
    ],
    "name": "mailer",
    "requiredCore": "1.625.3",
    "sha1": "1AlqLNB50+pU8RnO8TecxiBKQ7U=",
    "sha256": "54t7sylX0R3PWOV/LXtgkDvzGs54WNGf67OxGjdKEYc=",
    "url": "http://updates.jenkins-ci.org/download/plugins/mailer/1.20/mailer.hpi",
    "version": "1.20"
  }

  {
    "buildDate": "Nov 11, 2013",
    "dependencies": [],
    "name": "matrix-auth",
    "requiredCore": "1.535",
    "sha1": "zjmhZti/7gjQh4daJIKkkDvxH8g=",
    "sha256": "He/HYkTpoNr3nD0IgzaxGthRQdf1f3U39gGFWgOHRkY=",
    "url": "http://updates.jenkins-ci.org/download/plugins/matrix-auth/1.1/matrix-auth.hpi",
    "version": "1.1"
  }

  {
    "buildDate": "Jan 03, 2014",
    "dependencies": [],
    "name": "windows-slaves",
    "requiredCore": "1.545",
    "sha1": "FdA24ipJ/6ewzbbJd3zkDVhOQOw=",
    "sha256": "E5tijfQHF36o6Tm0OL+8pZIuK35qDqKAnFyolcZxvzI=",
    "url": "http://updates.jenkins-ci.org/download/plugins/windows-slaves/1.0/windows-slaves.hpi",
    "version": "1.0"
  }

  {
    "buildDate": "Apr 14, 2014",
    "dependencies": [],
    "name": "antisamy-markup-formatter",
    "requiredCore": "1.553",
    "sha1": "YcTTcO7AVmg19FLNz9uxhbACxn4=",
    "sha256": "DrjFZ6COOhi3deCOmCtF8ra2RoXxF+q+byoXmvVXFE0=",
    "url": "http://updates.jenkins-ci.org/download/plugins/antisamy-markup-formatter/1.1/antisamy-markup-formatter.hpi",
    "version": "1.1"
  }

  {
    "buildDate": "Jun 08, 2015",
    "dependencies": [
      {
        "name": "script-security",
        "optional": false,
        "version": "1.13"
      },
      {
        "name": "junit",
        "optional": false,
        "version": "1.2"
      }
    ],
    "name": "matrix-project",
    "requiredCore": "1.609",
    "sha1": "9KmrEbyxVwHIUXNasr9hzJ4grAA=",
    "sha256": "45yZnrfdAEFV3+OmY/7VVQkHgEPzc9TLf40xTQpELMI=",
    "url": "http://updates.jenkins-ci.org/download/plugins/matrix-project/1.5/matrix-project.hpi",
    "version": "1.5"
  }

  {
    "buildDate": "May 01, 2015",
    "dependencies": [],
    "name": "junit",
    "requiredCore": "1.580.1",
    "sha1": "95XyZB0EUzkyXw3m21h0Y3DkCTg=",
    "sha256": "p148aEc8bFYUgKm8LB0XRUh/0imvI6+NW07ecN5JqIM=",
    "url": "http://updates.jenkins-ci.org/download/plugins/junit/1.6/junit.hpi",
    "version": "1.6"
  }

  {
    "buildDate": "Jul 27, 2016",
    "dependencies": [],
    "name": "bouncycastle-api",
    "requiredCore": "2.16",
    "sha1": "IIOSwykf+UWKG/YNIHunIoI5oBk=",
    "sha256": "iu2F49R52nZAbu32CWluO0OTr7S6jwYGVrMROIoeXiA=",
    "url": "http://updates.jenkins-ci.org/download/plugins/bouncycastle-api/2.16.0/bouncycastle-api.hpi",
    "version": "2.16.0"
  }

  {
    "buildDate": "Oct 17, 2017",
    "dependencies": [
      {
        "name": "script-security",
        "optional": false,
        "version": "1.18.1"
      }
    ],
    "name": "command-launcher",
    "requiredCore": "2.85",
    "sha1": "bKSeMMKsootN1TkpxyvjJshQHwM=",
    "sha256": "ctsJ8S3+K+iRx1GxdparqITVgOI7UGUGtnLls2sKlZ4=",
    "url": "http://updates.jenkins-ci.org/download/plugins/command-launcher/1.0/command-launcher.hpi",
    "version": "1.0"
  }

  {
    "buildDate": "Mar 14, 2018",
    "dependencies": [],
    "name": "jdk-tool",
    "requiredCore": "2.111",
    "sha1": "4GNVDhZBV9bukNeAkIYK3BOWHJs=",
    "sha256": "DclbFhMBMXEBooYP+Fzjs3ZvcQxOe/HYVJ4F13HjXnc=",
    "url": "http://updates.jenkins-ci.org/download/plugins/jdk-tool/1.0/jdk-tool.hpi",
    "version": "1.0"
  }

  {
    "buildDate": "Jan 31, 2019",
    "dependencies": [],
    "name": "jaxb",
    "requiredCore": "2.60.3",
    "sha1": "o8mSXp6v3K3rqudQxSO3aQzAyJA=",
    "sha256": "i3fsxDiVru4RlkeLypgf79Agzup5VpX7GwUxOQw2Jdg=",
    "url": "http://updates.jenkins-ci.org/download/plugins/jaxb/2.3.0/jaxb.hpi",
    "version": "2.3.0"
  }

@daniel-beck daniel-beck added the on-hold This pull request depends on another event/release, and it cannot be merged right now label May 24, 2019
@daniel-beck
Copy link
Member Author

daniel-beck commented May 24, 2019

On-holding this. Will remove the second commit once reviewers are otherwise satisfied, to make this mergeable.

@daniel-beck daniel-beck added the needs-more-reviews Complex change, which would benefit from more eyes label May 25, 2019
Copy link
Member

@jtnord jtnord left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

without the second commit

Copy link
Member

@jtnord jtnord left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

without the second commit

@daniel-beck daniel-beck force-pushed the remove-promotional-bundled-plugins branch from 88b489d to c6f061f Compare September 30, 2019 21:24
@daniel-beck daniel-beck removed needs-more-reviews Complex change, which would benefit from more eyes on-hold This pull request depends on another event/release, and it cannot be merged right now labels Sep 30, 2019
@daniel-beck
Copy link
Member Author

Rebased on 2.198+1 and removed the "second commit" failing a test as expected.

@daniel-beck
Copy link
Member Author

In the process of manually testing #4242 I was able to confirm that placing a plugin that depends on a super old core (1.323) will not install any of the plugins removed here from the war, on startup.

@daniel-beck daniel-beck added the needs-comments-resolved Comments in the PR need to be addressed before it can be considered for merging label Oct 1, 2019
@daniel-beck daniel-beck removed the needs-comments-resolved Comments in the PR need to be addressed before it can be considered for merging label Oct 1, 2019
@daniel-beck daniel-beck merged commit c8349ab into jenkinsci:master Oct 4, 2019
@oleg-nenashev oleg-nenashev added the rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted label Oct 5, 2019
@daniel-beck daniel-beck changed the title Remove plugins bundled for promotion [JENKINS-34583] Remove plugins bundled for promotion Nov 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted
Projects
None yet
7 participants