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); }