Skip to content
kishore edited this page Mar 6, 2023 · 22 revisions

Sources

The projects are set up to be built via binary references to artifacts ( e.g. slatekit-app depends on slatekit-common ) via an package/artifact reference from github packages. However, this approach loads all sub-projects as sources so any changes in one sub-project can be easily tested in another sub-project in the same multi-project solution without publishing artifacts.

  • Root source code is at root/src/lib/kotlin
  • Set env variable SLATEKIT_PROJECT_MODE=sources ( instead of binary ) to load project references as sources.
  • Open intellij main project from root/src/lib/kotlin/slatekit
  • Search replace version "$kotlin_version" with //version "$kotlin_version" ( commented out )
  • Only enable version "$kotlin_version" in build.gradle for the main slatekit project.
  • Comment out the jar task in the main slatekit build.gradle file
  • Tests located at root/src/lib/kotlin/slatekit-tests

Notes

Setup

  1. Ensure you have gradle 3.5 gradle --version
  2. Download Slate Kit source git clone git@github.com:code-helix/slatekit.git

Build

Refer to http://www.slatekit.com/kotlin-setup.html for more info on compiling NOTE This will also deploy to bintray

  1. Upgrade the version number in /src/lib/kotlin/version.txt
  2. Upgrade the version number in /src/ext/kotlin/version.txt
  3. Ensure following env ( if it exists ) is set to binary export SLATEKIT_PROJECT_MODE=binary
  4. Open terminal and go to /src/lib/kotlin/
  5. Run bash script ./build-all.sh to build all projects

Test

Gradle unit-tests automation is not yet ready. The tests have be to run using IntellJ

  1. Open the project(s) in intellij
  2. Right-click the test projects and select (Run all tests)
  3. About ~350 tests should pass
  4. There may be 4 failures - to fix soon

Deploy

Use bintray to upload the jars/poms. Gradle automation is not yet setup

Auto deployment

  1. Ensure environment variables setup as BINTRAY_USER and BINTRAY_API_KEY
  2. Get the username/api key from kishore
  3. Open terminal to root directory of src/lib/kotlin
  4. Run command gradle build and then gradle bintrayUpload
  5. Note: You can run both commands via gradle build bintrayUpload

Manual Deployment

This is not needed, but docs are here just in case )

  1. Login to bintray
  2. For each project create new version e..g 0.9.7
  3. For the new version, upload jar file
  4. Publish the files at the prompt/option
  5. From list of files, select the jar file to be shown in downloads
  6. Upload the pom file
  7. Do same for the other 6 projects

Release

gh release create v2.11.1 --generate-notes

Drafting a new release involves a few various steps in git, dropbox, bintray and updating the website

  1. Deploy the binaries to bintray ( refer to section deploy above )
  2. Package the project for distribution ( sample apps, binaries etc ) - refer to package
  3. Upload the compressed zipped release file to dropbox ( in public folder )
  4. Share the dropbox link ( create link/copy it for link in webpage below )
  5. Update the slatekit website in branch gh-pages
  6. Update the webpage releases.html and add a new entry
  7. Finally, create a release in git
Clone this wiki locally