Currently we have only one build target that builds tests as well.
If we build dependencies graph it would look like module depends on actual dependencies plus test dependencies, while test dependencies is needed only for testing.
So, the end result (including #6) should look like:
Build targets:
:example.build - takes :example.src as an input and outputs either class files or js file with simple optimizations
:example.build_tests - takes :example.src and merges there test files and test dependencies, then builds the project without running
If main specified additionally:
:example.release- takes :example.src as an input and outputs either uberjar or js file with advanced optimisations
Test targets:
:example.test
Two additional macros should be created clj_test and cljs_test. We should continue support tests/test_modules/test_dependencies in clj(s)_module as it's useful shortcut and covers the most often case. Although it should be possible to created additional test targets for the cases like integration test, performance, etc.
Currently we have only one build target that builds tests as well.
If we build dependencies graph it would look like module depends on actual dependencies plus test dependencies, while test dependencies is needed only for testing.
So, the end result (including #6) should look like: Build targets:
:example.src
- creates project, gathers modules, inject dependencies into project file, outputs source files:example.build
- takes:example.src
as an input and outputs eitherclass
files orjs
file with simple optimizations:example.build_tests
- takes:example.src
and merges there test files and test dependencies, then builds the project without runningIf
main
specified additionally::example.release
- takes:example.src
as an input and outputs eitheruberjar
orjs
file with advanced optimisationsTest targets:
:example.test
Two additional macros should be created
clj_test
andcljs_test
. We should continue supporttests/test_modules/test_dependencies
inclj(s)_module
as it's useful shortcut and covers the most often case. Although it should be possible to created additional test targets for the cases likeintegration
test,performance
, etc.Example:
which additionally should produce build target
:example.build_test_integration
and test target:example.test_integration
Alternative way could be to support multiple test targets inside
clj(s)_module
, something like: