@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.
Files changed (89) hide show
  1. package/.genx/package.json +1 -1
  2. package/.genx/prompts/server.js +10 -1
  3. package/.genx/prompts.js +2 -1
  4. package/.genx/tests/fixtures/testapp/docker-compose.yml +1 -1
  5. package/.genx/versions.json +3 -3
  6. package/.github/CODEOWNERS +1 -1
  7. package/.github/workflows/build.yml +2 -3
  8. package/.github/workflows/release.yml +4 -1
  9. package/.gitignore +107 -0
  10. package/.releaserc +1 -1
  11. package/CHANGELOG.md +18 -0
  12. package/build.gradle.kts +1 -1
  13. package/client/package.json +6 -2
  14. package/docker-compose.yml +1 -11
  15. package/gradle/wrapper/gradle-wrapper.properties +1 -1
  16. package/gradle.properties +1 -1
  17. package/gradlew +7 -7
  18. package/gradlew.bat +0 -0
  19. package/package.json +1 -1
  20. package/server/README.md +13 -0
  21. package/server/{jvm/build.gradle.kts → build.gradle.kts} +1 -14
  22. package/server/{jvm/gradle → gradle}/wrapper/gradle-wrapper.properties +1 -1
  23. package/server/gradle.properties +15 -0
  24. package/server/{jvm/gradlew → gradlew} +7 -7
  25. package/server/{jvm/gradlew.bat → gradlew.bat} +0 -0
  26. package/server/{jvm/settings.gradle.kts → settings.gradle.kts} +24 -31
  27. package/server/{{appName}}-app/build.gradle.kts +20 -0
  28. package/server/{jvm/{{appName}}-site-specific/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/genesis-system-definition.kts +8 -11
  29. package/server/{{appName}}-app/src/main/genesis/cfg/{{appName}}-processes.xml +93 -0
  30. package/server/{{appName}}-app/src/main/genesis/cfg/{{appName}}-service-definitions.xml +23 -0
  31. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-consolidator.kts +19 -0
  32. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-data-pipeline.kts +19 -0
  33. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-dataserver.kts +19 -0
  34. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-eventhandler.kts +19 -0
  35. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-reqrep.kts +19 -0
  36. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-streamer-client.kts +19 -0
  37. package/server/{{appName}}-app/src/main/genesis/scripts/{{appName}}-streamer.kts +19 -0
  38. package/settings.gradle.kts +1 -31
  39. package/server/jvm/README.md +0 -27
  40. package/server/jvm/docker-scripts/configureDB.sh +0 -12
  41. package/server/jvm/docker-scripts/docker-entrypoint.sh +0 -7
  42. package/server/jvm/docker-scripts/genesisInstall.sh +0 -5
  43. package/server/jvm/docker-scripts/remap.sh +0 -23
  44. package/server/jvm/gradle.properties +0 -10
  45. package/server/jvm/{{appName}}-config/build.gradle.kts +0 -8
  46. package/server/jvm/{{appName}}-config/src/main/kotlin/donotdelete.txt +0 -1
  47. package/server/jvm/{{appName}}-config/src/main/resources/cfg/{{appName}}-processes.xml +0 -15
  48. package/server/jvm/{{appName}}-config/src/main/resources/cfg/{{appName}}-service-definitions.xml +0 -15
  49. package/server/jvm/{{appName}}-deploy/build.gradle.kts +0 -35
  50. package/server/jvm/{{appName}}-dictionary-cache/build.gradle.kts +0 -13
  51. package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-dao/build.gradle.kts +0 -1
  52. package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-fields/build.gradle.kts +0 -1
  53. package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-hft/build.gradle.kts +0 -1
  54. package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-sysdef/build.gradle.kts +0 -1
  55. package/server/jvm/{{appName}}-dictionary-cache/{{appName}}-generated-view/build.gradle.kts +0 -1
  56. package/server/jvm/{{appName}}-distribution/build.gradle.kts +0 -97
  57. package/server/jvm/{{appName}}-eventhandler/build.gradle.kts +0 -13
  58. package/server/jvm/{{appName}}-eventhandler/src/test/resources/GenesisHome/donotdelete.txt +0 -0
  59. package/server/jvm/{{appName}}-messages/build.gradle.kts +0 -6
  60. package/server/jvm/{{appName}}-messages/src/main/kotlin/global/genesis/message/common/readme.md +0 -1
  61. package/server/jvm/{{appName}}-messages/src/main/kotlin/global/genesis/message/event/readme.md +0 -1
  62. package/server/jvm/{{appName}}-messages/src/main/kotlin/global/genesis/message/request/readme.md +0 -1
  63. package/server/jvm/{{appName}}-messages/src/main/resources/META-INF/global/genesis/message/product-info +0 -1
  64. package/server/jvm/{{appName}}-script-config/build.gradle.kts +0 -16
  65. package/server/jvm/{{appName}}-script-config/src/main/kotlin/donotdelete.txt +0 -1
  66. package/server/jvm/{{appName}}-script-config/src/main/resources/scripts/{{appName}}-dataserver.kts +0 -13
  67. package/server/jvm/{{appName}}-script-config/src/main/resources/scripts/{{appName}}-eventhandler.kts +0 -13
  68. package/server/jvm/{{appName}}-script-config/src/main/resources/scripts/{{appName}}-reqrep.kts +0 -13
  69. package/server/jvm/{{appName}}-script-config/src/test/kotlin/GenesisTestSupportTest.kt +0 -23
  70. package/server/jvm/{{appName}}-script-config/src/test/resources/GenesisHome/donotdelete.txt +0 -0
  71. package/server/jvm/{{appName}}-site-specific/README.md +0 -3
  72. package/server/jvm/{{appName}}-site-specific/build.gradle.kts +0 -114
  73. package/server/jvm/{{appName}}-site-specific/src/main/kotlin/donotdelete.txt +0 -1
  74. package/server/nginx/Dockerfile +0 -5
  75. package/server/nginx/cert.crt +0 -20
  76. package/server/nginx/cert.key +0 -27
  77. package/server/nginx/default.conf +0 -40
  78. /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-fields-dictionary.kts +0 -0
  79. /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-processes.xml +0 -0
  80. /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-service-definitions.xml +0 -0
  81. /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-config/src/main/resources → testapp-app/src/main/genesis}/cfg/testapp-tables-dictionary.kts +0 -0
  82. /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-script-config/src/main/resources → testapp-app/src/main/genesis}/scripts/testapp-dataserver.kts +0 -0
  83. /package/.genx/tests/fixtures/testapp/server/jvm/{testapp-script-config/src/main/resources → testapp-app/src/main/genesis}/scripts/testapp-eventhandler.kts +0 -0
  84. /package/server/{jvm/gradle → gradle}/wrapper/gradle-wrapper.jar +0 -0
  85. /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-fields-dictionary.kts +0 -0
  86. /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-system-definition.kts +0 -0
  87. /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-tables-dictionary.kts +0 -0
  88. /package/server/{jvm/{{appName}}-config/src/main/resources → {{appName}}-app/src/main/genesis}/cfg/{{appName}}-view-dictionary.kts +0 -0
  89. /package/server/{jvm/{{appName}}-site-specific/src/main/resources/data/user.csv → {{appName}}-app/src/main/genesis/data/USER.csv} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/blank-app-seed-config",
3
3
  "description": "Genesis Blank App Seed Configuration",
4
- "version": "1.5.4",
4
+ "version": "2.0.0",
5
5
  "license": "Apache-2.0",
6
6
  "genxSeedConfig": {
7
7
  "exclude": [
@@ -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
  };
@@ -4,7 +4,7 @@ services:
4
4
  tty: true
5
5
  container_name: gsf
6
6
  build:
7
- context: server/jvm/testapp-deploy/build/docker/
7
+ context: server/testapp-app/build/docker/
8
8
  dockerfile: Dockerfile
9
9
  networks:
10
10
  qs_network:
@@ -1,5 +1,5 @@
1
1
  {
2
- "UI": "14.137.1",
3
- "GSF": "7.0.7",
4
- "Auth": "7.0.1"
2
+ "UI": "14.148.0",
3
+ "GSF": "7.1.7",
4
+ "Auth": "7.1.3"
5
5
  }
@@ -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 :genesisproduct-testapp:testapp-deploy:createDockerfile
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 '\n!.gitignore' >> .npmignore
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
@@ -73,4 +73,4 @@
73
73
  }
74
74
  ]
75
75
  ]
76
- }
76
+ }
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
@@ -12,4 +12,4 @@ tasks {
12
12
  }
13
13
  }
14
14
  }
15
- }
15
+ }
@@ -68,12 +68,16 @@
68
68
  },
69
69
  "prettier": "@genesislcap/prettier-config",
70
70
  "devDependencies": {
71
- "@genesiscommunitysuccess/cep-fast-plugin": "4.1.1",
72
- "@genesiscommunitysuccess/custom-elements-lsp": "4.1.1",
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",
@@ -4,7 +4,7 @@ services:
4
4
  tty: true
5
5
  container_name: gsf
6
6
  build:
7
- context: server/jvm/{{appName}}-deploy/build/docker/
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.4-bin.zip
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=SC2039,SC3045
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=SC2039,SC3045
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, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
207
- # and any embedded shellness will be escaped.
208
- # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
209
- # treated as '${Hostname}' itself on the command line.
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/blank-app-seed",
3
3
  "description": "Genesis Blank App Seed",
4
- "version": "1.5.4",
4
+ "version": "2.0.0",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
7
7
  "release": "semantic-release"
@@ -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.4-bin.zip
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=SC2039,SC3045
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=SC2039,SC3045
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, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
207
- # and any embedded shellness will be escaped.
208
- # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
209
- # treated as '${Hostname}' itself on the command line.
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
- val deployPluginVersion: String by settings
6
+
15
7
  plugins {
16
- id("global.genesis.build") version genesisVersion
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
- includeBuild("../../client")
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=postgres")
10
- {{else}}
11
- item(name = "DbLayer", value = "FDB")
12
- item(name = "DbHost", value = "localhost")
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 {