Mark Waite f0cbe387d5 [JENKINS-70301] Do not report implied dependencies for WMI Windows Agents plugin (#7568)
* Hide split of windows-slaves from other plugins

https://issues.jenkins.io/browse/JENKINS-70301 notes that the WMI Windows
Agents plugin (id:windows-slaves) was split from core in 1.547 and is
now deprecated.  Because it is deprecated, users want to remove it.
They cannot remove it if they have plugins installed that depend on a
Jenkins version prior to 1.547.

Only two plugins actually depend of any classes from the WMI Windows
Agent plugin.

* cli-extras-plugin - never released, no tags, no install history
* multi-slave-config - already requires windows-slaves plugin explicitly
  and already requires a Jenkins core version newer than 1.547. 1340
  installations, last released 8 years ago

Rather than require updates of all the plugins that require a Jenkins
version less than 1.547, this removes the windows-slaves plugin from the
split plugins list.  Users will not be warned that their plugin might
have a dependency on windows-slaves because the analysis has confirmed
that there is only 1 delivered plugin with that dependency, and it is
an explicitly declared dependency with a newer Jenkins minimum version
than the version from which the WMI Windows Agents plugion was split.

Testing done

* Installed suggested plugins from wizard and confirmed WMI Windows
  Agents plugin is not installed

* Installed slave-setup plugin (has implied WMI Windows Agents plugin
  dependency) and confirmed that WMI Windows Agents plugin is not installed

* Installed multi-slave-setup plugin (has explicit WMI Windows Agents
  plugin dependency) and confirmed that WMI Windows Agents plugin was
  installed as a dependency

* Remove multi-slave-setup plugin and WMI Windows Agents plugin and
  confirmed that Jenkins reported no errors or issues

* Installed five plugins with old base versions and confirmed
  that WMI Windows Agents plugin was not installed.  The five plugins
  included backup-plugin, cloudbees-credentials-plugin, unity3d-plugin,
  groovy-label-assignment-plugin, and maven-deployment-linker plugin.

* Performed a backup with the backup plugin and confirmed that it was
  well behaved

https://docs.google.com/spreadsheets/d/1KDIJIu41rIRlj6PjzyhAY9vazKmd3PVwqM3_-32Lt-o/edit?usp=sharing
lists the plugins that have an implied dependency on the WMI Windows
Agents plugin.

* Remove windows-slaves from war file

No need to bundle a detached plugin that has no consumers of its API
that are based on a Jenkins version before the plugin was split from core.

https://github.com/jenkinsci/jenkins/pull/7568#pullrequestreview-1238137930
detected that the bundling was left in by the original commit.
2023-01-07 08:53:47 -07:00
2022-11-12 17:13:51 +01:00
2022-08-25 21:50:53 +01:00
2011-01-31 18:34:17 -08:00
2022-08-25 21:50:13 +01:00
2022-12-20 11:27:04 +01:00
2022-08-25 21:50:53 +01:00
2022-12-08 13:16:20 -08:00
2011-09-11 16:12:09 +02:00

About

Jenkins Regular Release Jenkins LTS Release Docker Pulls CII Best Practices

In a nutshell, Jenkins is the leading open-source automation server. Built with Java, it provides over 1,800 plugins to support automating virtually anything, so that humans can spend their time doing things machines cannot.

What to Use Jenkins for and When to Use It

Use Jenkins to automate your development workflow, so you can focus on work that matters most. Jenkins is commonly used for:

  • Building projects
  • Running tests to detect bugs and other issues as soon as they are introduced
  • Static code analysis
  • Deployment

Execute repetitive tasks, save time, and optimize your development process with Jenkins.

Downloads

The Jenkins project provides official distributions as WAR files, Docker images, native packages and installers for platforms including several Linux distributions and Windows. See the Downloads page for references.

For all distributions Jenkins offers two release lines:

  • Weekly - Frequent releases which include all new features, improvements, and bug fixes.
  • Long-Term Support (LTS) - Older release line which gets periodically updated via bug fix backports.

Latest releases: Jenkins Regular Release Jenkins LTS Release

Source

Our latest and greatest source of Jenkins can be found on GitHub. Fork us!

Contributing to Jenkins

Follow the contributing guidelines if you want to propose a change in the Jenkins core. For more information about participating in the community and contributing to the Jenkins project, see this page.

Documentation for Jenkins core maintainers is in the maintainers guidelines.

News and Website

All information about Jenkins can be found on our website. Follow us on Twitter or LinkedIn.

Governance

See the Jenkins Governance Document for information about the project's open governance, our philosophy and values, and development practices. Jenkins Code of Conduct can be found here.

Adopters

Jenkins is used by millions of users and thousands of companies. See adopters for the list of Jenkins adopters and their success stories.

License

Jenkins is licensed under the MIT License.

Languages
Java 87.1%
HTML 6.5%
JavaScript 3.1%
SCSS 2.2%
Groovy 0.4%
Other 0.6%