@@ -116,6 +116,12 @@ work. Starting from the root of the Git repository:
116116./scripts/build/buildForTest.sh
117117```
118118
119+ You can disable building the Rust code by passing ` -DskipRust ` as an argument to that script. This can also be passed in
120+ any Maven build. This can speed up the build if you don't need the DataFusion data engine, or if you've already had a
121+ previous build that included Rust, skipping Rust will reuse the same binaries.
122+
123+ When running Maven directly, you can pass ` -Pquick ` to skip tests and linting.
124+
119125### Sleeper CLI
120126
121127To build the Sleeper CLI, you can run this script:
@@ -132,64 +138,11 @@ If you have the CLI installed already it will be replaced with the version that
132138is different in the version you installed before, it will not be replaced. You can find it
133139at ` $HOME/.local/bin/sleeper ` , and manually overwrite it with the contents of ` ./scripts/cli/runInDocker.sh ` .
134140
135- ### Java
136-
137- To build the Java code only, without installing it for the scripts:
138-
139- ``` bash
140- cd java
141- mvn clean install -Pquick
142- ```
143-
144- Removing the '-Pquick' option will cause the unit and integration tests to run.
145-
146- ### Disabling Rust component
147-
148- You can disable the building of the Rust modules with:
149-
150- ``` bash
151- cd java
152- mvn clean install -Pquick -DskipRust=true
153- ```
154-
155- ### Publishing Maven artifacts
156-
157- There is a script [ ` scripts/dev/publishMaven.sh ` ] ( /scripts/dev/publishMaven.sh ) to publish the Maven artifacts,
158- including all modules and the fat jars used to deploy from and run scripts.
159-
160- There is also a script [ ` scripts/dev/publishFatJars.sh ` ] ( /scripts/dev/publishFatJars.sh ) to publish just the fat jars
161- used for deployment and running scripts.
162-
163- At some point one of these two will likely be removed.
164-
165- The publishFatJars.sh version takes in two arguments:
166- - The repository url to publish.
167- - The ID of a server in a local m2 settings file which should contain authentication details.
141+ ### Publishing artefacts
168142
169- This can be tested locally by using a repository url similar to file:/path/to/output that will publish these files to the local file system.
170-
171- The publishMaven.sh version accepts options to pass through to Maven, including ` -DaltDeploymentRepository ` , documented
172- against [ the Maven plugin] ( https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html ) . If you don't set a
173- deployment repository it will publish the files to the local file system at ` /tmp/sleeper/m2 ` .
174-
175- To setup the local m2 settings file this guide can be followed: [ Link to Baeldung] ( https://www.baeldung.com/maven-settings-xml#5-servers )
176-
177- The development team are adding a way to retrieve and publish jars to AWS. Right now we only support deploying to AWS
178- from jars that were built locally, but in the future you will be able to deploy jars from a Maven repository as well.
179-
180- ### Publishing Docker images
181-
182- There is a script [ ` scripts/dev/publishDocker.sh ` ] ( /scripts/dev/publishDocker.sh ) to publish the Docker images to a
183- repository.
184-
185- It takes in two arguments:
186- * The repository prefix path.
187- * An optional boolean to create the images that should be built for multiple platforms, this defaults to true.
188- See [ StackDockerImage.java] ( /java/clients/src/main/java/sleeper/clients/deploy/container/StackDockerImage.java ) for more details.
189-
190- The development team are adding a way to retrieve and publish Docker images to AWS. Right now we only support uploading
191- the images to AWS if they were built locally, but in the future you will be able to upload images from an external
192- repository as well.
143+ Tools are available to publish built artefacts to shared repositories, and to install them locally to avoid the need to
144+ build Sleeper yourself. We do not currently publish artefacts publicly.
145+ See [ publishing artefacts] ( development/publishing.md ) for how to set this up yourself.
193146
194147## Using the codebase
195148
@@ -284,34 +237,4 @@ See the [release process guide](development/release-process.md) for instructions
284237
285238## Development scripts
286239
287- In the ` /scripts/dev ` folder are some scripts that can assist you while working on Sleeper:
288-
289- #### ` showInternalDependencies.sh `
290-
291- This will display a graph of the dependencies between Sleeper's Maven modules. You can use this to explore how the
292- modules relate to one another.
293-
294- #### ` generateDocumentation.sh `
295-
296- This will regenerate the examples and templates for Sleeper configuration properties files. Use this if you've made any
297- changes to Sleeper configuration properties. This will propagate any changes to property descriptions, ordering,
298- grouping, etc.
299-
300- #### ` cleanupLogGroups.sh `
301-
302- When deploying multiple instances (or running multiple system tests), many log groups will be generated. This can make
303- it difficult to find the logs you need to view. This script will delete any log groups that meet all of the following
304- criteria:
305-
306- * Its name does not contain the name of any deployed CloudFormation stack
307- * Either it's empty, or it has no retention period and is older than 30 days
308-
309- This can be used to limit the number of log groups in your AWS account, particularly if all your log groups are
310- deployed by the CDK or CloudFormation, with the stack name in the log group name.
311-
312- Note that this will not delete log groups for recently deleted instances of Sleeper, so you will still need a different
313- instance ID when deploying a new instance to avoid naming collisions with existing log groups.
314-
315- #### ` updateVersionNumber.sh `
316-
317- This is used during the release process to update the version number across the project (see below).
240+ See [ development scripts] ( development/dev-scripts.md ) for scripts that can assist you while working on Sleeper.
0 commit comments