Configuration Directory & Tasks¶
Directories¶
Build & Tools¶
Directory | Explanation |
---|---|
build |
Artefacts of build steps |
buildSrc , gradle , .gradle-user , .gradle-repo |
Gradle environment incl. libraries for external build |
Jenkinsfile , jenkins |
Example for CI/CD integration, optional depending on environment |
tools/jre |
|
tools/just |
Configurations¶
Directory | Explanation |
---|---|
backends |
Definition of available backends, their endpoints and their nodes for fetching data (#MISS) |
client-config/config.json |
Client configuration file |
i18n |
Directory containing customer localizations |
library |
Libraries for business logic of various backends/adapters (#MISS) |
schedules |
Schedule definitions for scripts executions |
static-content |
Static-Content to customize and extend the client |
trees |
Base of use-case configurations, template support available |
trees/mapping |
Definition of mappings between the ui and the configured node of a backend (#MISS) |
trees/ui |
Definition of ui representation of a use-case (#MISS) |
trees/maximo |
Use-Cases for Maximo v2 backend, will be uploaded to treeConfigurations folder |
v2 |
Folder to configure v2 based Maximo backend, must exist (#MISS) |
Setup¶
Gradle & gradle.properties¶
Gradles main configuration and cache management is controlled through the GRADLE_USER_HOME
environment variable.
The default value for this is the .gradle
folder in the users home directory, independend of the folder/project Gradle is
executed. To get a project dependent setup GRADLE_USER_HOME
must be defined.
If a relative path is configured, this path is relative to Gradles main project folder.
Examples for gradle.properties
in GRADLE_USER_HOME
:
Local-Dev¶
s3Url = http://localhost:9001
s3AccessKey = 8nbOhwqd5qklRMDh0QmC
s3Secret = xWWoxZOLzzVZTceqk72LXq5MwvCVVz6Eutoyu8n5
//s3BucketPrefix = foobar
mwUrl = http://localhost:8080 - cloud-vm Beispiel:
Cloud-VM Example¶
s3Url = https://s3.some.project.insight-cloud.app
s3AccessKey = XYZXYZXYZXYZXYZXYZXYZXYZXYZ
s3Secret = ZYXZYXZYXZYXZYXZYXZYXZYXZYX
mwUrl = https://some.project.insight-cloud.app:8443/middleware
Tasks¶
just gradle
: executes gradle
with GRADLE_USER_HOME=.gradle-user
Gradle-Tasks¶
Task | Description |
---|---|
tasks |
List all available Gradle tasks |
storageInit |
create all necessary buckets in the S3 storageInit must be execute once during setup the environment |
uploadClientConfig |
Generate & Upload client config and static-content |
uploadLanguages |
Upload language translations |
uploadLibrary * |
Build, Upload and Notify adapters for business logic libraries |
uploadMaximoConfigurations |
Upload Maximo UseCases into Maximo treeConfigurations folder |
uploadSuiteConfigurations |
Upload Insight UseCases to middleware |
- * wrapper task configured in
build.gradle.kts
S3 storage upload¶
Most upload tasks put files into S3 buckets:
insight-backend
insight-config
These names can be prefixed with an installation-specific prefix by setting S3BucketPrefix
in the projects gradle.properties
file
If an S3BucketPrefix
is defined here, the corresponding services must be configured by using the env INSIGHT_S3_BUCKET_PREFIX
as well.
Library upload¶
Insight provides the possibilty to implement specific backend routines. The compilation and handling must be done with gradle
as well and
must happen in the library
subfolder. As these library implementations are very specific to a specific project they must be properly configured
and can't be prepared for all circumstances.
An example for this is the uploadLibrary
task, which is supposed to compile and upload all library code to the corresponding adapters. As the
amount and type of adapter vary per customer project this task has to be modified in the build.gradle.kts
, so it contains all required dependcies
to all sub-tasks in the library
folder.
The library projects responsible for uploading must have the same name as their corresponding service running the adapter. As best practice we use
the suffix -suite
for those names, like business-suite
, hxgn-suite
, ...
Migration Hints:¶
Folders:¶
templates/ui
=>trees/templates
raw/ui
=>trees/ui