mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-15 13:02:19 +00:00
aea48a9d7bb24df94d5de61a5dd39eda3dd028bd
Only add(T, int) was synchronized (and its javadoc claimed it was the only one modifying .items), but all the bulk add methods were going straight to addInternal() and then refreshTable() on their own. Then countAllPoints() was iterating over items.values() which has undefined behavior if the underlying Map changed. Technically I didn't need to synchronize the current implementations of remove(T) and add(T) since they delegated fully to add(T, int), but that's leaking implementation details and inviting trouble down the road when someone doesn't realize that. Likewise, addInternal() and refreshTable() need not be synchronized since they're only ever called from already synchronized methods, but I'm inclined to go for belt & suspenders in the wake of these other issues.
About
In a nutshell, Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 1000 plugins to support building and testing virtually any project.
Downloads
Non-source downloads such as WAR files and several Linux packages can be found on our Mirrors.
Source
Our latest and greatest source of Jenkins CI can be found on GitHub. Fork us!
News and Website
All information about Jenkins CI can be found on our website. Follow us on Twitter @jenkinsci.
License
Jenkins is licensed under the MIT License. The terms of the license are as follows:
The MIT License (MIT)
Copyright (c) 2004 Kohsuke Kawaguchi, Sun Microsystems Inc., and a number of other contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Description
No description provided
cicdcontinuous-deliverycontinuous-deploymentcontinuous-integrationdevopsgroovyhacktoberfestjavajenkinspipelines-as-code
Readme
MIT
339 MiB
0 Stars
1 Watchers
0 Forks
Languages
Java
87.1%
HTML
6.4%
JavaScript
3.3%
SCSS
2.3%
Groovy
0.3%
Other
0.5%
