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-backendinsight-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/templatesraw/ui=>trees/ui
Example, structure of template project¶
