@genesislcap/blank-app-seed 1.5.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.genx/package.json +1 -1
- package/.genx/prompts/server.js +10 -1
- package/.genx/prompts.js +2 -1
- package/.genx/tests/fixtures/testapp/docker-compose.yml +1 -1
- package/.genx/versions.json +3 -3
- package/.github/CODEOWNERS +1 -1
- package/.github/workflows/build.yml +2 -3
- package/.github/workflows/release.yml +4 -1
- package/.gitignore +107 -0
- package/.releaserc +1 -1
- package/CHANGELOG.md +18 -0
- package/build.gradle.kts +1 -1
- package/client/package.json +6 -2
- package/docker-compose.yml +1 -11
- package/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/gradle.properties +1 -1
- package/gradlew +7 -7
- package/gradlew.bat +0 -0
- package/package.json +1 -1
- package/server/README.md +13 -0
- package/server/{jvm/build.gradle.kts → build.gradle.kts} +1 -14
- package/server/{jvm/gradle → gradle}/wrapper/gradle-wrapper.properties +1 -1
- package/server/gradle.properties +15 -0
- package/server/{jvm/gradlew → gradlew} +7 -7
- package/server/{jvm/gradlew.bat → gradlew.bat} +0 -0
- package/server/{jvm/settings.gradle.kts → settings.gradle.kts} +24 -31
- package/server/{{appName}}-app/build.gradle.kts +20 -0
- package/server/{jvm/{{appName}}-site-specific/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/genesis-system-definition.kts +8 -11
- package/server/{{appName}}-app/src/main/genesis/cfg/{{appName}}-processes.xml +93 -0
- package/server/{{appName}}-app/src/main/genesis/cfg/{{appName}}-service-definitions.xml +23 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-consolidator.kts +19 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-data-pipeline.kts +19 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-dataserver.kts +19 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-eventhandler.kts +19 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-reqrep.kts +19 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-streamer-client.kts +19 -0
- package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-streamer.kts +19 -0
- package/settings.gradle.kts +1 -31
- package/server/jvm/README.md +0 -27
- package/server/jvm/docker-scripts/configureDB.sh +0 -12
- package/server/jvm/docker-scripts/docker-entrypoint.sh +0 -7
- package/server/jvm/docker-scripts/genesisInstall.sh +0 -5
- package/server/jvm/docker-scripts/remap.sh +0 -23
- package/server/jvm/gradle.properties +0 -10
- package/server/jvm/{{appName}}-config/build.gradle.kts +0 -8
- package/server/jvm/{{appName}}-config/src/main/kotlin/donotdelete.txt +0 -1
- package/server/jvm/{{appName}}-config/src/main/resources/cfg/{{appName}}-processes.xml +0 -15
- package/server/jvm/{{appName}}-config/src/main/resources/cfg/{{appName}}-service-definitions.xml +0 -15
- package/server/jvm/{{appName}}-deploy/build.gradle.kts +0 -35
- package/server/jvm/{{appName}}-dictionary-cache/build.gradle.kts +0 -13
- package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-dao/build.gradle.kts +0 -1
- package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-fields/build.gradle.kts +0 -1
- package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-hft/build.gradle.kts +0 -1
- package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-sysdef/build.gradle.kts +0 -1
- package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-view/build.gradle.kts +0 -1
- package/server/jvm/{{appName}}-distribution/build.gradle.kts +0 -97
- package/server/jvm/{{appName}}-eventhandler/build.gradle.kts +0 -13
- package/server/jvm/{{appName}}-eventhandler/src/test/resources/GenesisHome/donotdelete.txt +0 -0
- package/server/jvm/{{appName}}-messages/build.gradle.kts +0 -6
- package/server/jvm/{{appName}}-messages/src/main/kotlin/global/genesis/message/common/readme.md +0 -1
- package/server/jvm/{{appName}}-messages/src/main/kotlin/global/genesis/message/event/readme.md +0 -1
- package/server/jvm/{{appName}}-messages/src/main/kotlin/global/genesis/message/request/readme.md +0 -1
- package/server/jvm/{{appName}}-messages/src/main/resources/META-INF/global/genesis/message/product-info +0 -1
- package/server/jvm/{{appName}}-script-config/build.gradle.kts +0 -16
- package/server/jvm/{{appName}}-script-config/src/main/kotlin/donotdelete.txt +0 -1
- package/server/jvm/{{appName}}-script-config/src/main/resources/scripts/{{appName}}-dataserver.kts +0 -13
- package/server/jvm/{{appName}}-script-config/src/main/resources/scripts/{{appName}}-eventhandler.kts +0 -13
- package/server/jvm/{{appName}}-script-config/src/main/resources/scripts/{{appName}}-reqrep.kts +0 -13
- package/server/jvm/{{appName}}-script-config/src/test/kotlin/GenesisTestSupportTest.kt +0 -23
- package/server/jvm/{{appName}}-script-config/src/test/resources/GenesisHome/donotdelete.txt +0 -0
- package/server/jvm/{{appName}}-site-specific/README.md +0 -3
- package/server/jvm/{{appName}}-site-specific/build.gradle.kts +0 -114
- package/server/jvm/{{appName}}-site-specific/src/main/kotlin/donotdelete.txt +0 -1
- package/server/nginx/Dockerfile +0 -5
- package/server/nginx/cert.crt +0 -20
- package/server/nginx/cert.key +0 -27
- package/server/nginx/default.conf +0 -40
- /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-fields-dictionary.kts +0 -0
- /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-processes.xml +0 -0
- /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-service-definitions.xml +0 -0
- /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-tables-dictionary.kts +0 -0
- /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-script-config/src/main/resources → testapp-app/src/main/genesis}/scripts/testapp-dataserver.kts +0 -0
- /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-script-config/src/main/resources → testapp-app/src/main/genesis}/scripts/testapp-eventhandler.kts +0 -0
- /package/server/{jvm/gradle → gradle}/wrapper/gradle-wrapper.jar +0 -0
- /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-fields-dictionary.kts +0 -0
- /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-system-definition.kts +0 -0
- /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-tables-dictionary.kts +0 -0
- /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-view-dictionary.kts +0 -0
- /package/server/{jvm/{{appName}}-site-specific/src/main/resources/data/user.csv → {{appName}}-app/src/main/genesis/data/USER.csv} +0 -0
package/.genx/package.json
CHANGED
package/.genx/prompts/server.js
CHANGED
|
@@ -3,7 +3,8 @@ const {mavenArtifactVersionRegex} = require('./validators');
|
|
|
3
3
|
module.exports = async (inquirer, prevAns = {}) => {
|
|
4
4
|
const {
|
|
5
5
|
groupId = prevAns.groupId,
|
|
6
|
-
applicationVersion = prevAns.applicationVersion
|
|
6
|
+
applicationVersion = prevAns.applicationVersion,
|
|
7
|
+
enableDeployPlugin = prevAns.enableDeployPlugin
|
|
7
8
|
} = await inquirer.prompt([
|
|
8
9
|
{
|
|
9
10
|
name: 'groupId',
|
|
@@ -20,9 +21,17 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
20
21
|
default:'1.0.0-SNAPSHOT',
|
|
21
22
|
validate: mavenArtifactVersionRegex
|
|
22
23
|
},
|
|
24
|
+
{
|
|
25
|
+
name: 'enableDeployPlugin',
|
|
26
|
+
type: 'confirm',
|
|
27
|
+
message: 'Enable deploy plugin?',
|
|
28
|
+
when: prevAns.enableDeployPlugin === undefined,
|
|
29
|
+
default: prevAns.enableDeployPlugin || false
|
|
30
|
+
},
|
|
23
31
|
]);
|
|
24
32
|
return {
|
|
25
33
|
groupId,
|
|
26
34
|
applicationVersion,
|
|
35
|
+
enableDeployPlugin,
|
|
27
36
|
};
|
|
28
37
|
};
|
package/.genx/prompts.js
CHANGED
|
@@ -11,12 +11,13 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
11
11
|
License: ${license}`);
|
|
12
12
|
|
|
13
13
|
const {apiHost, enableSSO} = await apiPrompts(inquirer, prevAns)
|
|
14
|
-
const {groupId, applicationVersion} = await genesisServerPrompts(inquirer, prevAns);
|
|
14
|
+
const {groupId, applicationVersion, enableDeployPlugin} = await genesisServerPrompts(inquirer, prevAns);
|
|
15
15
|
|
|
16
16
|
return {
|
|
17
17
|
apiHost,
|
|
18
18
|
enableSSO,
|
|
19
19
|
groupId,
|
|
20
20
|
applicationVersion,
|
|
21
|
+
enableDeployPlugin,
|
|
21
22
|
};
|
|
22
23
|
};
|
package/.genx/versions.json
CHANGED
package/.github/CODEOWNERS
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# for reference see https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners#example-of-a-codeowners-file
|
|
2
2
|
|
|
3
|
-
* @cistov @derekdon @MrBrunoWolff @skawian @kievitsp @jacinpoz
|
|
3
|
+
* @cistov @derekdon @MrBrunoWolff @skawian @kievitsp @jacinpoz @khouari1
|
|
@@ -2,7 +2,6 @@ name: Build
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
|
-
branches: [main, master, develop, alpha]
|
|
6
5
|
pull_request:
|
|
7
6
|
branches: [main, master, develop, alpha]
|
|
8
7
|
workflow_dispatch:
|
|
@@ -37,7 +36,7 @@ jobs:
|
|
|
37
36
|
|
|
38
37
|
- name: Generate sample app
|
|
39
38
|
working-directory: /tmp
|
|
40
|
-
run: npx -y @genesislcap/genx@latest init testapp -s "${{github.workspace}}" -x
|
|
39
|
+
run: npx -y @genesislcap/genx@latest init testapp -s "${{github.workspace}}" -x --enableDeployPlugin
|
|
41
40
|
|
|
42
41
|
- name: Copy fixtures
|
|
43
42
|
run: cp -R ./.genx/tests/fixtures/testapp/* /tmp/testapp
|
|
@@ -60,7 +59,7 @@ jobs:
|
|
|
60
59
|
|
|
61
60
|
- name: Create Server Dockerfile
|
|
62
61
|
working-directory: /tmp/testapp
|
|
63
|
-
run: ./gradlew :
|
|
62
|
+
run: ./gradlew :server:testapp-app:createDockerfile -PclientSpecific=true
|
|
64
63
|
|
|
65
64
|
- name: Build Docker images
|
|
66
65
|
working-directory: /tmp/testapp
|
|
@@ -26,7 +26,10 @@ jobs:
|
|
|
26
26
|
npm run release
|
|
27
27
|
|
|
28
28
|
- name: Generate .npmignore
|
|
29
|
-
run: cp .gitignore .npmignore && echo '
|
|
29
|
+
run: cp .gitignore .npmignore && echo '!.gitignore' >> .npmignore && cat .npmignore
|
|
30
|
+
|
|
31
|
+
- name: NPM pack dry-run
|
|
32
|
+
run: npm pack -dry
|
|
30
33
|
|
|
31
34
|
- name: Publish
|
|
32
35
|
uses: JS-DevTools/npm-publish@v3
|
package/.gitignore
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Root and server specific
|
|
2
|
+
|
|
3
|
+
# Logs
|
|
4
|
+
logs
|
|
5
|
+
*.log
|
|
6
|
+
|
|
7
|
+
# Runtime data
|
|
8
|
+
pids
|
|
9
|
+
*.pid
|
|
10
|
+
*.seed
|
|
11
|
+
*.pid.lock
|
|
12
|
+
|
|
13
|
+
# Output of 'npm pack'
|
|
14
|
+
*.tgz
|
|
15
|
+
|
|
16
|
+
# dotenv environment variables file
|
|
17
|
+
.env
|
|
18
|
+
.env.*
|
|
19
|
+
|
|
20
|
+
# Editor directories and files
|
|
21
|
+
.idea
|
|
22
|
+
.vscode
|
|
23
|
+
!.vscode/settings.json
|
|
24
|
+
*.suo
|
|
25
|
+
*.ntvs*
|
|
26
|
+
*.njsproj
|
|
27
|
+
*.sln
|
|
28
|
+
*.sw?
|
|
29
|
+
.DS_Store
|
|
30
|
+
|
|
31
|
+
# Development
|
|
32
|
+
target/
|
|
33
|
+
.settings/
|
|
34
|
+
.project
|
|
35
|
+
.classpath
|
|
36
|
+
*.ignore
|
|
37
|
+
*.iml
|
|
38
|
+
*~
|
|
39
|
+
.gradle
|
|
40
|
+
**/build/
|
|
41
|
+
!src/**/build/
|
|
42
|
+
client/bootstrapDone
|
|
43
|
+
.husky/.gitignore
|
|
44
|
+
build-cache/
|
|
45
|
+
|
|
46
|
+
# Ignore Gradle GUI config
|
|
47
|
+
gradle-app.setting
|
|
48
|
+
|
|
49
|
+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
|
50
|
+
!gradle-wrapper.jar
|
|
51
|
+
|
|
52
|
+
# Cache of project
|
|
53
|
+
.gradletasknamecache
|
|
54
|
+
|
|
55
|
+
# Dependency directories
|
|
56
|
+
node_modules
|
|
57
|
+
|
|
58
|
+
# Intellij plugin folder
|
|
59
|
+
.genesis-home
|
|
60
|
+
|
|
61
|
+
# Client
|
|
62
|
+
|
|
63
|
+
# Logs
|
|
64
|
+
npm-debug.log*
|
|
65
|
+
yarn-debug.log*
|
|
66
|
+
yarn-error.log*
|
|
67
|
+
|
|
68
|
+
# Output
|
|
69
|
+
client/dist/
|
|
70
|
+
|
|
71
|
+
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
72
|
+
client/lib-cov
|
|
73
|
+
|
|
74
|
+
# Coverage directory used by tools like istanbul
|
|
75
|
+
client/coverage
|
|
76
|
+
|
|
77
|
+
# Coverage files
|
|
78
|
+
coverage.lcov
|
|
79
|
+
|
|
80
|
+
# nyc test coverage
|
|
81
|
+
.nyc_output
|
|
82
|
+
|
|
83
|
+
# Optional npm cache directory
|
|
84
|
+
.npm
|
|
85
|
+
|
|
86
|
+
# Optional eslint cache
|
|
87
|
+
.eslintcache
|
|
88
|
+
|
|
89
|
+
# Optional REPL history
|
|
90
|
+
.node_repl_history
|
|
91
|
+
|
|
92
|
+
# lerna backups
|
|
93
|
+
package.json.lerna_backup
|
|
94
|
+
|
|
95
|
+
# custom elements metadata
|
|
96
|
+
custom-elements.json
|
|
97
|
+
|
|
98
|
+
# TypeScript incremental compilation cache
|
|
99
|
+
*.tsbuildinfo
|
|
100
|
+
.rollup.cache
|
|
101
|
+
|
|
102
|
+
# User files that may contain sensitive tokens etc.
|
|
103
|
+
.npmrc
|
|
104
|
+
|
|
105
|
+
# Gradle tasks
|
|
106
|
+
.bootstrapDone
|
|
107
|
+
.tests.executed
|
package/.releaserc
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v1.5.5...v2.0.0) (2024-03-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* simplified server folder structure
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* simplified server folder structure (DVOP-620) (#133) 17a58c4
|
|
13
|
+
|
|
14
|
+
## [1.5.5](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v1.5.4...v1.5.5) (2024-02-01)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* ensure .gitignore is included in NPM artifact [PSD-47](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/47) (#124) c9e2d78
|
|
20
|
+
|
|
3
21
|
## [1.5.4](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v1.5.3...v1.5.4) (2024-02-01)
|
|
4
22
|
|
|
5
23
|
|
package/build.gradle.kts
CHANGED
package/client/package.json
CHANGED
|
@@ -68,12 +68,16 @@
|
|
|
68
68
|
},
|
|
69
69
|
"prettier": "@genesislcap/prettier-config",
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@genesiscommunitysuccess/cep-fast-plugin": "
|
|
72
|
-
"@genesiscommunitysuccess/custom-elements-lsp": "
|
|
71
|
+
"@genesiscommunitysuccess/cep-fast-plugin": "5.0.3",
|
|
72
|
+
"@genesiscommunitysuccess/custom-elements-lsp": "5.0.3",
|
|
73
73
|
"@genesislcap/design-system-configurator": "{{versions.UI}}",
|
|
74
74
|
"@genesislcap/eslint-config": "{{versions.UI}}",
|
|
75
75
|
"@genesislcap/foundation-testing": "{{versions.UI}}",
|
|
76
76
|
"@genesislcap/genx": "{{versions.UI}}",
|
|
77
|
+
"@genesislcap/eslint-stylelint-builder": "{{versions.UI}}",
|
|
78
|
+
"@genesislcap/uvu-playwright-builder": "{{versions.UI}}",
|
|
79
|
+
"@genesislcap/vite-builder": "{{versions.UI}}",
|
|
80
|
+
"@genesislcap/webpack-builder": "{{versions.UI}}",
|
|
77
81
|
"@genesislcap/prettier-config": "{{versions.UI}}",
|
|
78
82
|
"@genesislcap/stylelint-config": "{{versions.UI}}",
|
|
79
83
|
"@types/node": "20.11.5",
|
package/docker-compose.yml
CHANGED
|
@@ -4,7 +4,7 @@ services:
|
|
|
4
4
|
tty: true
|
|
5
5
|
container_name: gsf
|
|
6
6
|
build:
|
|
7
|
-
context: server/
|
|
7
|
+
context: server/{{appName}}-app/build/docker/
|
|
8
8
|
dockerfile: Dockerfile
|
|
9
9
|
networks:
|
|
10
10
|
qs_network:
|
|
@@ -15,16 +15,6 @@ services:
|
|
|
15
15
|
- '1337:22'
|
|
16
16
|
- '5432:5432'
|
|
17
17
|
- '4569:4569'
|
|
18
|
-
nginx-proxy:
|
|
19
|
-
ports:
|
|
20
|
-
- '80:80'
|
|
21
|
-
- '443:443'
|
|
22
|
-
container_name: nginx
|
|
23
|
-
build:
|
|
24
|
-
context: server/nginx/
|
|
25
|
-
dockerfile: Dockerfile
|
|
26
|
-
networks:
|
|
27
|
-
- qs_network
|
|
28
18
|
frontend:
|
|
29
19
|
container_name: frontend
|
|
30
20
|
build:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
|
4
4
|
networkTimeout=10000
|
|
5
5
|
validateDistributionUrl=true
|
|
6
6
|
zipStoreBase=GRADLE_USER_HOME
|
package/gradle.properties
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
kotlin.code.style=official
|
|
2
2
|
org.gradle.jvmargs=-Xmx6g -Xss512k -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:+UseStringDeduplication -XX:ReservedCodeCacheSize=512m -Dkotlin.daemon.jvm.options=-Xmx2g -Dfile.encoding=UTF-8
|
|
3
|
-
org.gradle.caching=true
|
|
3
|
+
org.gradle.caching=true
|
package/gradlew
CHANGED
|
@@ -145,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
|
145
145
|
case $MAX_FD in #(
|
|
146
146
|
max*)
|
|
147
147
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
|
148
|
-
# shellcheck disable=
|
|
148
|
+
# shellcheck disable=SC3045
|
|
149
149
|
MAX_FD=$( ulimit -H -n ) ||
|
|
150
150
|
warn "Could not query maximum file descriptor limit"
|
|
151
151
|
esac
|
|
@@ -153,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
|
153
153
|
'' | soft) :;; #(
|
|
154
154
|
*)
|
|
155
155
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
|
156
|
-
# shellcheck disable=
|
|
156
|
+
# shellcheck disable=SC3045
|
|
157
157
|
ulimit -n "$MAX_FD" ||
|
|
158
158
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
159
159
|
esac
|
|
@@ -202,11 +202,11 @@ fi
|
|
|
202
202
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
|
203
203
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
|
204
204
|
|
|
205
|
-
# Collect all arguments for the java command
|
|
206
|
-
# * DEFAULT_JVM_OPTS, JAVA_OPTS,
|
|
207
|
-
# and
|
|
208
|
-
#
|
|
209
|
-
#
|
|
205
|
+
# Collect all arguments for the java command;
|
|
206
|
+
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
|
207
|
+
# shell script including quotes and variable substitutions, so put them in
|
|
208
|
+
# double quotes to make sure that they get re-expanded; and
|
|
209
|
+
# * put everything else in single quotes, so that it's not re-expanded.
|
|
210
210
|
|
|
211
211
|
set -- \
|
|
212
212
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
package/gradlew.bat
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/server/README.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Genesis Product Server
|
|
2
|
+
|
|
3
|
+
## Project structure
|
|
4
|
+
|
|
5
|
+
The blank-app-seed project has now been converted to a Simplified project structure and the old project structure is now referred to as Legacy.
|
|
6
|
+
The {{appName}}-app module is the server's main module and, as a minimum, is the only one required.
|
|
7
|
+
All of the project's server code can be put in this module including configuration files, GPAL scripts and other Java/Kotlin code.
|
|
8
|
+
|
|
9
|
+
By default, the main module will be detected by a module ending with -app.
|
|
10
|
+
You can use the Genesis Gradle Settings plugin property `mainModuleName` to specify a custom name.
|
|
11
|
+
The Genesis Settings plugin is configured in server/settings.gradle.kts with the `genesis` extension.
|
|
12
|
+
|
|
13
|
+
For more details on project structures, see the [docs](https://learn.genesis.global/docs/operations/project-structure/introduction/).
|
|
@@ -1,25 +1,12 @@
|
|
|
1
1
|
ext.set("localDaogenVersion", "{{localGenId}}")
|
|
2
2
|
|
|
3
3
|
plugins {
|
|
4
|
-
kotlin("jvm") version "1.9.10"
|
|
5
4
|
`maven-publish`
|
|
6
|
-
id("global.genesis.build")
|
|
7
5
|
}
|
|
8
6
|
|
|
9
|
-
subprojects
|
|
10
|
-
apply(plugin = "org.jetbrains.kotlin.jvm")
|
|
7
|
+
subprojects {
|
|
11
8
|
apply(plugin = "org.gradle.maven-publish")
|
|
12
9
|
|
|
13
|
-
val junitVersion = "5.10.0"
|
|
14
|
-
dependencies {
|
|
15
|
-
implementation(platform("global.genesis:genesis-bom:${properties["genesisVersion"]}"))
|
|
16
|
-
testImplementation(kotlin("test"))
|
|
17
|
-
constraints {
|
|
18
|
-
// define versions of your dependencies here so that submodules do not have to define versions
|
|
19
|
-
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
|
|
20
|
-
testImplementation("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
10
|
tasks {
|
|
24
11
|
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|
|
25
12
|
kotlinOptions {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
|
4
4
|
networkTimeout=10000
|
|
5
5
|
validateDistributionUrl=true
|
|
6
6
|
zipStoreBase=GRADLE_USER_HOME
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
bundleGeneratedClasses=true
|
|
2
|
+
org.gradle.jvmargs=-Xmx6g -Xss512k -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:+UseStringDeduplication -XX:ReservedCodeCacheSize=512m -Dkotlin.daemon.jvm.options=-Xmx2g -Dfile.encoding=UTF-8
|
|
3
|
+
enableDockerTasks=true
|
|
4
|
+
dockerCompactProcesses=true
|
|
5
|
+
genesisVersion={{ versions.GSF }}
|
|
6
|
+
authVersion={{ versions.Auth }}
|
|
7
|
+
|
|
8
|
+
# Default ssh config for the docker dev environment
|
|
9
|
+
genesis-home=/app/run
|
|
10
|
+
ssh-username=genesis
|
|
11
|
+
ssh-password=genesis
|
|
12
|
+
ssh-host=localhost
|
|
13
|
+
ssh-port=1337
|
|
14
|
+
|
|
15
|
+
enableDockerContainerTasks=true
|
|
@@ -145,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
|
145
145
|
case $MAX_FD in #(
|
|
146
146
|
max*)
|
|
147
147
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
|
148
|
-
# shellcheck disable=
|
|
148
|
+
# shellcheck disable=SC3045
|
|
149
149
|
MAX_FD=$( ulimit -H -n ) ||
|
|
150
150
|
warn "Could not query maximum file descriptor limit"
|
|
151
151
|
esac
|
|
@@ -153,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
|
153
153
|
'' | soft) :;; #(
|
|
154
154
|
*)
|
|
155
155
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
|
156
|
-
# shellcheck disable=
|
|
156
|
+
# shellcheck disable=SC3045
|
|
157
157
|
ulimit -n "$MAX_FD" ||
|
|
158
158
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
159
159
|
esac
|
|
@@ -202,11 +202,11 @@ fi
|
|
|
202
202
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
|
203
203
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
|
204
204
|
|
|
205
|
-
# Collect all arguments for the java command
|
|
206
|
-
# * DEFAULT_JVM_OPTS, JAVA_OPTS,
|
|
207
|
-
# and
|
|
208
|
-
#
|
|
209
|
-
#
|
|
205
|
+
# Collect all arguments for the java command;
|
|
206
|
+
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
|
207
|
+
# shell script including quotes and variable substitutions, so put them in
|
|
208
|
+
# double quotes to make sure that they get re-expanded; and
|
|
209
|
+
# * put everything else in single quotes, so that it's not re-expanded.
|
|
210
210
|
|
|
211
211
|
set -- \
|
|
212
212
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
|
File without changes
|
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
rootProject.name = "genesisproduct-{{appName}}"
|
|
2
2
|
|
|
3
|
-
buildCache {
|
|
4
|
-
local {
|
|
5
|
-
directory = File(rootDir.parentFile.parent, "build-cache")
|
|
6
|
-
removeUnusedEntriesAfterDays = 30
|
|
7
|
-
isEnabled = true
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
3
|
pluginManagement {
|
|
12
4
|
pluginManagement {
|
|
13
5
|
val genesisVersion: String by settings
|
|
14
|
-
|
|
6
|
+
|
|
15
7
|
plugins {
|
|
16
|
-
id("global.genesis.
|
|
17
|
-
id("global.genesis.deploy") version deployPluginVersion
|
|
8
|
+
id("global.genesis.settings") version genesisVersion
|
|
18
9
|
}
|
|
19
10
|
}
|
|
11
|
+
|
|
20
12
|
repositories {
|
|
21
|
-
mavenLocal {
|
|
22
|
-
// VERY IMPORTANT!!! EXCLUDE AGRONA AS IT IS A POM DEPENDENCY AND DOES NOT PLAY NICELY WITH MAVEN LOCAL!
|
|
23
|
-
content {
|
|
24
|
-
excludeGroup("org.agrona")
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
13
|
mavenCentral()
|
|
28
14
|
gradlePluginPortal()
|
|
29
15
|
maven {
|
|
@@ -38,23 +24,30 @@ pluginManagement {
|
|
|
38
24
|
password = extra.properties["genesisArtifactoryPassword"].toString()
|
|
39
25
|
}
|
|
40
26
|
}
|
|
27
|
+
mavenLocal {
|
|
28
|
+
// VERY IMPORTANT!!! EXCLUDE AGRONA AS IT IS A POM DEPENDENCY AND DOES NOT PLAY NICELY WITH MAVEN LOCAL!
|
|
29
|
+
content {
|
|
30
|
+
excludeGroup("org.agrona")
|
|
31
|
+
}
|
|
32
|
+
}
|
|
41
33
|
}
|
|
42
34
|
}
|
|
43
35
|
|
|
36
|
+
plugins {
|
|
37
|
+
id("global.genesis.settings")
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
genesis {
|
|
41
|
+
dependencies {
|
|
42
|
+
dependency("global.genesis:auth:${extra.properties["authVersion"]}")
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
plugins {
|
|
47
|
+
genesisDeploy.enabled = {{ enableDeployPlugin }}
|
|
48
|
+
}
|
|
44
49
|
|
|
50
|
+
}
|
|
45
51
|
|
|
46
|
-
include("{{appName}}-config")
|
|
47
|
-
include("{{appName}}-messages")
|
|
48
|
-
include("{{appName}}-eventhandler")
|
|
49
|
-
include("{{appName}}-script-config")
|
|
50
|
-
include("{{appName}}-distribution")
|
|
51
|
-
include("{{appName}}-dictionary-cache")
|
|
52
|
-
include("{{appName}}-dictionary-cache:{{appName}}-generated-sysdef")
|
|
53
|
-
include("{{appName}}-dictionary-cache:{{appName}}-generated-fields")
|
|
54
|
-
include("{{appName}}-dictionary-cache:{{appName}}-generated-dao")
|
|
55
|
-
include("{{appName}}-dictionary-cache:{{appName}}-generated-hft")
|
|
56
|
-
include("{{appName}}-dictionary-cache:{{appName}}-generated-view")
|
|
57
|
-
include("{{appName}}-deploy")
|
|
58
|
-
include("{{appName}}-site-specific")
|
|
59
52
|
|
|
60
|
-
|
|
53
|
+
include("{{appName}}-app")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
dependencies {
|
|
2
|
+
compileOnly(genesis("script-dependencies"))
|
|
3
|
+
genesisGeneratedCode(withTestDependency = true)
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
description = "{{appName}}-app"
|
|
7
|
+
|
|
8
|
+
sourceSets {
|
|
9
|
+
main {
|
|
10
|
+
resources {
|
|
11
|
+
srcDirs("src/main/resources", "src/main/genesis")
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
tasks {
|
|
17
|
+
copyDependencies {
|
|
18
|
+
enabled = false
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
package genesis.cfg
|
|
2
|
-
|
|
3
1
|
systemDefinition {
|
|
4
2
|
global {
|
|
5
|
-
item(name = "DEPLOYED_PRODUCT", value = "{{appName}}")
|
|
6
|
-
item(name = "MqLayer", value = "ZeroMQ")
|
|
7
|
-
{{#if useDocker}}
|
|
8
3
|
item(name = "DbLayer", value = "SQL")
|
|
9
|
-
item(name = "DbHost", value = "jdbc:postgresql://localhost:5432/?user=postgres&password=
|
|
10
|
-
{{
|
|
11
|
-
item(name = "
|
|
12
|
-
|
|
13
|
-
{{/if}}
|
|
4
|
+
item(name = "DbHost", value = "jdbc:postgresql://localhost:5432/?user=postgres&password=docker")
|
|
5
|
+
item(name = "DEPLOYED_PRODUCT", value = "{{appName}}")
|
|
6
|
+
item(name = "MqLayer", value = env["MQ_LAYER", "ZeroMQ"])
|
|
7
|
+
|
|
14
8
|
item(name = "DictionarySource", value = "DB")
|
|
15
9
|
item(name = "AliasSource", value = "DB")
|
|
16
10
|
item(name = "HookStateStore", value = "DB")
|
|
17
11
|
item(name = "MetricsEnabled", value = "false")
|
|
18
12
|
item(name = "ZeroMQProxyInboundPort", value = "5001")
|
|
19
13
|
item(name = "ZeroMQProxyOutboundPort", value = "5000")
|
|
14
|
+
env["DB_USERNAME"].takeIf { it.isNotBlank() }?.let { item(name = "DbUsername", value = it) }
|
|
15
|
+
env["DB_PASSWORD"].takeIf { it.isNotBlank() }?.let { item(name = "DbPassword", value = it) }
|
|
16
|
+
env["DB_SQL_CONNECTION_POOL_SIZE"].takeIf { it.isNotBlank() }?.let { item(name = "DbSqlConnectionPoolSize", value = it) }
|
|
20
17
|
item(name = "DbMode", value = "VANILLA")
|
|
21
18
|
item(name = "GenesisNetProtocol", value = "V2")
|
|
22
19
|
item(name = "ResourcePollerTimeout", value = "5")
|
|
@@ -25,11 +22,11 @@ systemDefinition {
|
|
|
25
22
|
item(name = "MetadataChronicleMapAverageValueSizeBytes", value = "1024")
|
|
26
23
|
item(name = "MetadataChronicleMapEntriesCount", value = "512")
|
|
27
24
|
item(name = "DaemonServerPort", value = "4568")
|
|
25
|
+
item(name = "DaemonHealthPort", value = "4569")
|
|
28
26
|
item(
|
|
29
27
|
name = "JVM_OPTIONS",
|
|
30
28
|
value = "-XX:MaxHeapFreeRatio=70 -XX:MinHeapFreeRatio=30 -XX:+UseG1GC -XX:+UseStringDeduplication -XX:OnOutOfMemoryError=\"handleOutOfMemoryError.sh %p\""
|
|
31
29
|
)
|
|
32
|
-
item(name = "DaemonHealthPort", value = "4569")
|
|
33
30
|
}
|
|
34
31
|
|
|
35
32
|
systems {
|