Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#7309 add support for building lightweight chassis #7316

Merged
merged 2 commits into from
Jan 16, 2023

Conversation

planetf1
Copy link
Member

Signed-off-by: Nigel Jones [email protected]

Description

Adds support to build a lightweight chassis for gradle builds.

Build by adding -PadminChassisOnly, for example

./gradlew -PadminChassisOnly build -x test -x javadoc

to build egeria with a cut-down admin chassis, and skipping test & javadoc.

Related Issue(s)

Fixes odpi/egeria-docs#675

Testing

Built with & without flag, and checked content of artifacts ie when set:

% jar -tf server-chassis-spring-3.15-SNAPSHOT.jar | grep spring | grep 3.15  
BOOT-INF/lib/admin-services-spring-3.15-SNAPSHOT.jar
BOOT-INF/lib/platform-services-spring-3.15-SNAPSHOT.jar
BOOT-INF/lib/spring-rest-client-connector-3.15-SNAPSHOT.jar

Release Notes & Documentation

Should be added to dojo documentation when happy (@mandy-chessell please indicate if you plan to do this)

Additional notes

This change replicates what we have with maven (though there we typically set via mvn with -D instead of -P - the implementation for gradle is more aligned with the normal way of setting gradle properties

In maven there is a conditional build for the connector configuration factory. I've implemented this. However the gradle build doesn't currently build an uber jar for this project, so the change makes no difference..... this condition could be removed. It's only relevant when building an uber jar since the dependencies are runtime only.

For the server chassis

  • gaf wasn't in the gradle build at all. I presume it should be, so added
  • 4 other dependencies looked as if they should have been excluded, but weren't. I have done so for gradle.

Please review. I can consolidate these changes with another commit

NOTE: I have not actually RUN a cut down platform.

@mandy-chessell
Copy link
Contributor

This is good. I was surprised by the following libraries but realized they are the client-side libraries pulled in by the governance server services and so it is correct that they are there ...

asset-lineage-api-3.15-SNAPSHOT.jar
asset-lineage-client-3.15-SNAPSHOT.jar
asset-lineage-topic-connectors-3.15-SNAPSHOT.jar
data-engine-api-3.15-SNAPSHOT.jar
data-engine-client-3.15-SNAPSHOT.jar
data-engine-topic-connectors-3.15-SNAPSHOT.jar
governance-engine-api-3.15-SNAPSHOT.jar
governance-engine-client-3.15-SNAPSHOT.jar
governance-engine-topic-connectors-3.15-SNAPSHOT.jar

@planetf1
Copy link
Member Author

This is good. I was surprised by the following libraries but realized they are the client-side libraries pulled in by the governance server services and so it is correct that they are there ...

Thanks for confirming. I will merge.

We do have options in future to strip more out, but we may also need to bundle some groupings to make it easier to assemble. That can be for another issue if we ever want to.

@planetf1 planetf1 merged commit 5568a2c into odpi:main Jan 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Enhancement] Add Gradle support for building the platform with equivalent of -DadminChassisOnly (Document)
2 participants