Gang, I just pushed a refactor of our build. Mostly detangling the historical pile of tasks. It's still a bit rough on the edges but should do its job. Some task names and location have changed. Please see manual/src/docs/tutorials/howto-build-system.txt
Build project names and published artifact names are now decoupled, we can type: ./gradlew :core:runtime:test instead of: ./gradlew:org.apache.polygene.core:org.apache.polygene.core.runtime:test and thanks to how Gradle task selection work we also can abbreviate this to: ./gradlew :c:r:te so much less typing. All global tasks from the root project moved into dedicated sub-projects like 'distributions' and 'release'. About distributions, the binary distribution now contains binaries in a local maven repository, including metadata, it's easier to use. The dist:zipDepDist task assemble a zip containing a maven repository with all dependencies needed to work with the SDK, including source & javadoc when available. No more "go offline helpers". The latter zip is quite big and is not included in the release. An intended side-effect of these changes is that the build is now much faster when building a development version (aka. version '0') by not doing what's necessary when building a SNAPSHOT or release version. Oh and the whole build is now safe to run with parallel enabled, including tests. Either use --parallel or add org.gradle.parallel=true to gradle.properties. Running the whole test suite from a clean build now takes less than 5 minutes on my 8 cores laptop, was 10+ before. The only caveat so far is that to debug from the IDE you have to disable parallel execution, that's why it's not enabled by default. That's my small christmas gift to you, I hope it won't get in your way and give you a better experience. I'll go eat and drink too much with familly and friends and come back next year with a proposal to unify serialization and get rid of org.json. Cheers /Paul