website/versioned_docs/version-1.1.2/Reference/Developer Setup.md
git clone https://github.com/<your GitHub handle>/SynapseML.gitoriginupstream:
git remote add upstream https://github.com/microsoft/SynapseML.gitSynapseML) with cd SynapseMLsbt setupbuild.sbt and import the projectsynapseml conda environment by running conda env create -f environment.yml from the synapseml directory.
:::note
If you're using a Windows machine, remove
horovod requirement in the environment.yml file, because horovod installation only
supports Linux or macOS. Horovod is used only for namespace synapse.ml.dl.
:::--add-exports java.base/sun.nio.ch=ALL-UNNAMED . Apply the changes.NOTE
If you will be regularly contributing to the SynapseML repo, you'll want to keep your fork synced with the upstream repository. Please read this GitHub doc to know more and learn techniques about how to do it.
To use secrets in the build, you must be part of the synapsemlkeyvault
and Azure subscription. If you're MSFT internal and would like to be
added, reach out to [email protected]
compile, test:compile and it:compileCompiles the main, test, and integration test classes respectively
testRuns all synapsemltests
scalastyleRuns scalastyle check on main
test:scalastyleRuns scalastyle check on test
unidocGenerates documentation for scala sources
createCondaEnvCreates a conda environment synapseml from environment.yml if it doesn't already exist.
This env is used for python testing.
Activate this env before using python build commands.
cleanCondaEnvRemoves synapseml conda env
packagePythonCompiles scala, runs python generation scripts, and creates a wheel
generatePythonDocGenerates documentation for generated python code
installPipPackageInstalls generated python wheel into existing env
testPythonGenerates and runs python tests
getDatasetsDownloads all datasets used in tests to target folder
setupCombination of compile, test:compile, it:compile, getDatasets
packagePackages the library into a jar
publishBlobPublishes Jar to SynapseML's Azure blob-based Maven repo. (Requires Keys)
publishLocalPublishes library to the local Maven repo
publishDocsPublishes scala and python doc to SynapseML's Azure storage account. (Requires Keys)
publishSignedPublishes the library to Sonatype staging repo
sonatypeReleasePromotes the published Sonatype artifact