Install pre-requisites:
- Java 21
- Maven 3.8.6 or greater
- Configure Maven to use your GitHub account for GitHub Packages
Additional support for internal plugins:
- ClamAV using docker image
sudo apt install clamdscan
echo "TCPSocket 3310
TCPAddr localhost" | sudo tee /etc/clamav/clamd.conf
Follow the official documentation page: https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
# If never GWT compiled before, compile once and copy gwt.rpc files
mvn -pl roda-ui/roda-wui -am gwt:compile -Pdebug-main -Dscope.gwt-dev=compile
./roda-ui/roda-wui/copy_gwt_rpc.sh
mvn install -Pcore -DskipTests
# Start up dependencies (Solr, Zookeeper, Siegfried, ClamAV)
mkdir -p $HOME/.roda/data/storage
docker compose -f deploys/standalone/docker-compose-dev.yaml up -d
# Open WUI in Spring boot
mvn -pl roda-ui/roda-wui -am spring-boot:run -Pdebug-main
# Open codeserver
mvn -f dev/codeserver gwt:codeserver -DrodaPath=$(pwd)
# Open codeserver http://127.0.0.1:9876/ and add bookmarks
# Open RODA http://localhost:8080 and click the "Dev Mode On" bookmark
Optional: Check Google Chrome "RemoteLiveReload" extension for automatic reloading with spring boot.
cd docker
./build.sh
Before releasing:
- Security check:
mvn com.redhat.victims.maven:security-versions:check
- Update check:
./scripts/check_versions.sh MINOR
Example release 2.2.0 and prepare for next version 2.3.0.
- Run
./scripts/release.sh 2.2.0
- Wait for GitHub action build to be finished and successful
- Review release and accept release:
- Review issues
- Update release notes
- Publish release
- Run
./scripts/update_changelog.sh 2.2.0
- Run
./scripts/prepare_next_version.sh 2.3.0
Snippet for docker run instructions:
---
To try out this version, check the [install instructions](https://github.com/keeps/roda/blob/master/deploys/standalone/README.md).
docker ps -q -f status=exited | xargs --no-run-if-empty docker rm
docker images -q -f dangling=true | xargs --no-run-if-empty docker rmi
docker exec -i -t CONTAINER_ID /bin/bash
Testing RODA on different browsers is done in an easy way thanks to BrowserStack!
- Lack of permissions to download dependencies when building RODA: to compile you need to set your GitHub access token in your settings.xml as described on https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry#authenticating-with-a-personal-access-token
- Problems may arise when using GWT Dev Mode and having in the classpath a different jetty version
mvn versions:display-dependency-updates
java -cp "webapps/ROOT/WEB-INF/lib/*:lib/*" org.roda.core.RodaCoreFactory migrate model