diff --git a/CHANGELOG.md b/CHANGELOG.md
index 507c488740..c17e7f074b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,17 +4,21 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
## Unreleased
### Added
+- Add branch link provider to access branch links in plugins [#1243](https://github.com/scm-manager/scm-manager/pull/1243)
+
+## [2.2.0] - 2020-07-03
+### Added
- Rename repository name (and namespace if permitted) ([#1218](https://github.com/scm-manager/scm-manager/pull/1218))
-- enrich commit mentions in markdown viewer by internal links ([#1210](https://github.com/scm-manager/scm-manager/pull/1210))
+- Enrich commit mentions in markdown viewer by internal links ([#1210](https://github.com/scm-manager/scm-manager/pull/1210))
- New extension point `changeset.description.tokens` to "enrich" commit messages ([#1231](https://github.com/scm-manager/scm-manager/pull/1231))
-- restart service after rpm or deb package upgrade
+- Restart service after rpm or deb package upgrade
### Changed
- Checkboxes can now be 'indeterminate' ([#1215](https://github.com/scm-manager/scm-manager/pull/1215))
- The old frontend extension point `changeset.description` is deprecated and should be replaced with `changeset.description.tokens` ([#1231](https://github.com/scm-manager/scm-manager/pull/1231))
+- Required plugins will be updated, too, when a plugin is updated ([#1233](https://github.com/scm-manager/scm-manager/pull/1233))
### Fixed
- Fixed installation of debian packages on distros without preinstalled `at` ([#1216](https://github.com/scm-manager/scm-manager/issues/1216) and [#1217](https://github.com/scm-manager/scm-manager/pull/1217))
@@ -23,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added missing architecture to debian installation documentation ([#1230](https://github.com/scm-manager/scm-manager/pull/1230))
- Mercurial on Python 3 ([#1232](https://github.com/scm-manager/scm-manager/pull/1232))
- Fixed wrong package information for deb and rpm packages ([#1229](https://github.com/scm-manager/scm-manager/pull/1229))
+- Fixed missing content type on migration wizard ([#1234](https://github.com/scm-manager/scm-manager/pull/1234))
## [2.1.1] - 2020-06-23
### Fixed
@@ -210,12 +215,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Cache and x-requested-with header to bundle requests
- remove public flag from repository and migrate permissions to anonymous user
-[2.0.0-rc1]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc1
-[2.0.0-rc2]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc2
-[2.0.0-rc3]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc3
-[2.0.0-rc4]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc4
-[2.0.0-rc5]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc5
-[2.0.0-rc6]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc6
-[2.0.0-rc7]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc7
-[2.0.0-rc8]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0-rc8
-[2.0.0]: https://github.com/scm-manager/scm-manager/releases/tag/2.0.0
+[2.0.0-rc1]: https://www.scm-manager.org/download/2.0.0-rc1
+[2.0.0-rc2]: https://www.scm-manager.org/download/2.0.0-rc2
+[2.0.0-rc3]: https://www.scm-manager.org/download/2.0.0-rc3
+[2.0.0-rc4]: https://www.scm-manager.org/download/2.0.0-rc4
+[2.0.0-rc5]: https://www.scm-manager.org/download/2.0.0-rc5
+[2.0.0-rc6]: https://www.scm-manager.org/download/2.0.0-rc6
+[2.0.0-rc7]: https://www.scm-manager.org/download/2.0.0-rc7
+[2.0.0-rc8]: https://www.scm-manager.org/download/2.0.0-rc8
+[2.0.0]: https://www.scm-manager.org/download/2.0.0
+[2.1.0]: https://www.scm-manager.org/download/2.1.0
+[2.1.1]: https://www.scm-manager.org/download/2.1.1
+[2.2.0]: https://www.scm-manager.org/download/2.2.0
diff --git a/lerna.json b/lerna.json
index e17c5bcb57..e84124369e 100644
--- a/lerna.json
+++ b/lerna.json
@@ -5,5 +5,5 @@
],
"npmClient": "yarn",
"useWorkspaces": true,
- "version": "2.2.0-SNAPSHOT"
+ "version": "2.2.0"
}
diff --git a/pom.xml b/pom.xml
index e2a51b1a4d..2bbe143a95 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
sonia.scm
scm
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
The easiest way to share your Git, Mercurial
and Subversion repositories.
diff --git a/scm-annotation-processor/pom.xml b/scm-annotation-processor/pom.xml
index d2c4b4656e..0c8aabacbb 100644
--- a/scm-annotation-processor/pom.xml
+++ b/scm-annotation-processor/pom.xml
@@ -31,12 +31,12 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-annotation-processor
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-annotation-processor
@@ -46,7 +46,7 @@
sonia.scm
scm-annotations
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-annotations/pom.xml b/scm-annotations/pom.xml
index ff9e074223..07fcc7138a 100644
--- a/scm-annotations/pom.xml
+++ b/scm-annotations/pom.xml
@@ -31,11 +31,11 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-annotations
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-annotations
diff --git a/scm-core/pom.xml b/scm-core/pom.xml
index ff62629f03..d3bce80abf 100644
--- a/scm-core/pom.xml
+++ b/scm-core/pom.xml
@@ -31,11 +31,11 @@
scm
sonia.scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-core
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-core
@@ -54,7 +54,7 @@
sonia.scm
scm-annotations
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
@@ -221,7 +221,7 @@
sonia.scm
scm-annotation-processor
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
provided
diff --git a/scm-dao-xml/pom.xml b/scm-dao-xml/pom.xml
index 2dddf39386..f8f9d93b50 100644
--- a/scm-dao-xml/pom.xml
+++ b/scm-dao-xml/pom.xml
@@ -31,11 +31,11 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-dao-xml
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-dao-xml
@@ -50,7 +50,7 @@
sonia.scm
scm-core
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
@@ -58,7 +58,7 @@
sonia.scm
scm-test
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
diff --git a/scm-it/pom.xml b/scm-it/pom.xml
index 5206830d97..011fe18451 100644
--- a/scm-it/pom.xml
+++ b/scm-it/pom.xml
@@ -31,40 +31,40 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-it
war
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-it
sonia.scm
scm-core
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-test
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm.plugins
scm-git-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
sonia.scm.plugins
scm-git-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
tests
test
@@ -72,14 +72,14 @@
sonia.scm.plugins
scm-hg-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
sonia.scm.plugins
scm-hg-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
tests
test
@@ -87,14 +87,14 @@
sonia.scm.plugins
scm-svn-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
sonia.scm.plugins
scm-svn-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
tests
test
diff --git a/scm-it/src/test/java/sonia/scm/it/RepositoriesITCase.java b/scm-it/src/test/java/sonia/scm/it/RepositoriesITCase.java
index eeb3db57bc..b42cce258f 100644
--- a/scm-it/src/test/java/sonia/scm/it/RepositoriesITCase.java
+++ b/scm-it/src/test/java/sonia/scm/it/RepositoriesITCase.java
@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
+
package sonia.scm.it;
//~--- non-JDK imports --------------------------------------------------------
@@ -44,9 +44,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Objects;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.nullValue;
+import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertEquals;
import static sonia.scm.it.utils.RegExMatcher.matchesPattern;
import static sonia.scm.it.utils.RestUtil.createResourceUrl;
@@ -91,7 +89,7 @@ public class RepositoriesITCase {
.body(
"name", equalTo("HeartOfGold-" + repositoryType),
"type", equalTo(repositoryType),
- "creationDate", matchesPattern("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+Z"),
+ "creationDate", matchesPattern("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z"),
"lastModified", is(nullValue()),
"_links.self.href", equalTo(repositoryUrl)
);
diff --git a/scm-packaging/deb/pom.xml b/scm-packaging/deb/pom.xml
index a4f3a2e11e..2f1c850838 100644
--- a/scm-packaging/deb/pom.xml
+++ b/scm-packaging/deb/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
deb
deb
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
Packaging for Debian/Ubuntu
deb
@@ -46,7 +46,7 @@
sonia.scm
scm-server
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-packaging/docker/pom.xml b/scm-packaging/docker/pom.xml
index 1b3d10143b..ad3b3abab1 100644
--- a/scm-packaging/docker/pom.xml
+++ b/scm-packaging/docker/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
docker
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-packaging/helm/pom.xml b/scm-packaging/helm/pom.xml
index 3b2dff90f4..8b25cf7465 100644
--- a/scm-packaging/helm/pom.xml
+++ b/scm-packaging/helm/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
helm
helm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
3.2.1
diff --git a/scm-packaging/pom.xml b/scm-packaging/pom.xml
index ff519e91a5..85ec7e86ac 100644
--- a/scm-packaging/pom.xml
+++ b/scm-packaging/pom.xml
@@ -31,13 +31,13 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm.packaging
scm-packaging
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
packages.scm-manager.org
diff --git a/scm-packaging/release-yaml/pom.xml b/scm-packaging/release-yaml/pom.xml
index 694ca48fff..b3308e860c 100644
--- a/scm-packaging/release-yaml/pom.xml
+++ b/scm-packaging/release-yaml/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
release-yaml
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-packaging/rpm/pom.xml b/scm-packaging/rpm/pom.xml
index 9d4c7d9ed1..bcfe3533eb 100644
--- a/scm-packaging/rpm/pom.xml
+++ b/scm-packaging/rpm/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
rpm
rpm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
Packaging for RedHat/Centos/Fedora
rpm
@@ -52,7 +52,7 @@
sonia.scm
scm-server
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-packaging/unix/pom.xml b/scm-packaging/unix/pom.xml
index e4f72df8ef..4d77592d35 100644
--- a/scm-packaging/unix/pom.xml
+++ b/scm-packaging/unix/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
unix
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-packaging/windows/pom.xml b/scm-packaging/windows/pom.xml
index 3041009d2e..ddccb57053 100644
--- a/scm-packaging/windows/pom.xml
+++ b/scm-packaging/windows/pom.xml
@@ -32,12 +32,12 @@
sonia.scm.packaging
scm-packaging
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
windows
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-plugins/pom.xml b/scm-plugins/pom.xml
index d4696c5ce8..ce690e3211 100644
--- a/scm-plugins/pom.xml
+++ b/scm-plugins/pom.xml
@@ -31,13 +31,13 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm.plugins
scm-plugins
pom
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-plugins
@@ -59,7 +59,7 @@
sonia.scm
scm-core
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
provided
@@ -68,7 +68,7 @@
sonia.scm
scm-annotation-processor
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
provided
@@ -98,7 +98,7 @@
sonia.scm
scm-test
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
diff --git a/scm-plugins/scm-git-plugin/package.json b/scm-plugins/scm-git-plugin/package.json
index 846f96276c..15fca4a21c 100644
--- a/scm-plugins/scm-git-plugin/package.json
+++ b/scm-plugins/scm-git-plugin/package.json
@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-git-plugin",
"private": true,
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"license": "MIT",
"main": "./src/main/js/index.ts",
"scripts": {
@@ -20,6 +20,6 @@
},
"prettier": "@scm-manager/prettier-config",
"dependencies": {
- "@scm-manager/ui-plugins": "^2.2.0-SNAPSHOT"
+ "@scm-manager/ui-plugins": "^2.2.0"
}
}
diff --git a/scm-plugins/scm-git-plugin/pom.xml b/scm-plugins/scm-git-plugin/pom.xml
index 6e4db9e3f3..82361937ff 100644
--- a/scm-plugins/scm-git-plugin/pom.xml
+++ b/scm-plugins/scm-git-plugin/pom.xml
@@ -31,7 +31,7 @@
scm-plugins
sonia.scm.plugins
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-git-plugin
diff --git a/scm-plugins/scm-hg-plugin/package.json b/scm-plugins/scm-hg-plugin/package.json
index b36c0e6f29..aa9a25bfff 100644
--- a/scm-plugins/scm-hg-plugin/package.json
+++ b/scm-plugins/scm-hg-plugin/package.json
@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-hg-plugin",
"private": true,
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"license": "MIT",
"main": "./src/main/js/index.ts",
"scripts": {
@@ -19,6 +19,6 @@
},
"prettier": "@scm-manager/prettier-config",
"dependencies": {
- "@scm-manager/ui-plugins": "^2.2.0-SNAPSHOT"
+ "@scm-manager/ui-plugins": "^2.2.0"
}
}
diff --git a/scm-plugins/scm-hg-plugin/pom.xml b/scm-plugins/scm-hg-plugin/pom.xml
index b2b55e0ffc..2ec909a4fd 100644
--- a/scm-plugins/scm-hg-plugin/pom.xml
+++ b/scm-plugins/scm-hg-plugin/pom.xml
@@ -31,7 +31,7 @@
sonia.scm.plugins
scm-plugins
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-hg-plugin
diff --git a/scm-plugins/scm-legacy-plugin/package.json b/scm-plugins/scm-legacy-plugin/package.json
index 395f888c0f..6acc205595 100644
--- a/scm-plugins/scm-legacy-plugin/package.json
+++ b/scm-plugins/scm-legacy-plugin/package.json
@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-legacy-plugin",
"private": true,
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"license": "MIT",
"main": "./src/main/js/index.tsx",
"scripts": {
@@ -19,6 +19,6 @@
},
"prettier": "@scm-manager/prettier-config",
"dependencies": {
- "@scm-manager/ui-plugins": "^2.2.0-SNAPSHOT"
+ "@scm-manager/ui-plugins": "^2.2.0"
}
}
diff --git a/scm-plugins/scm-legacy-plugin/pom.xml b/scm-plugins/scm-legacy-plugin/pom.xml
index 8069f82678..5f32cd25db 100644
--- a/scm-plugins/scm-legacy-plugin/pom.xml
+++ b/scm-plugins/scm-legacy-plugin/pom.xml
@@ -29,12 +29,12 @@
sonia.scm.plugins
scm-plugins
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-legacy-plugin
Support migrated repository urls and v1 passwords
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
smp
diff --git a/scm-plugins/scm-svn-plugin/package.json b/scm-plugins/scm-svn-plugin/package.json
index 66b453d0a9..00a95f7aea 100644
--- a/scm-plugins/scm-svn-plugin/package.json
+++ b/scm-plugins/scm-svn-plugin/package.json
@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-svn-plugin",
"private": true,
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"license": "MIT",
"main": "./src/main/js/index.ts",
"scripts": {
@@ -19,6 +19,6 @@
},
"prettier": "@scm-manager/prettier-config",
"dependencies": {
- "@scm-manager/ui-plugins": "^2.2.0-SNAPSHOT"
+ "@scm-manager/ui-plugins": "^2.2.0"
}
}
diff --git a/scm-plugins/scm-svn-plugin/pom.xml b/scm-plugins/scm-svn-plugin/pom.xml
index 154af84d44..26411a0289 100644
--- a/scm-plugins/scm-svn-plugin/pom.xml
+++ b/scm-plugins/scm-svn-plugin/pom.xml
@@ -31,7 +31,7 @@
scm-plugins
sonia.scm.plugins
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-svn-plugin
diff --git a/scm-server/pom.xml b/scm-server/pom.xml
index 5b4a881ad8..d8f5a9aad3 100644
--- a/scm-server/pom.xml
+++ b/scm-server/pom.xml
@@ -31,12 +31,12 @@
scm
sonia.scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-server
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-server
jar
diff --git a/scm-test/pom.xml b/scm-test/pom.xml
index 78b213f594..0444182fc3 100644
--- a/scm-test/pom.xml
+++ b/scm-test/pom.xml
@@ -31,12 +31,12 @@
scm
sonia.scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-test
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-test
@@ -50,7 +50,7 @@
sonia.scm
scm-core
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/scm-ui/pom.xml b/scm-ui/pom.xml
index 86da9d94d7..f52e9a4f21 100644
--- a/scm-ui/pom.xml
+++ b/scm-ui/pom.xml
@@ -32,13 +32,13 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-ui
war
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-ui
diff --git a/scm-ui/ui-components/package.json b/scm-ui/ui-components/package.json
index 60f9437650..ba0cd0833d 100644
--- a/scm-ui/ui-components/package.json
+++ b/scm-ui/ui-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-components",
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"description": "UI Components for SCM-Manager and its plugins",
"main": "src/index.ts",
"files": [
diff --git a/scm-ui/ui-plugins/package.json b/scm-ui/ui-plugins/package.json
index e48e8258b3..94500236e0 100644
--- a/scm-ui/ui-plugins/package.json
+++ b/scm-ui/ui-plugins/package.json
@@ -1,12 +1,12 @@
{
"name": "@scm-manager/ui-plugins",
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"license": "MIT",
"bin": {
"ui-plugins": "./bin/ui-plugins.js"
},
"dependencies": {
- "@scm-manager/ui-components": "^2.2.0-SNAPSHOT",
+ "@scm-manager/ui-components": "^2.2.0",
"@scm-manager/ui-extensions": "^2.1.0",
"classnames": "^2.2.6",
"query-string": "^5.0.1",
diff --git a/scm-ui/ui-webapp/package.json b/scm-ui/ui-webapp/package.json
index ab7a419cd8..299de2fb28 100644
--- a/scm-ui/ui-webapp/package.json
+++ b/scm-ui/ui-webapp/package.json
@@ -1,9 +1,9 @@
{
"name": "@scm-manager/ui-webapp",
- "version": "2.2.0-SNAPSHOT",
+ "version": "2.2.0",
"private": true,
"dependencies": {
- "@scm-manager/ui-components": "^2.2.0-SNAPSHOT",
+ "@scm-manager/ui-components": "^2.2.0",
"@scm-manager/ui-extensions": "^2.1.0",
"classnames": "^2.2.5",
"history": "^4.10.1",
diff --git a/scm-ui/ui-webapp/public/locales/de/admin.json b/scm-ui/ui-webapp/public/locales/de/admin.json
index 62ba36bd69..db096832eb 100644
--- a/scm-ui/ui-webapp/public/locales/de/admin.json
+++ b/scm-ui/ui-webapp/public/locales/de/admin.json
@@ -61,7 +61,7 @@
"version": "Version",
"currentVersion": "Installierte Version",
"newVersion": "Neue Version",
- "dependencyNotification": "Mit diesem Plugin werden folgende Abhängigkeiten mit installiert, wenn sie noch nicht vorhanden sind!",
+ "dependencyNotification": "Mit diesem Plugin werden folgende Abhängigkeiten mit installiert bzw. aktualisiert, wenn sie noch nicht in der aktuellen Version vorhanden sind!",
"dependencies": "Abhängigkeiten",
"installedNotification": "Das Plugin wurde erfolgreich installiert. Um Änderungen an der UI zu sehen, muss die Seite neu geladen werden:",
"updatedNotification": "Das Plugin wurde erfolgreich aktualisiert. Um Änderungen an der UI zu sehen, muss die Seite neu geladen werden:",
diff --git a/scm-ui/ui-webapp/public/locales/en/admin.json b/scm-ui/ui-webapp/public/locales/en/admin.json
index 7afad7829e..829aecf3d4 100644
--- a/scm-ui/ui-webapp/public/locales/en/admin.json
+++ b/scm-ui/ui-webapp/public/locales/en/admin.json
@@ -61,7 +61,7 @@
"version": "Version",
"currentVersion": "Installed version",
"newVersion": "New version",
- "dependencyNotification": "With this plugin, the following dependencies will be installed if they are not available yet!",
+ "dependencyNotification": "With this plugin, the following dependencies will be installed/updated if their latest versions are not installed yet!",
"dependencies": "Dependencies",
"installedNotification": "Successfully installed plugin. You have to reload the page, to see ui changes:",
"updatedNotification": "Successfully updated plugin. You have to reload the page, to see ui changes:",
diff --git a/scm-webapp/pom.xml b/scm-webapp/pom.xml
index 50ff2a3121..8ee6dba971 100644
--- a/scm-webapp/pom.xml
+++ b/scm-webapp/pom.xml
@@ -32,13 +32,13 @@
sonia.scm
scm
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-webapp
war
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
scm-webapp
@@ -48,7 +48,7 @@
sonia.scm
scm-annotation-processor
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
provided
@@ -73,13 +73,13 @@
sonia.scm
scm-core
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
sonia.scm
scm-dao-xml
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
@@ -332,7 +332,7 @@
sonia.scm
scm-test
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
@@ -394,7 +394,7 @@
sonia.scm.plugins
scm-git-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
tests
test
@@ -402,14 +402,14 @@
sonia.scm.plugins
scm-git-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
sonia.scm.plugins
scm-hg-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
tests
test
@@ -417,14 +417,14 @@
sonia.scm.plugins
scm-hg-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
sonia.scm.plugins
scm-svn-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
tests
test
@@ -432,7 +432,7 @@
sonia.scm.plugins
scm-svn-plugin
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
test
@@ -718,7 +718,7 @@
sonia.scm
scm-ui
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
war
diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginManager.java b/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginManager.java
index 9acd07641e..ef1f4e6873 100644
--- a/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginManager.java
+++ b/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginManager.java
@@ -247,18 +247,18 @@ public class DefaultPluginManager implements PluginManager {
private List collectPluginsToInstall(String name) {
List plugins = new ArrayList<>();
- collectPluginsToInstall(plugins, name, true);
+ collectPluginsToInstallOrUpdate(plugins, name);
return plugins;
}
- private void collectPluginsToInstall(List plugins, String name, boolean isUpdate) {
- if (!isInstalledOrPending(name) || isUpdate && isUpdatable(name)) {
+ private void collectPluginsToInstallOrUpdate(List plugins, String name) {
+ if (!isInstalledOrPending(name) || isUpdatable(name)) {
AvailablePlugin plugin = getAvailable(name).orElseThrow(() -> NotFoundException.notFound(entity(AvailablePlugin.class, name)));
Set dependencies = plugin.getDescriptor().getDependencies();
if (dependencies != null) {
for (String dependency : dependencies) {
- collectPluginsToInstall(plugins, dependency, false);
+ collectPluginsToInstallOrUpdate(plugins, dependency);
}
}
diff --git a/scm-webapp/src/main/java/sonia/scm/update/MigrationWizardServlet.java b/scm-webapp/src/main/java/sonia/scm/update/MigrationWizardServlet.java
index 99833c57cc..0504a62c59 100644
--- a/scm-webapp/src/main/java/sonia/scm/update/MigrationWizardServlet.java
+++ b/scm-webapp/src/main/java/sonia/scm/update/MigrationWizardServlet.java
@@ -34,8 +34,6 @@ import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.ThreadContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import sonia.scm.event.ScmEventBus;
-import sonia.scm.lifecycle.RestartEvent;
import sonia.scm.lifecycle.Restarter;
import sonia.scm.update.repository.DefaultMigrationStrategyDAO;
import sonia.scm.update.repository.MigrationStrategy;
@@ -173,6 +171,9 @@ class MigrationWizardServlet extends HttpServlet {
MustacheFactory mf = new DefaultMustacheFactory();
Mustache template = mf.compile(templateName);
+ resp.setContentType("text/html");
+ resp.setCharacterEncoding("UTF-8");
+
PrintWriter writer;
try {
writer = resp.getWriter();
diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/DefaultBranchLinkProviderTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/DefaultBranchLinkProviderTest.java
index 5e0a9d716e..1a4ca1b95e 100644
--- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/DefaultBranchLinkProviderTest.java
+++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/DefaultBranchLinkProviderTest.java
@@ -36,8 +36,6 @@ import sonia.scm.repository.RepositoryTestData;
import java.net.URI;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/IndexResourceTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/IndexResourceTest.java
index e7b654e7ee..a0876db37a 100644
--- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/IndexResourceTest.java
+++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/IndexResourceTest.java
@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
+
package sonia.scm.api.v2.resources;
import com.github.sdorra.shiro.ShiroRule;
@@ -166,7 +166,7 @@ public class IndexResourceTest {
Assertions.assertThat(index.getLinks().getLinksBy("autocomplete"))
.extracting("name")
- .doesNotContainSequence("users", "groups");
+ .isEmpty();
}
@Test
diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/DefaultPluginManagerTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/DefaultPluginManagerTest.java
index afb7c4eea1..b1b1db9efe 100644
--- a/scm-webapp/src/test/java/sonia/scm/plugin/DefaultPluginManagerTest.java
+++ b/scm-webapp/src/test/java/sonia/scm/plugin/DefaultPluginManagerTest.java
@@ -227,7 +227,7 @@ class DefaultPluginManagerTest {
}
@Test
- void shouldNotInstallAlreadyInstalledDependencies() {
+ void shouldNotInstallAlreadyInstalledDependenciesWhenUpToDate() {
AvailablePlugin review = createAvailable("scm-review-plugin");
when(review.getDescriptor().getDependencies()).thenReturn(ImmutableSet.of("scm-mail-plugin"));
AvailablePlugin mail = createAvailable("scm-mail-plugin");
@@ -244,6 +244,22 @@ class DefaultPluginManagerTest {
assertThat(captor.getValue().getDescriptor().getInformation().getName()).isEqualTo("scm-review-plugin");
}
+ @Test
+ void shouldUpdateAlreadyInstalledDependenciesWhenNewerVersionIsAvailable() {
+ AvailablePlugin review = createAvailable("scm-review-plugin");
+ when(review.getDescriptor().getDependencies()).thenReturn(ImmutableSet.of("scm-mail-plugin"));
+ AvailablePlugin mail = createAvailable("scm-mail-plugin", "1.1.0");
+ when(center.getAvailable()).thenReturn(ImmutableSet.of(review, mail));
+
+ InstalledPlugin installedMail = createInstalled("scm-mail-plugin", "1.0.0");
+ when(loader.getInstalledPlugins()).thenReturn(ImmutableList.of(installedMail));
+
+ manager.install("scm-review-plugin", false);
+
+ verify(installer).install(mail);
+ verify(installer).install(review);
+ }
+
@Test
void shouldRollbackOnFailedInstallation() {
AvailablePlugin review = createAvailable("scm-review-plugin");
diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/PluginTestHelper.java b/scm-webapp/src/test/java/sonia/scm/plugin/PluginTestHelper.java
index 1b19c4ef15..548888d6df 100644
--- a/scm-webapp/src/test/java/sonia/scm/plugin/PluginTestHelper.java
+++ b/scm-webapp/src/test/java/sonia/scm/plugin/PluginTestHelper.java
@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
+
package sonia.scm.plugin;
import org.mockito.Answers;
@@ -32,10 +32,7 @@ import static org.mockito.Mockito.when;
public class PluginTestHelper {
public static AvailablePlugin createAvailable(String name) {
- PluginInformation information = new PluginInformation();
- information.setName(name);
- information.setVersion("1.0");
- return createAvailable(information);
+ return createAvailable(name, "1.0");
}
public static AvailablePlugin createAvailable(String name, String version) {
@@ -46,9 +43,13 @@ public class PluginTestHelper {
}
public static InstalledPlugin createInstalled(String name) {
+ return createInstalled(name, "1.0");
+ }
+
+ public static InstalledPlugin createInstalled(String name, String version) {
PluginInformation information = new PluginInformation();
information.setName(name);
- information.setVersion("1.0");
+ information.setVersion(version);
return createInstalled(information);
}