From 049eed27cb13871a15759e127647be58678ce8b3 Mon Sep 17 00:00:00 2001 From: Sebastian Holtkamp Date: Tue, 23 Apr 2024 14:20:04 +0200 Subject: [PATCH 1/3] Update project to map.apps version 4.17.0 --- .github/workflows/devnet-bundle-release.yml | 3 + .vscode/extensions.json | 8 + .vscode/launch.json | 15 ++ .vscode/tasks.json | 37 ++- RELEASE.md | 2 +- src/main/config/assembly.xml | 2 +- src/main/js/bundles/dn_welcome/README.md | 14 +- .../js/bundles/dn_welcome/build.config.js | 15 ++ src/main/types/mocha-global.d.ts | 1 + src/main/types/thirdparty.d.ts | 7 + src/main/types/vue-shim.d.ts | 4 + src/support/js/check-licenses.ts | 59 +++++ src/test/webapp/WEB-INF/web.xml | 4 +- src/test/webapp/favicon.ico | Bin 1150 -> 0 bytes src/test/webapp/image.png | Bin 0 -> 170 bytes src/test/webapp/index.html | 216 +++++++++--------- src/test/webapp/js/tests/runTests.html | 14 +- src/test/webapp/login.css | 53 ++--- 18 files changed, 285 insertions(+), 169 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 src/main/types/mocha-global.d.ts create mode 100644 src/main/types/thirdparty.d.ts create mode 100644 src/main/types/vue-shim.d.ts create mode 100644 src/support/js/check-licenses.ts delete mode 100644 src/test/webapp/favicon.ico create mode 100644 src/test/webapp/image.png diff --git a/.github/workflows/devnet-bundle-release.yml b/.github/workflows/devnet-bundle-release.yml index 128585e..273d217 100644 --- a/.github/workflows/devnet-bundle-release.yml +++ b/.github/workflows/devnet-bundle-release.yml @@ -28,3 +28,6 @@ jobs: release_version: ${{ github.event.inputs.releaseVersion }} next_dev_version: ${{ github.event.inputs.nextDevVersion }} ms_teams_webhook_uri: ${{secrets.MS_TEAMS_WEBHOOK_URI}} + demo_user: ${{secrets.DEMO_USER}} + demo_user_pw: ${{secrets.DEMO_USER_PW}} + demo_url: ${{secrets.DEMO_URL}} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..67efcac --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "dbaeumer.vscode-eslint", + "Vue.volar", + "Esri.arcgis-jsapi-snippets", + "ctjdr.vscode-apprt-bundles" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..e8ab909 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "chrome", + "request": "launch", + "name": "Launch Chrome against localhost", + "url": "http://localhost:9090", + "webRoot": "${workspaceFolder}/src/main" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 93297ba..d1643d5 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -3,33 +3,54 @@ "tasks": [ { "label": "Initialize", + "detail": "Initialize map.apps for Developers project", "type": "shell", "command": "mvn initialize", "group": "build" }, { - "label": "Run HTTP Server", + "label": "Run", + "detail": "Run map.apps for Developers development server", "type": "shell", - "command": "mvn jetty:run -Denv=dev '-Dlocal.configfile=./build.properties'", - "group": "build" + "command": "mvn", + "args": ["clean", "compile", "-Denv=dev", "'-Dlocal.configfile=./build.properties'", "-Pinclude-mapapps-deps"], + "group": "build", + "isBackground": true }, { - "label": "Run stand-alone HTTP Server", + "label": "Run (Remote project mode)", + "detail": "Run map.apps for Developers development server in 'remote project' mode", "type": "shell", - "command": "mvn jetty:run -Denv=dev '-Dlocal.configfile=./build.properties' -Pinclude-mapapps-deps", - "group": "build" + "command": "mvn", + "args": ["clean", "compile", "-Denv=dev", "'-Dlocal.configfile=./build.properties'"], + "group": "build", + "isBackground": true }, { "label": "Compress", + "detail": "Prepare bundles and apps for deployment on a map.apps instance", "type": "shell", - "command": "mvn install -P compress", - "group": "build" + "command": "mvn", + "args": ["clean", "install", "-Pcompress"], + "group": "build", + "presentation": { + "reveal": "always", + "panel": "dedicated" + } }, { "label": "Clean", "type": "shell", "command": "mvn clean", "group": "build" + }, + { + "label": "Watch types", + "detail": "Start TypeScript compiler in watch mode", + "type": "npm", + "script": "watch-types", + "group": "build", + "problemMatcher": [], } ] } diff --git a/RELEASE.md b/RELEASE.md index f9ba788..e7a3ad9 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,4 @@ ✅ Tested for map.apps 4.18.0 / Linie 4 #### Release Notes -- SNAPSHOT-Release +- autogenerated SNAPSHOT-Release diff --git a/src/main/config/assembly.xml b/src/main/config/assembly.xml index 0441c06..6b234e8 100644 --- a/src/main/config/assembly.xml +++ b/src/main/config/assembly.xml @@ -34,4 +34,4 @@ . - \ No newline at end of file + diff --git a/src/main/js/bundles/dn_welcome/README.md b/src/main/js/bundles/dn_welcome/README.md index ab281a4..0dd965c 100644 --- a/src/main/js/bundles/dn_welcome/README.md +++ b/src/main/js/bundles/dn_welcome/README.md @@ -27,7 +27,7 @@ All configuration is performed on the `Config` component as show in the followin "checkboxChecked": true, "showImage": true, "imageUrl": "resource('${app}:images/welcome.jpg')", - "imageHeight": "300px" + "imageHeight": "300px" } } } @@ -36,12 +36,12 @@ All configuration is performed on the `Config` component as show in the followin All of these properties are optional. -| Property | Type | Possible values | Default | Description | -|---------------------------|---------|-------------------------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `heading` | String | | | The heading shown below the image. | -| `infoText` | String | | | The text displayed in the main content area of the window. | -| `showButton` | Boolean | `true` | `false` | `true` | Whether to show the button. If you still require a way to close the windo without using the button, you can remove `noTitleBarAndWindowTools` CSS class from the window's `windowClass` property. The window title bar containing a "close" button will then become visible. See the [templates bundle documentation](https://demos.conterra.de/mapapps/resources/jsregistry/root/templates/latest/README.md#b%3Dtemplates%3Bv%3D4.17.0%3Bf%3Dtempla%3B) for more information. | -| `buttonText` | String | | | The label of the button. | +| Property | Type | Possible values | Default | Description | +|--------------|---------|-----------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `heading` | String | | | The heading shown below the image. | +| `infoText` | String | | | The text displayed in the main content area of the window. | +| `showButton` | Boolean | `true` | `false` | `true` | Whether to show the button. If you still require a way to close the windo without using the button, you can remove `noTitleBarAndWindowTools` CSS class from the window's `windowClass` property. The window title bar containing a "close" button will then become visible. See the [templates bundle documentation](https://demos.conterra.de/mapapps/resources/jsregistry/root/templates/latest/README.md#b%3Dtemplates%3Bv%3D4.17.0%3Bf%3Dtempla%3B) for more information. | +| `buttonText` | String | | | The label of the button. | | `buttonDependsOnCheckbox` | Boolean | `true` | `false` | `false` | If `true`, the button is only enabled when the checkbox is checked. If the checkbox is not checked, the button is greyed out and cannot be clicked. Note: `showCheckbox` must be `true` for this property to have an effect. | `showCheckbox` | Boolean | `true` | `false` | `true` | Whether to show the checkbox in the window. Note: The property `buttonDependsOnCheckbox` is ignored, if `showCheckbox` is `false`. | | `checkboxText` | String | | | The label for the checkbox. | diff --git a/src/main/js/bundles/dn_welcome/build.config.js b/src/main/js/bundles/dn_welcome/build.config.js index e90b08d..7e1c0cf 100644 --- a/src/main/js/bundles/dn_welcome/build.config.js +++ b/src/main/js/bundles/dn_welcome/build.config.js @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2023 con terra GmbH (info@conterra.de) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ /// /// Copyright (C) 2023 con terra GmbH (info@conterra.de) /// diff --git a/src/main/types/mocha-global.d.ts b/src/main/types/mocha-global.d.ts new file mode 100644 index 0000000..7ae74ef --- /dev/null +++ b/src/main/types/mocha-global.d.ts @@ -0,0 +1 @@ +declare const testConfig: (opts?: Record) => void; diff --git a/src/main/types/thirdparty.d.ts b/src/main/types/thirdparty.d.ts new file mode 100644 index 0000000..476971b --- /dev/null +++ b/src/main/types/thirdparty.d.ts @@ -0,0 +1,7 @@ +/* + * Copyright (C) con terra GmbH + */ + +declare module "dojo/*"; +declare module "dijit/*"; +declare module "dojox/*"; diff --git a/src/main/types/vue-shim.d.ts b/src/main/types/vue-shim.d.ts new file mode 100644 index 0000000..d6e6b86 --- /dev/null +++ b/src/main/types/vue-shim.d.ts @@ -0,0 +1,4 @@ +declare module "*.vue" { + import Vue from "vue"; + export default Vue; +} diff --git a/src/support/js/check-licenses.ts b/src/support/js/check-licenses.ts new file mode 100644 index 0000000..9eda7f4 --- /dev/null +++ b/src/support/js/check-licenses.ts @@ -0,0 +1,59 @@ +/* + Checks licenses of node dependencies against a list of allowed licenses. + Fails with exit code != 0 and an error message if a disallowed license is encountered. + The script should be executed from the project root directory after dependencies have been installed: + + $ tsx ./src/support/js/check-licenses.ts + + To run checks yourself (e.g. to update the allow list or to get details), install + license-checker yourself and run it from the project root directory: + + $ npm install -g license-checker + $ license-checker --summary # outputs list of used licenses + $ license-checker --json # outputs details + + See also https://www.npmjs.com/package/license-checker +*/ + +import { init as initChecker } from "license-checker"; +import { cwd, exit} from "node:process"; + +// Licenses known to be OK. +const ACCEPTED_LICENSES = [ + "MIT", + "ISC", + "Apache-2.0", + "Apache 2.0", + "BSD-2-Clause", + "BSD-3-Clause", + "BSD", + "CC0-1.0", + "CC-BY-3.0", + "CC-BY-4.0", + "Python-2.0", + "Unlicense" // Note: not unlicenseD (https://opensource.org/licenses/unlicense) +]; + +// Packages with licenses that are not recognized properly by license-checker. +// These must be checked manually. +const SKIP_PACKAGES = [ + "event-stream@3.0.20", // MIT License not recognized + "taffydb@2.6.2" // BSD-1-Clause License in source code +]; + +initChecker( + { + start: cwd(), + onlyAllow: ACCEPTED_LICENSES.join(";"), + excludePackages: SKIP_PACKAGES.join(";") + }, + (error, packages) => { + void packages; // currently unused + + if (error) { + console.error("Error: ", error); + exit(1); + } + exit(0); + } +); diff --git a/src/test/webapp/WEB-INF/web.xml b/src/test/webapp/WEB-INF/web.xml index ad0e586..fc35e73 100644 --- a/src/test/webapp/WEB-INF/web.xml +++ b/src/test/webapp/WEB-INF/web.xml @@ -26,8 +26,8 @@ --> default - useFileMappedBuffer - false + useFileMappedBuffer + false diff --git a/src/test/webapp/favicon.ico b/src/test/webapp/favicon.ico deleted file mode 100644 index 9728155fbe6052eb090d784786fa82fb6aba0100..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYJ0^&l9`2NM7P{~vZZY;92# z5T69%Ur-EUM-k&!pt`9*{2vFNiq8y?9XRwMn}^dKK)oP$BCEy5K8ec>K)oRUV$*{x z_KSx4DRnj diff --git a/src/test/webapp/image.png b/src/test/webapp/image.png new file mode 100644 index 0000000000000000000000000000000000000000..c11109ff99983c47a143852fc6b436938224222a GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|QaoK8Lo5W7 z6C~y>D9FtSxp-^CWY_G&b&elBCrAYD(~Xlh+nSMkqdrGMrTx0Vin9@>hk1^?7Fx0S zqZC6>^JUS1|3XF&#C>@gT5S}?AADmv+Q{)q+Vvs_x6BIf6W$&M&TV|W3z?wJ R_yn|%!PC{xWt~$(696-!IW+(P literal 0 HcmV?d00001 diff --git a/src/test/webapp/index.html b/src/test/webapp/index.html index a96bb15..3095995 100644 --- a/src/test/webapp/index.html +++ b/src/test/webapp/index.html @@ -18,117 +18,117 @@ - - - - - - - - - - - - - - - - map.apps sample - - + - - -
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ var url = rule[1] || proxyUrl; + proxyrules.push({ + origin: origin, + proxyUrl: url + }); + }); + var trustedServers = "@@cors.request.trustedServers@@".split(/\s*,\s*/) + .filter(function(item){ return item && item.match(/^[^@.].*$/)}); + $apprt.changeConfig({ + isDebug: true, + has: { + "ct-debug": true, + "ct-log-deprecations": true + }, + ct: { + amdPackages: ["apprt@^@@apprt.version@@"], + preFetchBundles: false + }, + apprt: { + request: { + trustedServers: trustedServers, + proxyUrl: proxyUrl, + proxyRules: proxyrules + } + }, + packages: [ + // add local apps directory as amd package + { name: "localapps", location: "@@applicationURL.noscheme@@/js/apps" }, + // add local bundles directory as amd package + { name: "localbundles", location: "@@jsregistry.root.url@@" } + ] + }); + $apprt.startApp({ + configLocation: "localapps", + param: "app", + defaultApp: "@@default.app.name@@" + }); + + + +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ +

+
+
+

 

+
-
-

- -

-
-
-

 

-
+
-
- -
- + diff --git a/src/test/webapp/js/tests/runTests.html b/src/test/webapp/js/tests/runTests.html index 12c07ed..d3f0a10 100644 --- a/src/test/webapp/js/tests/runTests.html +++ b/src/test/webapp/js/tests/runTests.html @@ -17,11 +17,11 @@ --> - - Tests - - - -Redirecting to test runner. - + + Tests + + + + Redirecting to test runner. + diff --git a/src/test/webapp/login.css b/src/test/webapp/login.css index a2f498c..3976a7d 100644 --- a/src/test/webapp/login.css +++ b/src/test/webapp/login.css @@ -23,102 +23,86 @@ background-color: #48484B; border: none; color: #fff; - -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25); - box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25) ; + -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25) ; + box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25) ; font-size: .688em; padding: 0; } - -.start.notheme .esriSignInDialog .dijitDialogTitleBar { +.start.notheme .esriSignInDialog .dijitDialogTitleBar{ background-color: #2C2D2E; font-size: 1.5em; padding: 5px 8px; cursor: move; } - -.start.notheme .esriSignInDialog .dijitDialogCloseIcon { +.start.notheme .esriSignInDialog .dijitDialogCloseIcon{ float: right; cursor: pointer; position: relative; top: -2px; right: 1px; } - -.start.notheme .esriSignInDialog .dijitDialogPaneContentArea { +.start.notheme .esriSignInDialog .dijitDialogPaneContentArea{ padding: 5px 7px 4px 7px; } - -.start.notheme .esriSignInDialog .dijitDialogPaneActionBar { +.start.notheme .esriSignInDialog .dijitDialogPaneActionBar{ padding: 5px 8px 14px; text-align: right; } - -.start.notheme .esriSignInDialog .dijitButtonNode { +.start.notheme .esriSignInDialog .dijitButtonNode{ padding: 4px 12px; color: #fff; font-weight: bold; background-color: #12A5F4; } - -.start.notheme .dijitDialogPaneActionBar .dijitButton:last-child .dijitButtonNode { +.start.notheme .dijitDialogPaneActionBar .dijitButton:last-child .dijitButtonNode{ background: #7C7C7C; } - -.start.notheme .esriSignInDialog .dijitButtonHover .dijitButtonNode { +.start.notheme .esriSignInDialog .dijitButtonHover .dijitButtonNode{ background-color: #2AAEF5; } - .start.notheme .esriSignInDialog .dijitTextBox { background-color: #FFF; - -webkit-box-sizing: border-box; + -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border: 1px solid #48484B; color: #000; margin-top: 3px; } - .start.notheme .esriSignInDialog .dijitTextBox .dijitInputField { padding-left: 5px; } - .start.notheme .esriSignInDialog .dijitInputInner { border: 0 !important; vertical-align: middle !important; background-color: transparent !important; width: 100% !important; } - -.start.notheme .esriSignInDialog .dijitTextBox .dijitInputInner { +.start.notheme .esriSignInDialog .dijitTextBox .dijitInputInner{ padding: 1px 2px 1px 0; outline: none; } - .start.notheme .esriSignInDialog .dijitTextBox .dijitValidationContainer, .start.notheme .esriSignInDialog .dijitToggleButtonIconChar { display: none !important; } - -.start.notheme .dijitButton { +.start.notheme .dijitButton{ margin: 0.2em; vertical-align: middle; cursor: pointer; } - .start.notheme .dijitOffScreen { position: absolute; left: 50%; top: -10000px; } - -.start.notheme .esriSignInDialog .esriErrorMsg { +.start.notheme .esriSignInDialog .esriErrorMsg{ background: #C0392B; padding: 3px; } - -.start.notheme .esriSignInDialog .dijitTextBoxHover, -.start.notheme .esriSignInDialog .dijitTextBoxFocused { +.start.notheme .esriSignInDialog .dijitTextBoxHover, +.start.notheme .esriSignInDialog .dijitTextBoxFocused{ border-color: #12A5F4; -ms-transition-duration: .1s; -moz-transition-duration: .1s; @@ -127,12 +111,11 @@ transition-duration: .1s; } -.start.notheme .esriSignInDialog .dijitTextBoxError { +.start.notheme .esriSignInDialog .dijitTextBoxError{ border-color: #C0392B; border-right-width: 10px; position: relative; } - .start.notheme .esriSignInDialog .dijitTextBoxError:after { content: '!'; position: absolute; @@ -144,6 +127,6 @@ /*IE and FF calculates the textbox input smaller so that the surround error container doesn't fit'*/ .dj_ie .start.notheme .dijitInputInner, -.dj_gecko .start.notheme .dijitInputInner { +.dj_gecko .start.notheme .dijitInputInner{ height: 22px; } From f03bcb1fe6d3cc9cd67e74be20ba55eda48e287f Mon Sep 17 00:00:00 2001 From: Sebastian Holtkamp Date: Tue, 23 Apr 2024 14:21:03 +0200 Subject: [PATCH 2/3] Reset version to 1.4.1-SNAPSHOT --- pom.xml | 2 +- src/main/js/bundles/dn_welcome/manifest.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ad2b760..78c3144 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 4.0.0 de.conterra.devnet mapapps-welcome - 2.0.0-SNAPSHOT + 1.4.1-SNAPSHOT jar diff --git a/src/main/js/bundles/dn_welcome/manifest.json b/src/main/js/bundles/dn_welcome/manifest.json index e964a7f..932aaeb 100644 --- a/src/main/js/bundles/dn_welcome/manifest.json +++ b/src/main/js/bundles/dn_welcome/manifest.json @@ -1,6 +1,6 @@ { "name": "dn_welcome", - "version": "2.0.0-SNAPSHOT", + "version": "1.4.1-SNAPSHOT", "title": "${bundleName}", "description": "${bundleDescription}", "i18n": ["bundle"], From b4771d3421e854422c3bbcb292c002335c9b4ef8 Mon Sep 17 00:00:00 2001 From: Sebastian Holtkamp Date: Tue, 23 Apr 2024 14:22:30 +0200 Subject: [PATCH 3/3] Increase inception year to 2024 --- build.properties | 2 +- gulpfile.js | 2 +- pom.xml | 4 ++-- src/main/config/assembly.xml | 2 +- src/main/js/apps/sample/app.js | 2 +- src/main/js/apps/sample/nls/bundle.js | 2 +- src/main/js/apps/sample/nls/de/bundle.js | 2 +- src/main/js/bundles/dn_welcome/Config.ts | 2 +- src/main/js/bundles/dn_welcome/WelcomeWidget.ts.vue | 2 +- src/main/js/bundles/dn_welcome/WelcomeWidgetFactory.ts | 2 +- src/main/js/bundles/dn_welcome/build.config.js | 2 +- src/main/js/bundles/dn_welcome/css/styles.css | 2 +- src/main/js/bundles/dn_welcome/module.ts | 2 +- src/main/js/bundles/dn_welcome/nls/bundle.js | 2 +- src/main/js/bundles/dn_welcome/nls/de/bundle.js | 2 +- src/main/js/bundles/dn_welcome/tests/all.js | 2 +- src/test/resources/application.properties | 2 +- src/test/webapp/index.html | 2 +- src/test/webapp/init.css | 2 +- src/test/webapp/js/tests/init-packs.js | 2 +- src/test/webapp/js/tests/runTests.html | 2 +- src/test/webapp/js/tests/test-init.js | 2 +- src/test/webapp/login.css | 2 +- 23 files changed, 24 insertions(+), 24 deletions(-) diff --git a/build.properties b/build.properties index e97229c..8f06767 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ # -# Copyright (C) 2023 con terra GmbH (info@conterra.de) +# Copyright (C) 2024 con terra GmbH (info@conterra.de) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/gulpfile.js b/gulpfile.js index 334562f..55aaa10 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 con terra GmbH (info@conterra.de) + * Copyright (C) 2024 con terra GmbH (info@conterra.de) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/pom.xml b/pom.xml index 78c3144..942dc9d 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,7 @@