polygene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paulmer...@apache.org
Subject [13/19] zest-java git commit: build: detangle buildSrc
Date Sat, 24 Dec 2016 10:29:25 GMT
http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/buildSrc/src/test/groovy/org/apache/polygene/gradle/tasks/ExecLoggedTest.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/test/groovy/org/apache/polygene/gradle/tasks/ExecLoggedTest.groovy b/buildSrc/src/test/groovy/org/apache/polygene/gradle/tasks/ExecLoggedTest.groovy
new file mode 100644
index 0000000..aca2f72
--- /dev/null
+++ b/buildSrc/src/test/groovy/org/apache/polygene/gradle/tasks/ExecLoggedTest.groovy
@@ -0,0 +1,84 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.polygene.gradle.tasks
+
+import org.gradle.internal.os.OperatingSystem
+import org.gradle.process.ExecSpec
+import org.gradle.testfixtures.ProjectBuilder
+import org.junit.Rule
+import org.junit.rules.TemporaryFolder
+import spock.lang.IgnoreIf
+import spock.lang.Specification
+
+@IgnoreIf( { OperatingSystem.current().isWindows() } )
+class ExecLoggedTest extends Specification
+{
+  @Rule
+  final TemporaryFolder tmpDir = new TemporaryFolder();
+  File script
+
+  def setup()
+  {
+    script = tmpDir.newFile( 'script.sh' ) << '''
+      #!/bin/sh
+      echo STDOUT
+      echo STDERR 1>&2
+    '''.stripIndent().trim()
+  }
+
+  def "ExecLogged.execLogged()"()
+  {
+    given:
+    def project = ProjectBuilder.builder().build()
+    def out = tmpDir.newFile 'out.txt'
+    def err = tmpDir.newFile 'err.txt'
+
+    when:
+    ExecLogged.execLogged project, out, err, { ExecSpec spec ->
+      spec.workingDir = tmpDir.root
+      spec.commandLine 'sh', script.absolutePath
+    }
+
+    then:
+    out.text == 'STDOUT\n'
+    err.text == 'STDERR\n'
+  }
+
+  def "ExecLogged Task"()
+  {
+    given:
+    def project = ProjectBuilder.builder().build()
+    def out = tmpDir.newFile 'out.txt'
+    def err = tmpDir.newFile 'err.txt'
+    def task = project.tasks.create( 'test', ExecLogged ) { ExecLogged task ->
+      task.workingDir = tmpDir.root
+      task.stdoutFile = out
+      task.stderrFile = err
+      task.commandLine 'sh', script.absolutePath
+    }
+
+    when:
+    // WARN ProjectBuilder is not meant to run tasks, should use TestKit instead
+    // But that's enough for testing ExecLogged and much more faster
+    task.execute()
+
+    then:
+    out.text == 'STDOUT\n'
+    err.text == 'STDERR\n'
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/core/api/build.gradle
----------------------------------------------------------------------
diff --git a/core/api/build.gradle b/core/api/build.gradle
index db05b19..df4ad7c 100644
--- a/core/api/build.gradle
+++ b/core/api/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-core'
+
 jar { manifest { name = "Apache Polygene™ Core API" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/core/bootstrap/build.gradle
----------------------------------------------------------------------
diff --git a/core/bootstrap/build.gradle b/core/bootstrap/build.gradle
index ae37429..f005d2b 100644
--- a/core/bootstrap/build.gradle
+++ b/core/bootstrap/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-core'
+
 jar { manifest { name = "Apache Polygene™ Core Bootstrap" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/core/runtime/build.gradle
----------------------------------------------------------------------
diff --git a/core/runtime/build.gradle b/core/runtime/build.gradle
index 5324662..9e1be8f 100644
--- a/core/runtime/build.gradle
+++ b/core/runtime/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-core'
+
 jar { manifest { name = "Apache Polygene™ Core Runtime" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/core/spi/build.gradle
----------------------------------------------------------------------
diff --git a/core/spi/build.gradle b/core/spi/build.gradle
index 7aa42b4..8d1af06 100644
--- a/core/spi/build.gradle
+++ b/core/spi/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-core'
+
 jar { manifest { name = "Apache Polygene™ Core SPI" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/core/testsupport/build.gradle
----------------------------------------------------------------------
diff --git a/core/testsupport/build.gradle b/core/testsupport/build.gradle
index 932d44a..bde2c50 100644
--- a/core/testsupport/build.gradle
+++ b/core/testsupport/build.gradle
@@ -18,7 +18,9 @@
  *
  */
 
-jar { manifest { name = "Apache Polygene™ Core TestSupport" } }
+apply plugin: 'polygene-core'
+
+jar { manifest { name = "Apache Polygene™ Core Test Support" } }
 
 dependencies {
   compile polygene.core.bootstrap

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/distributions/build.gradle
----------------------------------------------------------------------
diff --git a/distributions/build.gradle b/distributions/build.gradle
new file mode 100644
index 0000000..a3b9f0d
--- /dev/null
+++ b/distributions/build.gradle
@@ -0,0 +1,2 @@
+
+apply plugin: 'polygene-distributions'

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/distributions/src/bin-dist/NOTICE.txt
----------------------------------------------------------------------
diff --git a/distributions/src/bin-dist/NOTICE.txt b/distributions/src/bin-dist/NOTICE.txt
new file mode 100644
index 0000000..998fdf8
--- /dev/null
+++ b/distributions/src/bin-dist/NOTICE.txt
@@ -0,0 +1,5 @@
+Apache Polygene™ (Java Edition) SDK Binary Distribution
+Copyright 2015 The Apache Software Foundation.
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/distributions/src/bin-dist/README.txt
----------------------------------------------------------------------
diff --git a/distributions/src/bin-dist/README.txt b/distributions/src/bin-dist/README.txt
new file mode 100644
index 0000000..b2d104d
--- /dev/null
+++ b/distributions/src/bin-dist/README.txt
@@ -0,0 +1,50 @@
+
+Welcome to the world of Apache Polygene
+   - Composite Oriented Programming on the Java platform.
+
+
+This Apache Polygene™ Binary Distribution contains everything you need to
+create Polygene™ applications.
+
+
+Polygene™ (then Polygene™) started in 2007, and is still in heavy development
+at the Apache Software Foundation. We would like
+developers around the world to participate in the advancement of this
+cool, new and challenging technology. We are especially interested in
+people willing to help improve the SDK, samples, tutorials, documentation
+and other supporting material.
+
+Please see https://polygene.apache.org for more information.
+
+
+Licensing
+---------
+All Apache Polygene™ code is licensed under an Apache License.
+
+Third-Party Dependencies may be licensed under other terms. The only
+required dependencies are SLF4J (MIT Licence), ASM (BSD Licence) and
+Joda-Time (Apache Licence).
+
+Finally, Polygene™ TestSupport depends on JUnit 4.x and its dependencies, which
+is also not included in the SDK itself, as it is present among most Java
+developers.
+
+
+Dependencies not included
+-------------------------
+The binary distributions contains Polygene™ artifacts only to keep the download
+size small. Each Polygene™ artifact comes with a file prefixed ..-runtime-deps.txt
+that contains the list of its dependencies. Moreover, at the binary
+distribution's root, you'll find both Maven (go-offline.pom) and Gradle
+(go-offline.gradle) build files whoses sole purpose is to easily download all
+needed dependencies jars. Instructions are given into theses files.
+
+If you prefer to use a dependency management system, go to:
+https://polygene.apache.org/java/latest/howto-depend-on-polygene.html
+
+
+Thank you for trying out Apache Polygene™ and Composite Oriented Programming.
+
+
+-- Apache Polygene™ Team
+

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/distributions/src/src-dist/README.txt
----------------------------------------------------------------------
diff --git a/distributions/src/src-dist/README.txt b/distributions/src/src-dist/README.txt
new file mode 100644
index 0000000..a27ea07
--- /dev/null
+++ b/distributions/src/src-dist/README.txt
@@ -0,0 +1,64 @@
+
+Welcome to the world of Apache Polygene
+   - Composite Oriented Programming on the Java platform.
+
+
+This Apache Polygene™ Source Distribution contains everything you need to
+create Polygene™ applications.
+
+
+Polygene™ started in 2007, and is still in heavy development under the umbrella of
+the Apache Polygene™ project at the Apache Software Foundation. We would like
+developers around the world to participate in the advancement of this
+cool, new and challenging technology. We are especially interested in
+people willing to help improve the SDK, samples, tutorials, documentation
+and other supporting material.
+
+Please see https://polygene.apache.org for more information.
+
+
+Licensing
+---------
+All Polygene™ code is licensed under an Apache License.
+
+Third-Party Dependencies may be licensed under other terms. The only
+required dependencies are SLF4J (MIT Licence), ASM (BSD Licence) and
+Joda-Time (Apache Licence).
+
+Finally, Polygene™ TestSupport depends on JUnit 4.x and its dependencies, which
+is also not included in the SDK itself, as it is present among most Java
+developers.
+
+
+Dependencies not included
+-------------------------
+The source distribution contains Polygene™ sources only to keep the download
+size small. The Gradle build automatically downloads needed dependencies.
+If you need to go offline type `./gradlew goOffline` to ensure all needed
+dependencies are cached by Gradle.
+
+If you prefer to use a dependency management system, go to:
+https://polygene.apache.org/java/latest/howto-depend-on-polygene.html
+
+
+Building Apache Polygene
+---------------------
+To build Polygene™ from sources you only need to have a valid Java JDK >= 7
+installation.
+
+If you want to build the Polygene™ manual, then you also need valid Asciidoc
+(http://www.methods.co.nz/asciidoc/) and Docbook-XSL installations.
+
+Here is how to run a full build with checks:
+
+    ./gradlew check assemble
+
+Read the Polygene™ Build System tutorial for more details:
+https://polygene.apache.org/java/latest/build-system.html
+
+
+Thank you for trying out Apache Polygene™ and Composite Oriented Programming.
+
+
+-- Apache Polygene™ Team
+

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/cache-ehcache/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/build.gradle b/extensions/cache-ehcache/build.gradle
index 9845cb1..2e7ae19 100644
--- a/extensions/cache-ehcache/build.gradle
+++ b/extensions/cache-ehcache/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Ehcache Cache Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension: EhCache" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/cache-memcache/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/cache-memcache/build.gradle b/extensions/cache-memcache/build.gradle
index 597c41c..03cf403 100644
--- a/extensions/cache-memcache/build.gradle
+++ b/extensions/cache-memcache/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Memcache Cache Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Cache - Memcache" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-file/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-file/build.gradle b/extensions/entitystore-file/build.gradle
index 83789b2..a1b6378 100644
--- a/extensions/entitystore-file/build.gradle
+++ b/extensions/entitystore-file/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - File system" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-geode/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-geode/build.gradle b/extensions/entitystore-geode/build.gradle
index 79ef02b..146993c 100644
--- a/extensions/entitystore-geode/build.gradle
+++ b/extensions/entitystore-geode/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Geode EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - Geode" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-hazelcast/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-hazelcast/build.gradle b/extensions/entitystore-hazelcast/build.gradle
index bf88c81..15c84b2 100644
--- a/extensions/entitystore-hazelcast/build.gradle
+++ b/extensions/entitystore-hazelcast/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Hazelcast EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - Hazelcast" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-jclouds/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jclouds/build.gradle b/extensions/entitystore-jclouds/build.gradle
index 32a56d2..5e29bf0 100644
--- a/extensions/entitystore-jclouds/build.gradle
+++ b/extensions/entitystore-jclouds/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ JClouds EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - JClouds" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-jdbm/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jdbm/build.gradle b/extensions/entitystore-jdbm/build.gradle
index 822686f..60f68a5 100644
--- a/extensions/entitystore-jdbm/build.gradle
+++ b/extensions/entitystore-jdbm/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ JDBM EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - JDBM" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-leveldb/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-leveldb/build.gradle b/extensions/entitystore-leveldb/build.gradle
index cd98455..1da5d20 100644
--- a/extensions/entitystore-leveldb/build.gradle
+++ b/extensions/entitystore-leveldb/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ LevelDB EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - LevelDB" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-memory/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-memory/build.gradle b/extensions/entitystore-memory/build.gradle
index 4833d92..72b45e6 100644
--- a/extensions/entitystore-memory/build.gradle
+++ b/extensions/entitystore-memory/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - Memory" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-mongodb/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/build.gradle b/extensions/entitystore-mongodb/build.gradle
index 5b78435..425485d 100644
--- a/extensions/entitystore-mongodb/build.gradle
+++ b/extensions/entitystore-mongodb/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ MongoDB EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - MongoDB" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-preferences/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/build.gradle b/extensions/entitystore-preferences/build.gradle
index 1339e8e..f1e418f 100644
--- a/extensions/entitystore-preferences/build.gradle
+++ b/extensions/entitystore-preferences/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Preferences EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - Preferences" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-redis/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-redis/build.gradle b/extensions/entitystore-redis/build.gradle
index 44a0dd6..f59654f 100644
--- a/extensions/entitystore-redis/build.gradle
+++ b/extensions/entitystore-redis/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Redis EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - Redis" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-riak/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/build.gradle b/extensions/entitystore-riak/build.gradle
index 7b6de87..b0354c7 100644
--- a/extensions/entitystore-riak/build.gradle
+++ b/extensions/entitystore-riak/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Riak EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - Riak" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/entitystore-sql/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/build.gradle b/extensions/entitystore-sql/build.gradle
index f8b494a..89f890d 100644
--- a/extensions/entitystore-sql/build.gradle
+++ b/extensions/entitystore-sql/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ SQL EntityStore Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - EntityStore - SQL" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/indexing-elasticsearch/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/build.gradle b/extensions/indexing-elasticsearch/build.gradle
index 7d5089c..580e673 100644
--- a/extensions/indexing-elasticsearch/build.gradle
+++ b/extensions/indexing-elasticsearch/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ ElasticSearch Index/Query Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Index/Query - ElasticSearch" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/indexing-rdf/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/indexing-rdf/build.gradle b/extensions/indexing-rdf/build.gradle
index 44ec675..e8295ed 100644
--- a/extensions/indexing-rdf/build.gradle
+++ b/extensions/indexing-rdf/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ RDF Index/Query Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Index/Query - RDF" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/indexing-solr/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/indexing-solr/build.gradle b/extensions/indexing-solr/build.gradle
index 6cd924e..141c23d 100644
--- a/extensions/indexing-solr/build.gradle
+++ b/extensions/indexing-solr/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Solr Indexing Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Indexing - Solr" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/indexing-sql/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/build.gradle b/extensions/indexing-sql/build.gradle
index e1403a3..7a3ac86 100644
--- a/extensions/indexing-sql/build.gradle
+++ b/extensions/indexing-sql/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ SQL Indexing Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Indexing - SQL" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/metrics-codahale/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/metrics-codahale/build.gradle b/extensions/metrics-codahale/build.gradle
index 8221b66..800aa19 100644
--- a/extensions/metrics-codahale/build.gradle
+++ b/extensions/metrics-codahale/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Codahale Metrics Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Metrics - Codahale" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/migration/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/migration/build.gradle b/extensions/migration/build.gradle
index 57ec29e..bcb3099 100644
--- a/extensions/migration/build.gradle
+++ b/extensions/migration/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Migration Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - Migration" }}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/reindexer/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/reindexer/build.gradle b/extensions/reindexer/build.gradle
index 67f9341..510cd60 100644
--- a/extensions/reindexer/build.gradle
+++ b/extensions/reindexer/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 jar { manifest { description = "Apache Polygene™ Reindexer Extension" } }
 
 dependencies {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/valueserialization-jackson/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/valueserialization-jackson/build.gradle b/extensions/valueserialization-jackson/build.gradle
index 156a63e..17ac4b5 100644
--- a/extensions/valueserialization-jackson/build.gradle
+++ b/extensions/valueserialization-jackson/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ Jackson ValueSerialization Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - ValueSerialization - Jackson" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/valueserialization-orgjson/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/valueserialization-orgjson/build.gradle b/extensions/valueserialization-orgjson/build.gradle
index 170fa1a..5a2d61e 100644
--- a/extensions/valueserialization-orgjson/build.gradle
+++ b/extensions/valueserialization-orgjson/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ org.json ValueSerialization Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - ValueSerialization - org.json" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/extensions/valueserialization-stax/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/valueserialization-stax/build.gradle b/extensions/valueserialization-stax/build.gradle
index f2bce54..f60e6be 100644
--- a/extensions/valueserialization-stax/build.gradle
+++ b/extensions/valueserialization-stax/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-extension'
+
 description = "Apache Polygene™ StaX ValueSerialization Extension"
 
 jar { manifest { name = "Apache Polygene™ Extension - ValueSerialization - StaX" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/gradle.properties
----------------------------------------------------------------------
diff --git a/gradle.properties b/gradle.properties
index 84409fc..ee0e41c 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,5 +15,5 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 #
-#
-#
+
+org.gradle.jvmargs=-Xms2g -Xmx2g

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/alarm/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/alarm/build.gradle b/libraries/alarm/build.gradle
index 4afecaf..e9fa455 100644
--- a/libraries/alarm/build.gradle
+++ b/libraries/alarm/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Alarm Library provides industrial automation style alarm point workflow semantics."
 
 jar { manifest { name = "Apache Polygene™ Library - Alarm - APi" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/circuitbreaker/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/circuitbreaker/build.gradle b/libraries/circuitbreaker/build.gradle
index 31112b5..6720e0c 100644
--- a/libraries/circuitbreaker/build.gradle
+++ b/libraries/circuitbreaker/build.gradle
@@ -19,6 +19,8 @@
  */
 import org.apache.polygene.gradle.TaskGroups
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Circuit Breaker Library provides a framework for connecting external resources, so that they can be disabled during re-play of events."
 
 jar { manifest { name = "Apache Polygene™ Library - Circuit Breaker" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/constraints/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/constraints/build.gradle b/libraries/constraints/build.gradle
index 3c125e0..6e11bb1 100644
--- a/libraries/constraints/build.gradle
+++ b/libraries/constraints/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Constraint Library provides common set of constraints."
 
 jar { manifest { name = "Apache Polygene™ Library - Constraints"}}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/fileconfig/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/fileconfig/build.gradle b/libraries/fileconfig/build.gradle
index 11899a9..2547cc0 100644
--- a/libraries/fileconfig/build.gradle
+++ b/libraries/fileconfig/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ File Configuration Library provides platform specific file locations."
 
 jar { manifest { name = "Apache Polygene™ Library - FileConfig" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/http/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/http/build.gradle b/libraries/http/build.gradle
index fb7b4ec..864b51f 100644
--- a/libraries/http/build.gradle
+++ b/libraries/http/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Http Library provides embedded Jetty for Apache Polygene™ application use."
 
 jar { manifest { name = "Apache Polygene™ Library - Http" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/invocation-cache/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/invocation-cache/build.gradle b/libraries/invocation-cache/build.gradle
index 317d41f..5dcbb2e 100644
--- a/libraries/invocation-cache/build.gradle
+++ b/libraries/invocation-cache/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Invocation Cache Library provides caching framework for methods."
 
 jar { manifest { name = "Apache Polygene™ Library - Invocation Cache" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/jmx/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/jmx/build.gradle b/libraries/jmx/build.gradle
index 3f7543d..c0bbd80 100644
--- a/libraries/jmx/build.gradle
+++ b/libraries/jmx/build.gradle
@@ -1,5 +1,3 @@
-import org.apache.polygene.gradle.TaskGroups
-
 /*
  *  Licensed to the Apache Software Foundation (ASF) under one
  *  or more contributor license agreements.  See the NOTICE file
@@ -19,6 +17,9 @@ import org.apache.polygene.gradle.TaskGroups
  *
  *
  */
+import org.apache.polygene.gradle.TaskGroups
+
+apply plugin: 'polygene-library'
 
 description = "Apache Polygene™ JMX Library provides Java Management Extension (JMX) integration for Apache Polygene™ applications."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/lang-groovy/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/lang-groovy/build.gradle b/libraries/lang-groovy/build.gradle
index 640f708..8634868 100644
--- a/libraries/lang-groovy/build.gradle
+++ b/libraries/lang-groovy/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Groovy Library allows for Mixins to be implemented in Groovy scripts instead of directly in compiled Java."
 
 jar { manifest { name = "Apache Polygene™ Library - Scripting - Groovy" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/lang-javascript/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/lang-javascript/build.gradle b/libraries/lang-javascript/build.gradle
index eee1a59..1d301e3 100644
--- a/libraries/lang-javascript/build.gradle
+++ b/libraries/lang-javascript/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ JavaScript Library allows for Mixins to be implemented in JavaScript instead of directly in compiled Java."
 
 jar { manifest { name = "Apache Polygene™ Library - Scripting - JavaScript" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/locking/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/locking/build.gradle b/libraries/locking/build.gradle
index eda2aa0..3dfad3f 100644
--- a/libraries/locking/build.gradle
+++ b/libraries/locking/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Locking Library provides lock management for methods."
 
 jar { manifest { name = "Apache Polygene™ Library - Locking" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/logging/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/logging/build.gradle b/libraries/logging/build.gradle
index b985f05..f45c676 100644
--- a/libraries/logging/build.gradle
+++ b/libraries/logging/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Logging Library provides an advanced logging framework which separates trace, debug and log systems."
 
 jar { manifest { name = "Apache Polygene™ Library - Logging" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/metrics/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/metrics/build.gradle b/libraries/metrics/build.gradle
index bd32c34..606b655 100644
--- a/libraries/metrics/build.gradle
+++ b/libraries/metrics/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Metrics Library."
 
 jar { manifest { name = "Apache Polygene™ Library - Metrics" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/osgi/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/osgi/build.gradle b/libraries/osgi/build.gradle
index 4cad02e..c762482 100644
--- a/libraries/osgi/build.gradle
+++ b/libraries/osgi/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ OSGi Library provides integration of OSGi and Apache Polygene™, so that services in each system can be shared."
 
 jar { manifest { name = "Apache Polygene™ Library - OSGi Integration" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/rdf/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/rdf/build.gradle b/libraries/rdf/build.gradle
index 276dd10..627d454 100644
--- a/libraries/rdf/build.gradle
+++ b/libraries/rdf/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ RDF Library provides commonalities of various RDF based services in Apache Polygene™, such as RDF Indexing."
 
 jar { manifest { name = "Apache Polygene™ Library - RDF" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/rest-client/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/rest-client/build.gradle b/libraries/rest-client/build.gradle
index 934d7f5..33cb81f 100644
--- a/libraries/rest-client/build.gradle
+++ b/libraries/rest-client/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ REST Client Library provides a client library for the Apache Polygene™ REST Server library"
 
 jar { manifest { name = "Apache Polygene™ Library - REST Client" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/rest-common/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/rest-common/build.gradle b/libraries/rest-common/build.gradle
index 4d5616e..7b8f0d8 100644
--- a/libraries/rest-common/build.gradle
+++ b/libraries/rest-common/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ REST Library provides various Restlet resources that can be used to expose Apache Polygene™ entities and indexes. Mostly for debugging."
 
 jar { manifest { name = "Apache Polygene™ Library - REST" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/rest-server/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/rest-server/build.gradle b/libraries/rest-server/build.gradle
index 4e186aa..9a2a472 100644
--- a/libraries/rest-server/build.gradle
+++ b/libraries/rest-server/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ REST Server Library provides a server component for building REST API's based on usecases"
 
 jar { manifest { name = "Apache Polygene™ Library - REST server" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/rest/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/rest/build.gradle b/libraries/rest/build.gradle
index 109d7f3..27d8532 100644
--- a/libraries/rest/build.gradle
+++ b/libraries/rest/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ REST Library provides various Restlet resources that can be used to expose Apache Polygene™ entities and indexes. Mostly for debugging."
 
 jar { manifest { name = "Apache Polygene™ Library - REST" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/restlet/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/restlet/build.gradle b/libraries/restlet/build.gradle
index f8f6a6e..35cd1d9 100644
--- a/libraries/restlet/build.gradle
+++ b/libraries/restlet/build.gradle
@@ -1,5 +1,3 @@
-import org.apache.polygene.gradle.TaskGroups
-
 /*
  *  Licensed to the Apache Software Foundation (ASF) under one
  *  or more contributor license agreements.  See the NOTICE file
@@ -19,6 +17,9 @@ import org.apache.polygene.gradle.TaskGroups
  *
  *
  */
+import org.apache.polygene.gradle.TaskGroups
+
+apply plugin: 'polygene-library'
 
 description = "Apache Polygene™ Restlet Library provides automatic CRUD resources as well as custom resources integrated to Polygene."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/scripting/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/scripting/build.gradle b/libraries/scripting/build.gradle
index 9e61c0a..e1a1794 100644
--- a/libraries/scripting/build.gradle
+++ b/libraries/scripting/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Common Scripting Library contains common classes across scripting implementations."
 
 jar { manifest { name = "Apache Polygene™ Library - Scripting - Common" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/servlet/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/servlet/build.gradle b/libraries/servlet/build.gradle
index cba7aa4..62a026e 100644
--- a/libraries/servlet/build.gradle
+++ b/libraries/servlet/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Servlet Library provides integration of Apache Polygene™ into web applications."
 
 jar { manifest { name = "Apache Polygene™ Library - Servlet" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/shiro-core/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/shiro-core/build.gradle b/libraries/shiro-core/build.gradle
index eb6ac1a..e554474 100644
--- a/libraries/shiro-core/build.gradle
+++ b/libraries/shiro-core/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Shiro Library integrates Apache Shiro security framework into Apache Polygene™."
 
 jar { manifest { name = "Apache Polygene™ Library - Shiro Core" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/shiro-web/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/shiro-web/build.gradle b/libraries/shiro-web/build.gradle
index e8048e1..3bcf9c6 100644
--- a/libraries/shiro-web/build.gradle
+++ b/libraries/shiro-web/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Shiro Library integrates Apache Shiro security framework into Apache Polygene™. This bundle provides Servlet support."
 
 jar { manifest { name = "Apache Polygene™ Library - Shiro Web" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/spring/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/spring/build.gradle b/libraries/spring/build.gradle
index 7f0062a..9d70d05 100644
--- a/libraries/spring/build.gradle
+++ b/libraries/spring/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ Spring Library allows for tight integration of Spring Framework and Apache Polygene™ applications."
 
 jar { manifest { name = "Apache Polygene™ Library - Spring" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/sql-bonecp/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/sql-bonecp/build.gradle b/libraries/sql-bonecp/build.gradle
index 66db83b..013b74f 100644
--- a/libraries/sql-bonecp/build.gradle
+++ b/libraries/sql-bonecp/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ SQL BoneCP Library provides BoneCP support."
 
 jar { manifest { name = "Apache Polygene™ Library - SQL BoneCP" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/sql-dbcp/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/sql-dbcp/build.gradle b/libraries/sql-dbcp/build.gradle
index 73c9cce..2ac3f7d 100644
--- a/libraries/sql-dbcp/build.gradle
+++ b/libraries/sql-dbcp/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ SQL DBCP Library provides DBCP support."
 
 jar { manifest { name = "Apache Polygene™ Library - SQL DBCP" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/sql-liquibase/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/sql-liquibase/build.gradle b/libraries/sql-liquibase/build.gradle
index 55f6789..319cad1 100644
--- a/libraries/sql-liquibase/build.gradle
+++ b/libraries/sql-liquibase/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ SQL Liquibase Library provides Liquibase support."
 
 jar { manifest { name = "Apache Polygene™ Library - SQL Liquibase" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/sql/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/sql/build.gradle b/libraries/sql/build.gradle
index 9e52d2d..57aa378 100644
--- a/libraries/sql/build.gradle
+++ b/libraries/sql/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ SQL Library provides SQL support."
 
 jar { manifest { name = "Apache Polygene™ Library - SQL" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/uid/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/uid/build.gradle b/libraries/uid/build.gradle
index 807703b..5ff2621 100644
--- a/libraries/uid/build.gradle
+++ b/libraries/uid/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ UID Library contains various Identity generation services."
 
 jar { manifest { name = "Apache Polygene™ Library - UID" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/libraries/uowfile/build.gradle
----------------------------------------------------------------------
diff --git a/libraries/uowfile/build.gradle b/libraries/uowfile/build.gradle
index 0a5524a..7e29df3 100644
--- a/libraries/uowfile/build.gradle
+++ b/libraries/uowfile/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-library'
+
 description = "Apache Polygene™ UoWFile Library provides file operations binding to UoWs."
 
 jar { manifest { name = "Apache Polygene™ Library - UoWFile" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/manual/build.gradle
----------------------------------------------------------------------
diff --git a/manual/build.gradle b/manual/build.gradle
index fed0e29..e76f7cf 100644
--- a/manual/build.gradle
+++ b/manual/build.gradle
@@ -15,9 +15,8 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-import org.apache.polygene.gradle.doc.ManualPlugin
 
-apply plugin: ManualPlugin
+apply plugin: 'polygene-manual'
 
 description = "Apache Polygene™ Manuals and Website."
 
@@ -27,6 +26,6 @@ dependencies {
   compile polygene.library( 'logging' )
 
   runtime polygene.core.runtime
-  runtime( libraries.logback )
+  runtime libraries.logback
 }
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/manual/src/docs/tutorials/howto-build-system.txt
----------------------------------------------------------------------
diff --git a/manual/src/docs/tutorials/howto-build-system.txt b/manual/src/docs/tutorials/howto-build-system.txt
index 0d4240c..04edd91 100644
--- a/manual/src/docs/tutorials/howto-build-system.txt
+++ b/manual/src/docs/tutorials/howto-build-system.txt
@@ -20,7 +20,7 @@
 [[build-system,Build System]]
 = Polygene™ Build System =
 
-This tutorial is intended for developpers who want to build the Polygene™ SDK themselves.
+This tutorial is intended for developers who want to build the Polygene™ SDK themselves.
 It describe the Polygene™ SDK Build System from compilation to publication of artifacts for consumption by other
 applications.
 
@@ -45,71 +45,94 @@ Build System configuration is done through Gradle properties.
 This can be done in many ways, see
 http://gradle.org/docs/current/userguide/tutorial_this_and_that.html#sec:gradle_properties_and_system_properties[Gradle properties and system properties].
 
+== Main tasks ==
 
-== Root project tasks ==
+The Polygene™ SDK project has tasks that work with the whole SDK.
 
-The Polygene™ SDK root project has tasks that work with the whole SDK.
-The default build, triggered when running gradle without any command line arguments, compiles the code and run the
-tests, but nothing else.
-A quick way to check that nothing broke.
-
-Here are some of theses global tasks we defined:
-
-goOffline::
+downloadDependencies::
 +
 --
 Resolve, download and cache all needed dependencies.
 Useful to go offline.
 --
 
-clean::
+./gradlew::
++
+--
+The default build, triggered when running gradle without any command line arguments, compiles the code and run the
+tests, but nothing else. A quick way to check that nothing broke.
+--
+
+./gradlew clean::
 +
 --
 Clean up of all build output and restore the code base to a fresh state.
 --
 
-check::
+./gradlew assemble::
++
+--
+Produces all the archives, javadocs, manuals and website content.
+Global output is generated into +distributions/build+.
+--
+
+./gradlew check::
 +
 --
 Run the tests and other checks like checkstyle.
-Reports are generated in +build/reports+.
+Global reports are generated in +reports/build/reports+.
 --
 
-install::
+./gradlew build::
 +
 --
-Is roughly the same as Maven's install goal.
-It produces the test reports, javadocs and installs all the Jars into the local disk repository, for consumption
-by other applications.
+Equivalent to `./gradlew assemble check`
 --
 
-buildAll::
+./gradlew checkDistributions::
 +
 --
-Produces all the archives, javadocs, manuals and website content.
-The output is generated to +build+.
+Run global checks against the assembled distributions.
+Can take a while.
 --
 
-release::
+install::
 +
 --
-Uploads the release artifacts to the distribution servers and creates the release output into the
-+build/distributions+ directory.
+Is roughly the same as Maven's install goal.
+It produces the test reports, javadocs and installs all the Jars into the local disk repository, for consumption
+by other applications.
 --
 
 
-== Submodules tasks ==
+== Other tasks ==
 
 In addition to that, some submodules have specific tasks.
-To see all available tasks on a submodule issue the following command:
+To see all available tasks, issue the following command:
+
+[source,bash]
+----
+./gradlew tasks
+----
+
+All available tasks from all modules of the SDK are shown.
+If you want to narrow your exploration to submodules use the following:
 
 [source,bash]
 ----
-./gradlew -p tests/performance tasks
+./gradlew :test:performance:tasks
+./gradlew :release:tasks
 ----
 
-This example will output all gradle tasks available in the +tests/performance+ module where you should find
-the +performanceTest+ task that run the Polygene™ performance test suite.
+These examples will respectively output all gradle tasks available in the +:tests:performance+ module where you should find
+the +performanceTest+ task that runs the Polygene™ performance test suite and the +:release+ module tasks.
+
++tasks+ itself is a task, in the same way we can target module(s) with tasks, e.g.:
+
+[source,bash]
+----
+./gradlew :core:check :libraries:alarm:check
+----
 
 
 == Versions ==
@@ -127,11 +150,12 @@ To build a particular version, you specify a +version+ property on the command-l
 -----------
 
 If a +version+ property is not defined, the build system will refuse to make a release and upload.
+It will also try hard to do less and not get in your way.
 
 
 == Tests ==
 
-NOTE: See the https://builds.apache.org/view/S-Z/view/Polygene/[Polygene™ Continuous Integration] for current tests results
+NOTE: See the https://builds.apache.org/view/P/view/Polygene/[Polygene™ Continuous Integration] for current tests results
 
 Unit and integration tests are located near the code under test.
 You'll find theses tests across the whole SDK.
@@ -141,7 +165,7 @@ You'll find theses tests across the whole SDK.
 Among unit tests, some require an external service to be run.
 For example, the MongoDB EntityStore extension requires an actual MongoDB server to run its tests.
 
-NOTE: The HTML test reports generated by Gradle show skipped tests.
+NOTE: The HTML test reports generated by Gradle shows skipped tests.
 
 All thoses tests should be part of the default build and check if the service is available at its default location
 on +localhost+ and skip if not.
@@ -165,7 +189,7 @@ They can be run with the following Gradle command:
 
 [source,bash]
 -----------
-./gradlew :org.apache.polygene.tests:org.apache.polygene.test.performance:performanceTest
+./gradlew :tests:performance:performanceTest
 -----------
 
 Results will then be available in the test reports.
@@ -177,7 +201,7 @@ The build generates a documentation minisite:
 
 [source,bash]
 -----------
-./gradlew -p manual website
+./gradlew :manual:assemble
 -----------
 
 Output is in `~/manual/build/docs/website`.

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/release/build.gradle
----------------------------------------------------------------------
diff --git a/release/build.gradle b/release/build.gradle
new file mode 100644
index 0000000..8675f08
--- /dev/null
+++ b/release/build.gradle
@@ -0,0 +1,2 @@
+
+apply plugin: 'polygene-release'

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/reports/build.gradle
----------------------------------------------------------------------
diff --git a/reports/build.gradle b/reports/build.gradle
new file mode 100644
index 0000000..6eea3d8
--- /dev/null
+++ b/reports/build.gradle
@@ -0,0 +1,2 @@
+
+apply plugin: 'polygene-reports'

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/reports/src/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/reports/src/javadoc/overview.html b/reports/src/javadoc/overview.html
new file mode 100644
index 0000000..9530721
--- /dev/null
+++ b/reports/src/javadoc/overview.html
@@ -0,0 +1,26 @@
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing, software
+  ~  distributed under the License is distributed on an "AS IS" BASIS,
+  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~  See the License for the specific language governing permissions and
+  ~  limitations under the License.
+  ~
+  ~
+  -->
+<html>
+    <body>
+        <h3>Welcome to the Apache Polygene™ (Java Edition) SDK Javadoc.</h3>
+        <p>Apache Polygene™ is a framework for domain centric application development, including evolved concepts from AOP, DI and DDD.</p>
+        <p><a href="https://polygene.apache.org" target="_blank">polygene.apache.org</a></p>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/samples/dci/build.gradle
----------------------------------------------------------------------
diff --git a/samples/dci/build.gradle b/samples/dci/build.gradle
index c5e97c9..6226cc6 100644
--- a/samples/dci/build.gradle
+++ b/samples/dci/build.gradle
@@ -18,6 +18,7 @@
  *
  */
 
+apply plugin: 'polygene-sample'
 
 description = "Sample of how DCI (Data, Context & Interaction) pattern is implemented with Apache Polygene™."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/samples/forum/build.gradle
----------------------------------------------------------------------
diff --git a/samples/forum/build.gradle b/samples/forum/build.gradle
index 2cde092..7986214 100644
--- a/samples/forum/build.gradle
+++ b/samples/forum/build.gradle
@@ -1,5 +1,3 @@
-import org.apache.polygene.gradle.TaskGroups
-
 /*
  *  Licensed to the Apache Software Foundation (ASF) under one
  *  or more contributor license agreements.  See the NOTICE file
@@ -19,6 +17,9 @@ import org.apache.polygene.gradle.TaskGroups
  *
  *
  */
+import org.apache.polygene.gradle.TaskGroups
+
+apply plugin: 'polygene-sample'
 
 description = "Sample of how to build a web forum"
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/samples/rental/build.gradle
----------------------------------------------------------------------
diff --git a/samples/rental/build.gradle b/samples/rental/build.gradle
index 88adfc4..fca63d8 100644
--- a/samples/rental/build.gradle
+++ b/samples/rental/build.gradle
@@ -18,10 +18,9 @@
  *
  */
 
-plugins {
-  id 'war'
-  id "org.akhikhl.gretty" version "1.4.0"
-}
+apply plugin: 'polygene-sample'
+apply plugin: 'war'
+apply plugin: 'jetty'
 
 description = "Sample of implementation of a Car Rental application."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/samples/sql-support/build.gradle
----------------------------------------------------------------------
diff --git a/samples/sql-support/build.gradle b/samples/sql-support/build.gradle
index 6e3c607..e0c3f21 100644
--- a/samples/sql-support/build.gradle
+++ b/samples/sql-support/build.gradle
@@ -1,5 +1,3 @@
-import org.apache.polygene.gradle.TaskGroups
-
 /*
  *  Licensed to the Apache Software Foundation (ASF) under one
  *  or more contributor license agreements.  See the NOTICE file
@@ -19,6 +17,9 @@ import org.apache.polygene.gradle.TaskGroups
  *
  *
  */
+import org.apache.polygene.gradle.TaskGroups
+
+apply plugin: 'polygene-sample'
 
 description = "SQL Support Sample."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/samples/swing/build.gradle
----------------------------------------------------------------------
diff --git a/samples/swing/build.gradle b/samples/swing/build.gradle
index 2bf5c10..fa69db5 100644
--- a/samples/swing/build.gradle
+++ b/samples/swing/build.gradle
@@ -1,5 +1,3 @@
-import org.apache.polygene.gradle.TaskGroups
-
 /*
  *  Licensed to the Apache Software Foundation (ASF) under one
  *  or more contributor license agreements.  See the NOTICE file
@@ -19,6 +17,9 @@ import org.apache.polygene.gradle.TaskGroups
  *
  *
  */
+import org.apache.polygene.gradle.TaskGroups
+
+apply plugin: 'polygene-sample'
 
 description = "Sample of how to use the Swing bindings."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/settings.gradle
----------------------------------------------------------------------
diff --git a/settings.gradle b/settings.gradle
index d789e08..9044fd6 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -16,6 +16,8 @@
  *  limitations under the License.
  */
 
+apply plugin: 'polygene-settings'
+
 rootProject.name = 'polygene-java'
 
 include 'core:api',
@@ -77,16 +79,12 @@ include 'core:api',
         'extensions:valueserialization-orgjson',
         'extensions:valueserialization-jackson',
         'extensions:valueserialization-stax',
-        'manual',
-        'samples:dci',
-        'samples:forum',
-        'samples:rental',
-        'samples:sql-support',
-        'samples:swing',
         'tools:model-detail',
         'tools:envisage',
         'tools:shell',
 //        'tools:qidea',
+        'tests:regression',
+        'tests:performance',
         'tutorials:cargo',
         'tutorials:composites',
         'tutorials:hello',
@@ -96,5 +94,10 @@ include 'core:api',
         'tutorials:introduction:thirtyminutes',
 //        'tutorials:introduction:twohours',
         'tutorials:services',
-        'tests:regression',
-        'tests:performance'
+        'samples:dci',
+        'samples:forum',
+        'samples:rental',
+        'samples:sql-support',
+        'samples:swing'
+
+include 'manual', 'reports', 'distributions', 'release'

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/src/bin-dist/NOTICE.txt
----------------------------------------------------------------------
diff --git a/src/bin-dist/NOTICE.txt b/src/bin-dist/NOTICE.txt
deleted file mode 100644
index 998fdf8..0000000
--- a/src/bin-dist/NOTICE.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache Polygene™ (Java Edition) SDK Binary Distribution
-Copyright 2015 The Apache Software Foundation.
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/src/bin-dist/README.txt
----------------------------------------------------------------------
diff --git a/src/bin-dist/README.txt b/src/bin-dist/README.txt
deleted file mode 100644
index b2d104d..0000000
--- a/src/bin-dist/README.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-
-Welcome to the world of Apache Polygene
-   - Composite Oriented Programming on the Java platform.
-
-
-This Apache Polygene™ Binary Distribution contains everything you need to
-create Polygene™ applications.
-
-
-Polygene™ (then Polygene™) started in 2007, and is still in heavy development
-at the Apache Software Foundation. We would like
-developers around the world to participate in the advancement of this
-cool, new and challenging technology. We are especially interested in
-people willing to help improve the SDK, samples, tutorials, documentation
-and other supporting material.
-
-Please see https://polygene.apache.org for more information.
-
-
-Licensing
----------
-All Apache Polygene™ code is licensed under an Apache License.
-
-Third-Party Dependencies may be licensed under other terms. The only
-required dependencies are SLF4J (MIT Licence), ASM (BSD Licence) and
-Joda-Time (Apache Licence).
-
-Finally, Polygene™ TestSupport depends on JUnit 4.x and its dependencies, which
-is also not included in the SDK itself, as it is present among most Java
-developers.
-
-
-Dependencies not included
--------------------------
-The binary distributions contains Polygene™ artifacts only to keep the download
-size small. Each Polygene™ artifact comes with a file prefixed ..-runtime-deps.txt
-that contains the list of its dependencies. Moreover, at the binary
-distribution's root, you'll find both Maven (go-offline.pom) and Gradle
-(go-offline.gradle) build files whoses sole purpose is to easily download all
-needed dependencies jars. Instructions are given into theses files.
-
-If you prefer to use a dependency management system, go to:
-https://polygene.apache.org/java/latest/howto-depend-on-polygene.html
-
-
-Thank you for trying out Apache Polygene™ and Composite Oriented Programming.
-
-
--- Apache Polygene™ Team
-

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/src/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/src/javadoc/overview.html b/src/javadoc/overview.html
deleted file mode 100644
index 9530721..0000000
--- a/src/javadoc/overview.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-  ~  Licensed to the Apache Software Foundation (ASF) under one
-  ~  or more contributor license agreements.  See the NOTICE file
-  ~  distributed with this work for additional information
-  ~  regarding copyright ownership.  The ASF licenses this file
-  ~  to you under the Apache License, Version 2.0 (the
-  ~  "License"); you may not use this file except in compliance
-  ~  with the License.  You may obtain a copy of the License at
-  ~
-  ~       http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~  Unless required by applicable law or agreed to in writing, software
-  ~  distributed under the License is distributed on an "AS IS" BASIS,
-  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~  See the License for the specific language governing permissions and
-  ~  limitations under the License.
-  ~
-  ~
-  -->
-<html>
-    <body>
-        <h3>Welcome to the Apache Polygene™ (Java Edition) SDK Javadoc.</h3>
-        <p>Apache Polygene™ is a framework for domain centric application development, including evolved concepts from AOP, DI and DDD.</p>
-        <p><a href="https://polygene.apache.org" target="_blank">polygene.apache.org</a></p>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tests/performance/build.gradle
----------------------------------------------------------------------
diff --git a/tests/performance/build.gradle b/tests/performance/build.gradle
index 8124869..a8613ad 100644
--- a/tests/performance/build.gradle
+++ b/tests/performance/build.gradle
@@ -15,7 +15,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-import org.apache.polygene.gradle.performance.PerformanceTestsPlugin
+import org.apache.polygene.gradle.structure.tests.PerformanceTestsPlugin
+
+apply plugin: 'polygene-test'
 
 description = "Apache Polygene™ Performance Test Suite."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tests/regression/build.gradle
----------------------------------------------------------------------
diff --git a/tests/regression/build.gradle b/tests/regression/build.gradle
index 895be0f..3db1de8 100644
--- a/tests/regression/build.gradle
+++ b/tests/regression/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-test'
+
 description = "Apache Polygene™ Regression Tests are added by community members who find bugs and typically reported via Jira issues. These tests are not run as part of the normal build, but is accessible from './gradlew regression' to allow builds to still work."
 
 jar { manifest { name = "Apache Polygene™ Tests - Regression" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tests/regression/src/main/java/org/apache/polygene/test/regression/ConcernsOnPropertyTest.java
----------------------------------------------------------------------
diff --git a/tests/regression/src/main/java/org/apache/polygene/test/regression/ConcernsOnPropertyTest.java b/tests/regression/src/main/java/org/apache/polygene/test/regression/ConcernsOnPropertyTest.java
new file mode 100644
index 0000000..7ecdfd5
--- /dev/null
+++ b/tests/regression/src/main/java/org/apache/polygene/test/regression/ConcernsOnPropertyTest.java
@@ -0,0 +1,115 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.test.regression;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import org.junit.Assert;
+import org.junit.Test;
+import org.apache.polygene.api.composite.TransientBuilder;
+import org.apache.polygene.api.composite.TransientComposite;
+import org.apache.polygene.api.concern.ConcernOf;
+import org.apache.polygene.api.concern.Concerns;
+import org.apache.polygene.api.property.Property;
+import org.apache.polygene.api.sideeffect.SideEffectOf;
+import org.apache.polygene.api.sideeffect.SideEffects;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.test.AbstractPolygeneTest;
+
+
+public class ConcernsOnPropertyTest
+    extends AbstractPolygeneTest
+{
+    public void assemble( ModuleAssembly module )
+        throws AssemblyException
+    {
+        module.transients( CarComposite.class );
+    }
+
+    @Test
+    public void whenConcernOnPropertyThenConcernIsInvoked()
+    {
+        TransientBuilder<Car> builder = transientBuilderFactory.newTransientBuilder( Car.class );
+        Car prototype = builder.prototypeFor( Car.class );
+        prototype.manufacturer().set( "Volvo" );
+        Car car = builder.newInstance();
+        Assert.assertEquals( "Concern on Property methods.", "Simon says: Volvo", car.manufacturer().get() );
+    }
+
+    public interface CarComposite
+        extends Car, TransientComposite
+    {
+    }
+
+    public interface Car
+    {
+        Manufacturer manufacturer();
+    }
+
+    @SideEffects( SystemOutSideEffect.class )
+    @Concerns( SimonSays.class )
+    public interface Manufacturer
+        extends Property<String>
+    {
+    }
+
+    public class SimonSays
+        extends ConcernOf<InvocationHandler>
+        implements InvocationHandler
+    {
+
+        public Object invoke( Object o, Method method, Object[] objects )
+            throws Throwable
+        {
+            Object result = next.invoke( o, method, objects );
+            if( result instanceof String )
+            {
+                return "Simon says: " + result;
+            }
+            return result;
+        }
+    }
+
+    public class SystemOutSideEffect
+        extends SideEffectOf<InvocationHandler>
+        implements InvocationHandler
+    {
+
+        public Object invoke( Object o, Method method, Object[] objects )
+            throws Throwable
+        {
+            try
+            {
+                Object result = this.result.invoke( o, method, objects );
+                if( result instanceof String )
+                {
+                    System.out.println( "[INFO] " + result );
+                }
+                return result;
+            }
+            catch( Exception e )
+            {
+                e.printStackTrace( System.out );
+                throw e;
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tests/regression/src/main/java/org/apache/polygene/test/regression/Regressions.java
----------------------------------------------------------------------
diff --git a/tests/regression/src/main/java/org/apache/polygene/test/regression/Regressions.java b/tests/regression/src/main/java/org/apache/polygene/test/regression/Regressions.java
deleted file mode 100644
index 169017b..0000000
--- a/tests/regression/src/main/java/org/apache/polygene/test/regression/Regressions.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *
- */
-package org.apache.polygene.test.regression;
-
-/**
- * Placeholder class to prevent the build to fail when no source code.
- */
-public final class Regressions
-{
-    private Regressions()
-    {
-    }
-}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tests/regression/src/main/java/org/apache/polygene/test/regression/niclas2/ConcernsOnPropertyTest.java
----------------------------------------------------------------------
diff --git a/tests/regression/src/main/java/org/apache/polygene/test/regression/niclas2/ConcernsOnPropertyTest.java b/tests/regression/src/main/java/org/apache/polygene/test/regression/niclas2/ConcernsOnPropertyTest.java
deleted file mode 100644
index 1875a1e..0000000
--- a/tests/regression/src/main/java/org/apache/polygene/test/regression/niclas2/ConcernsOnPropertyTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *
- */
-package org.apache.polygene.test.regression.niclas2;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.polygene.api.composite.TransientBuilder;
-import org.apache.polygene.api.composite.TransientComposite;
-import org.apache.polygene.api.concern.ConcernOf;
-import org.apache.polygene.api.concern.Concerns;
-import org.apache.polygene.api.property.Property;
-import org.apache.polygene.api.sideeffect.SideEffectOf;
-import org.apache.polygene.api.sideeffect.SideEffects;
-import org.apache.polygene.bootstrap.AssemblyException;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.test.AbstractPolygeneTest;
-
-
-public class ConcernsOnPropertyTest
-    extends AbstractPolygeneTest
-{
-    public void assemble( ModuleAssembly module )
-        throws AssemblyException
-    {
-        module.transients( CarComposite.class );
-    }
-
-    @Test
-    public void whenConcernOnPropertyThenConcernIsInvoked()
-    {
-        TransientBuilder<Car> builder = transientBuilderFactory.newTransientBuilder( Car.class );
-        Car prototype = builder.prototypeFor( Car.class );
-        prototype.manufacturer().set( "Volvo" );
-        Car car = builder.newInstance();
-        Assert.assertEquals( "Concern on Property methods.", "Simon says: Volvo", car.manufacturer().get() );
-    }
-
-    public interface CarComposite
-        extends Car, TransientComposite
-    {
-    }
-
-    public interface Car
-    {
-        Manufacturer manufacturer();
-    }
-
-    @SideEffects( SystemOutSideEffect.class )
-    @Concerns( SimonSays.class )
-    public interface Manufacturer
-        extends Property<String>
-    {
-    }
-
-    public class SimonSays
-        extends ConcernOf<InvocationHandler>
-        implements InvocationHandler
-    {
-
-        public Object invoke( Object o, Method method, Object[] objects )
-            throws Throwable
-        {
-            Object result = next.invoke( o, method, objects );
-            if( result instanceof String )
-            {
-                return "Simon says: " + result;
-            }
-            return result;
-        }
-    }
-
-    public class SystemOutSideEffect
-        extends SideEffectOf<InvocationHandler>
-        implements InvocationHandler
-    {
-
-        public Object invoke( Object o, Method method, Object[] objects )
-            throws Throwable
-        {
-            try
-            {
-                Object result = this.result.invoke( o, method, objects );
-                if( result instanceof String )
-                {
-                    System.out.println( "[INFO] " + result );
-                }
-                return result;
-            }
-            catch( Exception e )
-            {
-                e.printStackTrace( System.out );
-                throw e;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tests/unit/README.txt
----------------------------------------------------------------------
diff --git a/tests/unit/README.txt b/tests/unit/README.txt
deleted file mode 100644
index f3e97da..0000000
--- a/tests/unit/README.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-
-You will not find Unit Tests here.
-
-By the nature of unit tests, they are located near the actual code
-under src/test/java in each code source tree.
-
-

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tools/envisage/build.gradle
----------------------------------------------------------------------
diff --git a/tools/envisage/build.gradle b/tools/envisage/build.gradle
index 1ed01f5..edfac7a 100644
--- a/tools/envisage/build.gradle
+++ b/tools/envisage/build.gradle
@@ -1,5 +1,3 @@
-import org.apache.polygene.gradle.TaskGroups
-
 /*
  *  Licensed to the Apache Software Foundation (ASF) under one
  *  or more contributor license agreements.  See the NOTICE file
@@ -19,6 +17,9 @@ import org.apache.polygene.gradle.TaskGroups
  *
  *
  */
+import org.apache.polygene.gradle.TaskGroups
+
+apply plugin: 'polygene-tool'
 
 description = "Visualizer of a Apache Polygene™ Application Structure."
 

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tools/model-detail/build.gradle
----------------------------------------------------------------------
diff --git a/tools/model-detail/build.gradle b/tools/model-detail/build.gradle
index 65ac7b1..a97d179 100644
--- a/tools/model-detail/build.gradle
+++ b/tools/model-detail/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tool'
+
 description = "Detailled Model of a Apache Polygene™ Application Structure."
 
 jar { manifest { name = "Apache Polygene™ Model Detail" }}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tools/qidea/build.gradle
----------------------------------------------------------------------
diff --git a/tools/qidea/build.gradle b/tools/qidea/build.gradle
index 2383515..1be3352 100644
--- a/tools/qidea/build.gradle
+++ b/tools/qidea/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tool'
+
 description = "IntelliJ IDEA Plugin for Apache Polygene™ development."
 
 jar { manifest { name = "Apache Polygene™ IDEA plugin" }}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tools/shell/build.gradle
----------------------------------------------------------------------
diff --git a/tools/shell/build.gradle b/tools/shell/build.gradle
index 49397cf..1ec559f 100644
--- a/tools/shell/build.gradle
+++ b/tools/shell/build.gradle
@@ -18,6 +18,7 @@
  *
  */
 
+apply plugin: 'polygene-tool'
 apply plugin: 'application'
 
 description = "Command line tools for building Apache Polygene™ applications."
@@ -30,6 +31,9 @@ jar {
   }
 }
 
+[ distZip, distTar ].each { dist -> dist.classifier = 'bin' }
+distTar.compression = Compression.GZIP
+
 dependencies {
   testRuntime libraries.logback
 }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tools/shell/src/dist/bin/polygene-boot
----------------------------------------------------------------------
diff --git a/tools/shell/src/dist/bin/polygene-boot b/tools/shell/src/dist/bin/polygene-boot
index 5c0306a..4fcc7d5 100644
--- a/tools/shell/src/dist/bin/polygene-boot
+++ b/tools/shell/src/dist/bin/polygene-boot
@@ -63,7 +63,7 @@ else
 
     # Figure out if we are executing from within the SDK or the QuickStart
     if [ -f libs/$JARNAME ] ; then
-        JARFILE=libs/$JARNAME
+        JARFILE=libs/org/apache/polygene/tools/org.apache.polygene.tool.shell/@version@/$JARNAME
     else
         if [ -f bin/$JARNAME ] ; then
             JARFILE=bin/$JARNAME

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/cargo/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/cargo/build.gradle b/tutorials/cargo/build.gradle
index ca2479f..1cbc50a 100644
--- a/tutorials/cargo/build.gradle
+++ b/tutorials/cargo/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "Tutorial on how to convert existing application into a Apache Polygene™ one, step-by-step."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - Cargo" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/composites/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/composites/build.gradle b/tutorials/composites/build.gradle
index 55b7a4f..ca1f6ee 100644
--- a/tutorials/composites/build.gradle
+++ b/tutorials/composites/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "Basic tutorial on how to covert a simple 'Hello World' application to Apache Polygene™, using more and more features for each step."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - Composites" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/hello/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/hello/build.gradle b/tutorials/hello/build.gradle
index ef714da..86e2fcc 100644
--- a/tutorials/hello/build.gradle
+++ b/tutorials/hello/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "Basic tutorial on how to covert a simple 'Hello World' application to Apache Polygene™, using more and more features for each step."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - Composites" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/introduction/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/introduction/build.gradle b/tutorials/introduction/build.gradle
index 35e231e..665d16f 100644
--- a/tutorials/introduction/build.gradle
+++ b/tutorials/introduction/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "An Introduction to Apache Polygene™ in its simplest form."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - Introduction" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/introduction/tenminutes/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/introduction/tenminutes/build.gradle b/tutorials/introduction/tenminutes/build.gradle
index 3cf3389..60092ea 100644
--- a/tutorials/introduction/tenminutes/build.gradle
+++ b/tutorials/introduction/tenminutes/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "A 10-minute Introduction Tutorial to Apache Polygene™ in its simplest form."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - 10 minute Introduction" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/introduction/thirtyminutes/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/introduction/thirtyminutes/build.gradle b/tutorials/introduction/thirtyminutes/build.gradle
index dc0eeba..ed2acc7 100644
--- a/tutorials/introduction/thirtyminutes/build.gradle
+++ b/tutorials/introduction/thirtyminutes/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "A 30-minute Introduction Tutorial to Apache Polygene™ in its simplest form."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - 30 minute Introduction" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/introduction/twominutes/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/introduction/twominutes/build.gradle b/tutorials/introduction/twominutes/build.gradle
index f953cd0..1158065 100644
--- a/tutorials/introduction/twominutes/build.gradle
+++ b/tutorials/introduction/twominutes/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "A 2-minute Introduction Tutorial to Apache Polygene™ in its simplest form."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - 2 minute Introduction" } }

http://git-wip-us.apache.org/repos/asf/zest-java/blob/de73010f/tutorials/services/build.gradle
----------------------------------------------------------------------
diff --git a/tutorials/services/build.gradle b/tutorials/services/build.gradle
index 116af6f..c863a54 100644
--- a/tutorials/services/build.gradle
+++ b/tutorials/services/build.gradle
@@ -18,6 +18,8 @@
  *
  */
 
+apply plugin: 'polygene-tutorial'
+
 description = "Tutorial on how to use Apache Polygene™ service concept."
 
 jar { manifest { name = "Apache Polygene™ Tutorial - Services" } }


Mime
View raw message