diff --git a/modules/ROOT/pages/community/boardreports.adoc b/modules/ROOT/pages/community/boardreports.adoc
new file mode 100644
index 0000000..4a0c7e9
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports.adoc
@@ -0,0 +1,64 @@
+= Board Reports
+
+== 2018
+
+* link:boardreports/july-2018.html[July 2018]
+* link:boardreports/april-2018.html[April 2018]
+* link:boardreports/jan-2018.html[January 2018]
+
+== 2017
+
+* link:boardreports/oct-2017.html[October 2017]
+* link:boardreports/july-2017.html[July 2017]
+* link:boardreports/may-2017.html[May 2017]
+* link:boardreports/jan-2017.html[January 2017]
+
+== 2016
+
+* link:boardreports/oct-2016.html[October 2016]
+* link:boardreports/july-2016.html[July 2016]
+* link:boardreports/april-2016.html[April 2016]
+* link:boardreports/jan-2016.html[January 2016]
++
+== 2015
+* link:boardreports/nov-2015.html[November 2015]
+* link:boardreports/july-2015.html[July 2015]
+* link:boardreports/april-2015.html[April 2015]
+* link:boardreports/feb-2015.html[February 2015]
++
+== 2014
+* link:boardreports/oct-2014.html[October 2014]
+* link:boardreports/july-2014.html[July 2014]
+* link:boardreports/april-2014.html[April 2014]
+* link:boardreports/january-2014.html[January 2014]
++
+== 2013
+* link:boardreports/oct-2013.html[October 2013]
+* link:boardreports/july-2013.html[July 2013]
+* link:boardreports/april-2013.html[April 2013]
+* link:boardreports/january-2013.html[January 2013]
++
+== 2012
+* link:boardreports/october-2012.html[October 2012]
+* link:boardreports/july-2012.html[July 2012]
+* link:boardreports/april-2012.html[April 2012]
+* link:boardreports/january-2012.html[January 2012]
++
+== 2011
+* link:boardreports/october-2011.html[October 2011]
+* link:boardreports/july-2011.html[July 2011]
+* link:boardreports/april-2011.html[April 2011]
+* link:boardreports/march-2011.html[March 2011]
+* link:boardreports/february-2011.html[February 2011]
+* link:boardreports/january-2011.html[January 2011]
++
+== 2010
+* link:boardreports/december-2010.html[December 2010]
+* link:boardreports/september-2010.html[September 2010]
+* link:boardreports/june-2010.html[June 2010]
+* link:boardreports/march-2010.html[March 2010]
++
+== 2009
+* link:boardreports/december-2009.html[December 2009]
+* link:boardreports/november-2009.html[November 2009]
+* link:boardreports/october-2009.html[October 2009]
diff --git a/modules/ROOT/pages/community/boardreports/april-2011.adoc b/modules/ROOT/pages/community/boardreports/april-2011.adoc
new file mode 100644
index 0000000..6dd571c
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2011.adoc
@@ -0,0 +1,29 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= April 2011 Board report
+
+Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Since the last board report, there have been enhancements to the 'proxy' module to which has improved its performance by making use of the new 'Weaving Hook Service' OSGi specification (in 4.3) as an alternative to ASM.
+This also removes some restrictions on final classes/methods imposed by use the use of ASM.
+The 'spi-fly' module's OSGi service approach to META-INF/services has also been updated to make use of the Weavking Hook Service gaining similar benefits.
+
+Some more documentation on the new release-by-bundle release process has been written.
+This positions us nicely to demonstrate and make use of the OSGi Semantic Versioning scheme.
+Now that the parent-0.4 module has been released, we are in a position to use it for the next release.
+
+== Community update
+
+Small increase in since last month dev@ 118 subscribers, user@ 134 subscribers.
+There has been a slight increase in user list traffic.
+The dev@ list continues to be active with less traffic on the user@ list.
+No new committers or PMC members.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/april-2012.adoc b/modules/ROOT/pages/community/boardreports/april-2012.adoc
new file mode 100644
index 0000000..d215e2f
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2012.adoc
@@ -0,0 +1,39 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= April 2012 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+##Releases
+
+After the significant number of releases last quarter there were no new releases this quarter.
+Work is going on in a branch in preparation for a 1.0 release.
+Bundles and packages will be brought up from 0.x to 1.0 to better reflect the stability and level of confidence we have in them.
+This will also bring our versioning policy inline with that described in the OSGi Alliance semantic versioning whitepaper.
+
+##Project Branding Board Report Checklist
+
+Little progress:
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (done)
+
+##Community update
+
+No new committers since the last report.
+The user/dev lists and JIRAs continue to be moderately active.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/april-2013.adoc b/modules/ROOT/pages/community/boardreports/april-2013.adoc
new file mode 100644
index 0000000..218ca4e
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2013.adoc
@@ -0,0 +1,59 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= April 2013 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+* Apache Aries Subsystem 1.0.0
+
+____
+This is the reference implementation of the OSGi Subsystem Service Specification which "provides a declarative model for defining resource collections, including bundles, and an API for installing and managing those collections of resources." See OSGi Enterprise Release 5 specification chapter 134.
+subsystem-api, subsystem-core, and subsystem-obr 1.0.0 were released.
+____
+
+* Apache Aries SPI-Fly 1.0.0
+
+____
+This is the reference implementation of the OSGi Service Loader Mediator Specification which "defines a mediator that ensures that the Java SE 6 Service Loader is useful in an OSGi Framework, allowing programs that leverage the Service Loader to be used in OSGi frameworks almost as-is." See OSGi Enterprise Release 5 specification chapter 133.
+All the spi-fly bundles were released.
+____
+
+* Apache Aries Blueprint no-OSGi 1.0.0
+
+____
+Provides the ability to use Blueprint Schema, xml and injection outside of the OSGi environment.
+____
+
+* Apache Aries Blueprint Web 1.0.0
+
+____
+Provides a web context listener to bootstrap the no-OSGi Blueprint container inside a WAR.
+____
+
+* Apache Aries JMX 1.1.0 & 1.1.1
+
+____
+This implements the OSGi JMX Management Model Specification and has been updated to V1.1 of that spec (which requires V1.2 of JMX).
+____
+
+* Apache Aries Semantic Versioning Checker 0.1.0
+
+____
+This compares the bytecode of a module's previous release, with that being built to determine whether the package and bundle versions are semantically versioned correctly.
+____
+
+##Project update
+
+No new committers since the last report.
+Contributions are coming through on the dev list through git pull requests and patches to JIRAs and we continue to have varied discussions across the variety of our sub components.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/april-2014.adoc b/modules/ROOT/pages/community/boardreports/april-2014.adoc
new file mode 100644
index 0000000..9bbb6b1
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2014.adoc
@@ -0,0 +1,35 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= April 2014 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+* No releases done this quarter.
+
+== Project update
+
+* The Aries Subsystem implementation now works on Apache Felix 4.4.0.
+* Discussion held about decoupling Subsystems from Blueprint.
+* Discussion held about the process of applying Github pull requests.
+
+== JIRA Issues
+
+* Issues created: 26
+* Issues resolved: 8
+
+##Community
+
+* PMC: No changes.
+The last PMC member was added on 28th July 2013.
+* A number of issues originally filed as Github Pull Requests have been applied to the Apache Aries codebase.
+
+There are no issues requiring board attention at this time.
diff --git a/modules/ROOT/pages/community/boardreports/april-2015.adoc b/modules/ROOT/pages/community/boardreports/april-2015.adoc
new file mode 100644
index 0000000..46dc915
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2015.adoc
@@ -0,0 +1,49 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= April 2015 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+Last report was February.
+The following releases have been created with promotion to maven central dates:
+
+* Apache Aries Blueprint Core (blueprint-core) 1.4.3 2015/02/23
+* Apache Aries Blueprint CM (blueprint-cm) 1.0.6 2015/02/23
+* Apache Aries Blueprint Maven Plugin (blueprint-maven-plugin) 1.1.0 2015/03/03
+* Apache Aries Blueprint no-OSGI (blueprint-noosgi) 1.1.0 2015/03/03
+* Apache Aries Blueprint Web (blueprint-web) 1.1.0 2015/03/03
+* Apache Aries JMX Core (jmx-core) 1.1.3 2015/03/09
+* Apache Aries Transaction Enlisting JDBC Datasource (transaction-jdbc) 2.1.1 2015/03/09
+* Apache Aries SPI Fly Core (internal module) (spi-fly-core) 1.0.2 2015/03/24?
+* Apache Aries SPI Fly Dynamic Weaving Bundle (spi-fly-dynamic-bundle) 1.0.2 2015/03/24?
+* Apache Aries SPI Fly Static Weaving Bundle (spi-fly-static-bundle) 1.0.2 2015/03/24?
+* Apache Aries SPI Fly Static Weaving Tool (spi-fly-static-tool) 1.0.2 2015/03/24?
++
+Together the new SPI Fly releases pass the OSGi Enterprise R5 Service Loader Mediator 1.0 CT tests
+
+* Apache Aries Subsystem API (subsystem-api) 1.1.0 2015/03/24
+* Apache Aries Subsystem Core (subsystem-core) 1.2.0 2015/03/24
+* Apache Aries Subsystem OBR (subsystem-obr) 1.0.1 2015/03/24
+* Apache Aries Subsystems Bundle (subsystem-bundle) 1.2.0 2015/03/24
++
+Along with enhanced documentation.
+
+== Project update
+
+User questions across many of the Aries modules continue on the users@ list.
+Discussions about the refactoring of JPA and Quiesce modules on the dev@ list.
+A new contribution from a non-committer: esa-ant-plugin for building Enterprise Subsystem Archives (ESAs), made it into trunk.
+
+The SPI Fly releases were successfully voted, but the voting thread wasn't closed off in the usual way with a results tally.
+It looks like it was closed on 2015/03/24 as stated above.
+
+There are no issues requiring board attention at this time.
diff --git a/modules/ROOT/pages/community/boardreports/april-2016.adoc b/modules/ROOT/pages/community/boardreports/april-2016.adoc
new file mode 100644
index 0000000..616d04b
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2016.adoc
@@ -0,0 +1,65 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= April 2016 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an    enterprise OSGi application programming model.
+
+== Issues:
+
+* There are no issues requiring board attention at this time
+
+== Activity:
+
+* New module: Aries Remote Service Admin seeded from Apache CXF DOSGi for providing an implementation of the OSGi Remote Service Admin specification with pluggable transports.
+http://aries.apache.org/modules/rsa.html
+* New module: Aries Transaction Control Service.
+An implementation of the in development RFC221 at the OSGi Alliance.
+* 8 releases since the last report in January
+
+== Health report:
+
+* Mailing list discussion and project contributions continue to be healthy.
+
+== PMC changes:
+
+* Currently 37 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Christian Schneider on Fri Apr 10 2015
+
+== Committer base changes:
+
+* Currently 49 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Sam Bratton at Mon Dec 21 2015
+
+== Releases:
+
+* Aries JPA container (jpa-container) 1.0.4 2016-03-08
+* Apache Aries Proxy Service (proxy-impl) 1.0.5 2016-03-25
+* Apache Aries JMX Core (jmx-core) 1.1.6 2016-03-25
+* Aries Blueprint Core (blueprint-core) 1.6.0 2016-03-25
+* Aries Blueprint Spring Support (blueprint-spring) 0.2.0 2016-03-25
+* Aries Blueprint Spring Extender Support (blueprint-spring-extender) 0.2.0 2016-03-25
+* Aries Blueprint no-OSGI (blueprint-noosgi) 1.1.2 2016-03-25
+* Aries Blueprint CM (blueprint-cm) 1.0.8 2016-03-25
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 131 subscribers (down -4 in the last 3 months):
+ ** 488 emails sent to list (527 in previous quarter)
+* user@aries.apache.org:
+ ** 236 subscribers (up 0 in the last 3 months):
+ ** 37 emails sent to list (37 in previous quarter)
+
+== JIRA activity:
+
+* 44 JIRA tickets created in the last 3 months
+* 50 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/april-2018.adoc b/modules/ROOT/pages/community/boardreports/april-2018.adoc
new file mode 100644
index 0000000..df51337
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/april-2018.adoc
@@ -0,0 +1,57 @@
+:doctype: book
+
+Title: Apache Board report for Apache Aries, January 2018 Notice:    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.
+
+= April 2018 Board report
+
+== Description:
+
+* Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Issues:
+
+* No issues to report.
+
+== Activity:
+
+* As a community we made 5 releases in the last reporting period around updates to Aries Blueprint with a mix of bug fixes and functional enhancements.
+
+== Health report:
+
+* Mailing list activity up slightly on the last reporting period.
+Stable.
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Dominik Przybysz on Tue May 30 2017
+
+== Committer base changes:
+
+* Currently 55 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Tom De Wolf at Wed May 03 2017
+
+== Releases:
+
+* Aries Blueprint Parser (blueprint-parser) 1.5.0 on 2018-02-14
+* Aries Blueprint Core (blueprint-core) 1.9.0 on 2018-02-14
+* Aries Blueprint CM (blueprint-cm) 1.2.0 on 2018-02-14
+* Aries Blueprint Spring (blueprint-spring) 0.6.0 on 2018-02-14
+* Aries Blueprint Spring Extender (blueprint-spring-extender) 0.4.0 on 2018-02-14
+
+== /dist/ errors: 195
+
+* In progress - all are old releases but some are still the most recent.
+We've requested the signer to extend their key expiration and will review the list to see which can be archived.
+
+== JIRA activity:
+
+* 24 JIRA tickets created in the last 3 months
+* 72 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/december-2009.adoc b/modules/ROOT/pages/community/boardreports/december-2009.adoc
new file mode 100644
index 0000000..489040b
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/december-2009.adoc
@@ -0,0 +1,21 @@
+Title: December 2009 Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+
+There are currently no issues requiring IPMC or Board attention .
+
+The svn area has been organized with a single trunk for now, though we still need to settle the discussion about components lifecycle and the svn layout.
+
+The following sub-components are actively being developed:
+
+* Application
+* Blueprint
+* JMX
+
+There has been a lot of activity on the mailing list this month indicating a vibrant community is being built.
+
+Top 2 or 3 things to resolve before graduation:
+
+* Build community
+* Create a release
+* Address project scope concerns raised during acceptance vote
diff --git a/modules/ROOT/pages/community/boardreports/december-2010.adoc b/modules/ROOT/pages/community/boardreports/december-2010.adoc
new file mode 100644
index 0000000..7e8d012
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/december-2010.adoc
@@ -0,0 +1,29 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= December 2010 Board report
+
+Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+
+The Aries community and Incubator PMC have voted for Aries to graduate as a TLP.
+This is an agenda item in the Dec 15th 2010 Board meeting.
+
+There is discussion about making a release, which Karaf and Geronimo would consume, as soon as we have a decision from the board.
+
+There continues to be a vibrant community as shown by the activity on the mailing list in the last quarter.
+The Aries sub-components continue to be actively developed.
+Since the last board report we have 3 new committers (Bartosz Kowalewski, Chris Wilkinson and Emily Jiang) and one new PPMC member (Holly Cummins).
+
+We are close to moving our site from Confluence over to CMS.
+All that remains is for the site to be switched over.
+The CMS based site will allow us to update the site immediately after a change is made and more easily blend in non-wiki content such as that generated by the OSGi Enterprise Compliance Tests.
+
+There are no further issues to resolve before graduation - the Aries and Incubator communities have voted to graduate Aries to a TLP.
diff --git a/modules/ROOT/pages/community/boardreports/feb-2015.adoc b/modules/ROOT/pages/community/boardreports/feb-2015.adoc
new file mode 100644
index 0000000..7e9188a
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/feb-2015.adoc
@@ -0,0 +1,44 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= February 2015 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+The votes for these releases closed on 2014/10/21
+
+* Apache Aries Maven ESA Plugin (esa-maven-plugin) 1.0.0
+* Apache Aries JNDI Core (jndi-core) 1.0.2
+* Apache Aries JNDI URL Handler (jndi-url) 1.1.0
+* Apache Aries Transaction Manager (transaction-manager) 1.0.2
+* Apache Aries Transaction Blueprint (transaction-blueprint) 1.0.2
+* Apache Aries Transaction Enlisting JDBC Datasource (transaction-jdbc) 2.1.0
+* Apache Aries JMS Pool (transaction-jms) 2.0.0
+
+The votes for these releases closed on 2014/11/04
+
+* Apache Aries JPA Container (jpa-container) 1.0.2
+* Apache Aries JPA Container Managed Contexts (jpa-container-context) 1.0.4
+
+The votes for these releases closed on 2014/12/05
+
+* *New* Apache Aries Blueprint Maven Plugin (blueprint-maven-plugin) 1.0.0 (2014/12/05)
+* Apache Aries Blueprint Annotation based authorization (blueprint-authz) 1.0.0 (2014/12/05)
+
+== Project update
+
+Creation of a new project: blueprint-maven-plugin: for generating OSGi an blueprint.xml from CDI, JEE and Spring annotations.
+
+Contributions continue to come in from non-committers via GitHub.
+
+Newest PMC member voted in on 28th July 2013.
+
+There are no issues requiring board attention at this time.
diff --git a/modules/ROOT/pages/community/boardreports/february-2011.adoc b/modules/ROOT/pages/community/boardreports/february-2011.adoc
new file mode 100644
index 0000000..e2fe656
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/february-2011.adoc
@@ -0,0 +1,25 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= February 2011 Board report
+
+Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries 0.3 has now been released.
+Aries Application 0.2.1 is being released to assist Geronimo.
+This is the first time Aries has released a single module.
+
+Now that the first full Aries release since graduation has happened, and that there is a desire to consider OSGi semantic versioning guidelines we are discussing whether releasing at a finer grained level is more appropriate.
+There is much good discussion about what makes sense for Aries, with input from what happens in Felix, Sling and ACE.
+
+Community update: largely unchanged since last month dev@ 117 subscribers, user@ 127 subscribers.
+The dev@ list continues to be active with less traffic on the user@ list.
+No new committers or PMC members since the January report.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/jan-2016.adoc b/modules/ROOT/pages/community/boardreports/jan-2016.adoc
new file mode 100644
index 0000000..c7eb53a
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/jan-2016.adoc
@@ -0,0 +1,62 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= January 2016 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an    enterprise OSGi application programming model.
+
+== Issues:
+
+* There are no issues requiring board attention at this time
+
+== Activity:
+
+* 12 releases since the last report in November.
+* Aries added to the Sonar analysis on analysis.apache.org
+* A good flow of contributions via GitHub.
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Jean-Baptiste Onofre on Fri Apr 10 2015
+
+== Committer base changes:
+
+* Currently 49 committers.
+* Sam Bratton was added as a committer on Mon Dec 21 2015
+
+== Releases:
+
+* Aries Subsystems Bundle (subsystem-bundle) 2.0.8 2015-11-30
+* Aries Subsystem API (subsystem-api) 2.0.8 2015-11-30
+* Aries Subsystem Core (subsystem-core) 2.0.8 2015-11-30
+* Aries SPI-Fly (spi-fly) 1.0.8 2015-12-12
+* Aries JPA (jpa) 2.3.0 2015-12-16
+* Aries Transaction Blueprint (transaction-blueprint) 2.1.0 2015-12-16
+* Aries Blueprint Maven Plugin (blueprint-maven-plugin) 1.2.0 2015-12-16
+* Aries Blueprint Parser (blueprint-parser) 1.4.0 2015-12-18
+* Aries Blueprint Core (blueprint-core) 1.5.0 2015-12-18
+* Aries Blueprint Spring Support (blueprint-spring) 0.1.0 2015-12-18
+* Aries Blueprint Spring  Extender Support (blueprint-spring-extender) 0.1.0 2015-12-18
+* Aries JPA Container 1.0.3 2015-12-21
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 136 subscribers (up 4 in the last 3 months):
+ ** 824 emails sent to list (533 in previous quarter)
+* user@aries.apache.org:
+ ** 233 subscribers (down -1 in the last 3 months):
+ ** 98 emails sent to list (29 in previous quarter)
+
+== JIRA activity:
+
+* 72 JIRA tickets created in the last 3 months
+* 74 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/jan-2017.adoc b/modules/ROOT/pages/community/boardreports/jan-2017.adoc
new file mode 100644
index 0000000..2833f60
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/jan-2017.adoc
@@ -0,0 +1,66 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= January 2017 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an    enterprise OSGi application programming model.
+
+== Issues:
+
+* There are no issues requiring board attention at this time.
+
+== Activity:
+
+* As a community we made 3 releases this quarter and 3 further releases currently under vote, and added Johannes Utzig as a new committer.
+
+== Health report:
+
+* The PMC were requested by the board to consider if there are any potential PMC candidates among the current committers.
+There was some discussion, but no people were decided upon.
+This will be discussed again in the coming days.
+* A new contribution of the JAX-RS Services OSGi specification Reference Implementation has been contributed from Carlos Sierra Andrés.
+This specification is currently in draft.
+* The number of subscribers to the dev@ user@ private@ and commits@ lists are roughly consistent (down by 0-3 in the last 3 months).
+* The dev@ list traffic is consistent, while the user@ traffic has been down over last three months.
+However, there has been a wide variety of discussion across the different modules within Aries.
+* Despite 32 issues being closed off, the number opened was slightly higher in the past 3 months.
+
+== PMC changes:
+
+* Currently 37 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Christian Schneider on Fri Apr 10 2015
+
+== Committer base changes:
+
+* Currently 52 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Johannes Utzig at Wed Sep 14 2016
+
+== Releases:
+
+* Aries Blueprint Core 1.7.1 (blueprint-core) 2016-10-19
+* Aries JMX Core 1.1.7 (jmx-core) 2016-10-19
+* Aries Util 1.1.3 (util) 2016-10-20
+* Aries Transaction Control service (tx-control) 2016-10-21
+* Aries JPA 2.5.0 (jpa) 2016-10-31
+* Aries Apache Aries Blueprint Plugin SPI 1.0.0 (blueprint-maven-plugin-spi) 2016-12-05
+* Aries Blueprint Plugin Annotations 1.0.0 (blueprint-maven-plugin-annotation) 2016-12-05
+* Aries Blueprint Maven Plugin 1.5.0 (blueprint-maven-plugin) 2016-12-05
+* Aries Transaction Manager 1.3.2 (transaction-manager) 2017-01-03
+* Aries Proxy Service 1.0.6 (proxy-impl) 2017-01-03
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 135 subscribers (up 1 in the last 3 months):
+ ** 481 emails sent to list (546 in previous quarter)
+* user@aries.apache.org:
+ ** 239 subscribers (up 0 in the last 3 months):
+ ** 269 emails sent to list (91 in previous quarter)
diff --git a/modules/ROOT/pages/community/boardreports/jan-2018.adoc b/modules/ROOT/pages/community/boardreports/jan-2018.adoc
new file mode 100644
index 0000000..e9ae4a3
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/jan-2018.adoc
@@ -0,0 +1,52 @@
+:doctype: book
+
+Title: Apache Board report for Apache Aries, January 2018 Notice:    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.
+
+= January 2018 Board report
+
+* Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Issues:
+
+* None to report this quarter.
+
+== Activity:
+
+* As a community we made 10 releases this quarter.
+* After some discussion, the tx-control module is being moved into gitbox.apache.org.
+
+== Health report:
+
+* the net number of JIRA tickets has crept up slightly this month, but generally under control.
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Dominik Przybysz on Tue May 30 2017
+
+== Committer base changes:
+
+* Currently 55 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Tom De Wolf at Wed May 03 2017
+
+== Releases:
+
+* Aries Blueprint Core (blueprint-core) 1.8.3 on 2017-10-19
+* Aries SPI Fly (spi-fly) 1.0.10 on 2017-11-28
+* Aries JMX Core (jmx-core) 1.1.8 on 2018-01-09
+* Aries JMX Core via Whiteboards (jmx-core-whiteboard) 1.1.6 on 2018-01-09
+* Aries JMX Blueprint API (jmx-blueprint-api) 1.2.0 on 2018-01-09
+* Aries JMX Blueprint Core (jmx-blueprint-core) 1.2.0 on 2018-01-09
+* Aries Whiteboard support for JMX DynamicMBean services (jmx-whiteboard) 1.2.0 on 2018-01-09
+
+== JIRA activity:
+
+* 20 JIRA tickets created in the last 3 months
+* 7 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/january-2011.adoc b/modules/ROOT/pages/community/boardreports/january-2011.adoc
new file mode 100644
index 0000000..9f60185
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/january-2011.adoc
@@ -0,0 +1,27 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= January 2011 Board report
+
+Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries graduated from the Incubator on 15th December 2010.
+The majority of the items on the Incubator transfer to TLP list have been completed but not all.
+
+We are preparing our 0.3 release and are at the stage of removing snapshot dependencies by working with the projects Aries depends on to cut releases themselves.
+This is making good progress.
+
+The Aries web site has now moved from Confluence to CMS.
+The speed to put a page into production is much improved and very welcome.
+
+Community update: dev@ 118 subscribers, user@ 127 subscribers.
+The dev@ list continues to be active with less traffic on the user@ list.
+No new committers or PMC members since the December report.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/january-2012.adoc b/modules/ROOT/pages/community/boardreports/january-2012.adoc
new file mode 100644
index 0000000..042b1bb
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/january-2012.adoc
@@ -0,0 +1,71 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= January 2012 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+We have successfully executed on our 'release by bundle' approach.
+This will help our users who would like to take updates of individual bundles: "Small releases".
+Distribution releases containing sets of bundles that combine well together will come later: "Big releases".
+
+##Releases
+
+* Apache Aries Unit Test Support 0.4
+* Apache Aries Util 0.4
+* Apache Aries Proxy:
+ ** Apache Aries Proxy API 0.4
+ ** Apache Aries Proxy Service 0.4
+ ** Apache Aries Proxy iTests 0.4
+ ** Apache Aries Proxy Bundle 0.4
+* Apache Aries Quiesce
+ ** Apache Aries Quiesce Manager 0.3.1
+ ** Apache Aries Quiesce Manager iTests 0.3.1
+* Apache Aries Blueprint
+ ** Apache Aries Blueprint Annotation API 0.3.2
+ ** Apache Aries Blueprint Annotation Impl 0.3.2
+ ** Apache Aries Blueprint Annotation iTests 0.3.2
+ ** Apache Aries Blueprint CM 0.3.2
+ ** Apache Aries Blueprint Core 0.4
+ ** Apache Aries Blueprint iTests 0.4
+ ** Apache Aries Blueprint JEXL evaluator 0.1.0
+ ** Apache Aries Blueprint Sample 0.4
+ ** Apache Aries Blueprint Sample for Testing Annotation 0.3.2
+ ** Apache Aries Blueprint Sample Fragment for Testing Annotation 0.3.2
+ ** Apache Aries Blueprint Test Bundle A 0.3.2
+ ** Apache Aries Blueprint Test Bundle B 0.3.2
+ ** Apache Aries Blueprint Test Quiesce Bundle 0.3.2
+ ** Apache Aries Blueprint Bundle 0.4
+ ** Apache Aries Blueprint Parser 0.4
+* Apache Aries JNDI
+ ** Apache Aries JNDI Core 0.3.1
+ ** Apache Aries JNDI URL Handler 0.3.1
+ ** Apache Aries JNDI RMI Handler 0.3.1
+ ** Apache Aries JNDI Bundle 0.3.1
+ ** Apache Aries JNDI Support for Legacy Runtimes 0.3.1
+ ** Apache Aries JNDI "business logic" test bundle for Aries jndi-url iTests 0.3.1
+ ** Apache Aries JNDI Test Bundle for Aries jndi-url iTests 0.3.1
+ ** Apache Aries JNDI iTests for jndi-url 0.3.1
+
+##Project Branding Board Report Checklist
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (done)
+
+##Community update
+
+No new committers since the last report.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/january-2013.adoc b/modules/ROOT/pages/community/boardreports/january-2013.adoc
new file mode 100644
index 0000000..cbaceab
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/january-2013.adoc
@@ -0,0 +1,47 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= January 2013 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+##Project update
+
+* The SPI Fly component now fully implements the ServiceLoader Mediator Specification 1.0 from the OSGi Enterprise R5 spec (chapter 133).
+It is the Reference Implementation of this spec and passes all the OSGi TCK tests for it.
+* The JMX component in Aries now fully implements OSGi/JMX 1.1 from the OSGi Enterprise R5 spec (chapter 124).
+As of this version it is the Reference Implementation of this spec and passes all the OSGi TCK tests for JMX.
++
+Both components are available in SNAPSHOT versions in the Aries code base.
+They are waiting to be released.
+
+* The Semantic Versioning maven plugin component is now being used in our own builds - for modules that have 1.0 or above releases.
+For those modules, the bytecode output to the target directory will be checked for semantic changes since the last release.
+If the semantic version is incorrect, the build  will fail.
+* Apache Karaf 2.3.0 - one of our significant consumers - has moved up to include Apache Aries 1.0.0 releases.
+
+No releases this quarter.
+
+##Project Branding Board Report Checklist
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (done)
+
+##Community update
+
+No new committers since the last report.
+The user/dev lists and JIRAs have had some varied discussions across the Aries modules.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/january-2014.adoc b/modules/ROOT/pages/community/boardreports/january-2014.adoc
new file mode 100644
index 0000000..5559981
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/january-2014.adoc
@@ -0,0 +1,63 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= January 2014 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+* Apache Aries Blueprint Core 1.3.0 [25Oct2013]
+
+Fix to a problem when looking up the container and that resulting in a not-found exception during refresh.
+
+* Apache Aries Blueprint Core 1.4.0 [23Dec2013]
+
+Custom namespace extensions to allow a service reference to implement multiple interfaces
+
+* Apache Aries Blueprint Parser 1.2.0 [23Dec2013]
+
+Custom namespace extensions to allow a service reference to implement multiple interfaces
+
+* Apache Aries Blueprint Web OSGi 1.0.0 [25Oct2013]
+
+An OSGi-aware Servlet ContextListener for bootstrapping Blueprint inside web-bundle containers.
+
+* Apache Aries Blueprint Web OSGi 1.0.1 [08Nov2013]
+
+Bug fix release.
+
+* Apache Aries Blueprint CM 1.0.2 [14Oct2013]
+
+Integration of OSGi Blueprint with the OSGi Configuration Admin Service.
+Bug fix.
+
+* Apache Aries Blueprint CM 1.0.3 [25Oct2013]
+
+Bug fix release
+
+* Apache Aries Proxy Service 1.0.2 [25Oct2013]
+
+Proxy service implementation bug fixes.
+
+* Apache Aries Transaction Enlisting JDBC Datasource 2.0.0 [23Dec2013]
+
+Provide a correct JDBC wrapping for XA datasources & bug fixes.
+
+* Apache Aries Transaction Manager 1.1.0 [23Dec2013]
+
+Bug fix release
+
+##Project update
+
+The last time the PMC roster was updated was with the addition of John Ross on 28th July 2013.
+Discussions on both dev@ and user@ lists continue to be varied.
+After 3 quarters of user@ mailing list membership growth, it has plateau'd over the last quarter.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/july-2011.adoc b/modules/ROOT/pages/community/boardreports/july-2011.adoc
new file mode 100644
index 0000000..adceeac
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2011.adoc
@@ -0,0 +1,47 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= July 2011 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Users have asked for a release of the Aries JPA bundles and hence the snapshot bundles it depends on (Aries Util) - in particular due to:
+
+* the new 'runtime enhancer' that will mean entities can be enhanced as they are used in the runtime, rather than at development time.
+* the support for EclipseLink (in addition to Apache OpenJPA) as a JPA provider
+
+The release process has just started.
+This will exercise our per bundle release process adhering to the OSGi Alliance Semantic Versioning recommendations.
+
+There have also been enhancements to the Aries JMX (whiteboard pattern) and Aries Subsystem (to use OSGi Core 4.3).
+
+Apache Geronimo, which consumes Apache Aries to implement its enterprise OSGi application programming model, has been readying a release.
+The performance enhancements in the Aries Proxy module which now makes use of the new Weaving Hooks OSGi specification, has had a few teething problems for Geronimo.
+All known problems are now resolved.
+
+##Project Branding Board Report Checklist
+
+We've been reminded of this work and are reporting this checklist for the first time.
+We appreciate we're a bit behind the curve here, and are doing our best to catch up.
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (pending - some minor updates needed)
+
+##Community update
+
+Roughly same number of dev@ subscribers at 119, user@ 148 subscribers up 14 since last report.
+John Ross was voted in as a committer after his significant work to the 'subsystem' module.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/july-2012.adoc b/modules/ROOT/pages/community/boardreports/july-2012.adoc
new file mode 100644
index 0000000..f5bd5a0
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2012.adoc
@@ -0,0 +1,51 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= July 2012 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+##Releases
+
+The following bug fix releases:
+
+* Apache Aries Proxy 0.3.1
+* Apache Aries Proxy 0.4.1
+
+As indicated in the last report, bundles and packages are now being  brought up from 0.x to 1.0 to better reflect the stability and level of confidence we have in them.
+This will also bring our versioning policy inline with that described in the OSGi Alliance semantic versioning whitepaper.
+The 1.0 releases have started.
+We have approx 118 OSGi bundles so these are being done in logical phases.
+These have completed:
+
+* Apache Aries Test Support 1.0.0
+* Apache Aries JNDI API 1.0.0
+* Apache Aries JMX API 1.0.0
+* Apache Aries JPA Container API 1.0.0
+* Apache Aries Quiesce API 1.0.0
+
+In addition there has been significant activity in the Aries Subsystems module which will be an implementation of the OSGi Subsystem Service Specification.
+
+##Project Branding Board Report Checklist
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (done)
+
+##Community update
+
+No new committers since the last report.
+The user/dev lists and JIRAs continue to be moderately active, with new patches being posted by contributors.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/july-2013.adoc b/modules/ROOT/pages/community/boardreports/july-2013.adoc
new file mode 100644
index 0000000..5a9f7cd
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2013.adoc
@@ -0,0 +1,30 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= July 2013 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+* Apache Aries Subsystems Bundle 1.0.0
+
+____
+This is an 'uber' bundle form of the API and implementation (core) bundles of Aries Subsystems.
+Together these are the reference implementation of the OSGi Subsystem Service Specification which "provides a declarative model for defining resource collections, including bundles, and an API for installing and managing those collections of resources." See OSGi Enterprise Release 5 specification chapter 134.
+The 'uber' bundle is released for a convenience for people starting out with Subsystems.
+____
+
+##Project update
+
+We have voted in John Ross as a member of the PMC.
+No new committers since the last report.
+Usage questions and interactions with other non-ASF projects continue to be asked on the user list, showing users are putting Aries to use in real world scenarios.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/july-2014.adoc b/modules/ROOT/pages/community/boardreports/july-2014.adoc
new file mode 100644
index 0000000..48ae7ee
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2014.adoc
@@ -0,0 +1,50 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= July 2014 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+There was a significant amount of release activity this quarter.
+In particular, contributions for Java 7 enablement and Pax Exam 3.x usage - modernizing testing.
+
+* Apache Aries Semantic Versioning Checker 0.2.0 and 0.3.0
+* Apache Aries Parent Pom release (simplification)
+* Apache Aries Proxy API 1.0.1
+* Apache Aries Proxy Service 1.0.3
+* Apache Aries JMX API 1.1.1
+* Apache Aries JMX Core 1.1.2
+
+[discrete]
+==== Apache Aries Blueprint releases:
+
+* Blueprint API 1.0.1
+* Blueprint Parser 1.2.1
+* Blueprint Annotation API 1.0.1
+* Blueprint Annotation Impl 1.0.1
+* Blueprint CM 1.0.4
+* Blueprint Core 1.4.1
+
+A new release of the Aries SPI fly bundles is currently being voted on.
+
+== Project update
+
+We're see almost all of our contributions from non-committers coming as pull requests from GitHub.
+The last PMC member was added 28th July 2013.
+
+##Community
+
+* We voted in the following new committers:
+* Jean-Baptiste Onofré
+* Christian Schneider
+* Tom Watson
+
+There are no issues requiring board attention at this time.
diff --git a/modules/ROOT/pages/community/boardreports/july-2015.adoc b/modules/ROOT/pages/community/boardreports/july-2015.adoc
new file mode 100644
index 0000000..8b8f078
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2015.adoc
@@ -0,0 +1,46 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= July 2015 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+After some discussion at the end of May, we resolved to alter our release process.
+The new process means we'll be compromising slightly on OSGi semantic versioning at the bundle level in favour of making the release process simpler and easier to do often.
+
+The following releases have been created with dates they were promoted to maven central:
+
+* Apache Aries Transaction Manager (transaction-manager) 1.2.0 2015/05/09
+* Apache Aries Parent POM (parent) 2.0.1 2015/06/08
+* Apache Aries JPA 2.0.0 (jpa) 2015/06/19
+* Apache Aries Subsystems API 2.0.1 (subsystem-api) 2015/06/29
+* Apache Aries Subsystems Core 2.0.1 (subsystem-core) 2015/06/29
+* Apache Aries Subsystems Bundle 2.0.1 (subsystem-bundle) 2015/06/29
+* Apache Aries Blueprint Parser (blueprint-parser) 1.3.1 2015/06/02
+* Apache Aries Blueprint Web (blueprint-web) 1.1.1 2015/06/02
+* Apache Aries Blueprint no-OSGI (blueprint-noosgi) 1.1.1 2015/06/02
+* Apache Aries Subsystems API 2.0.2 (subsystem-api) 2015/07/03
+* Apache Aries Subsystems Core 2.0.2 (subsystem-core) 2015/07/03
+* Apache Aries Subsystems Bundle 2.0.2 (subsystem-bundle) 2015/07/03
+* Apache Aries Transaction Manager (transaction-manager) 1.2.1 2015/07/10
+
+== Project update
+
+A new module containing an implementation of the OSGi Async service has been contributed.
+
+Jean-Baptiste Onofre & Christian Schneider added to the PMC on 2015/04/10
+
+New committers: Giuseppe Gerla 2015/05/26
+
+User list activity has decreased over the past few months, whereas the dev@ traffic remains fairly consistent.
+This may be due to Aries 'library' nature.
+
+There are no issues requiring board attention at this time.
diff --git a/modules/ROOT/pages/community/boardreports/july-2016.adoc b/modules/ROOT/pages/community/boardreports/july-2016.adoc
new file mode 100644
index 0000000..cf9bde9
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2016.adoc
@@ -0,0 +1,59 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= July 2016 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an    enterprise OSGi application programming model.
+
+== Activity:
+
+* As a community we made 8 releases this quarter: one was the initial release of Aries Transaction Control, the were 4 function releases and 3 fix releases.
+* We welcome two new committers: Dominik Przybysz and Carlos Sierra Andrés.
+
+== Health report:
+
+* Mailing list discussion and project contributions continue to be healthy.
+
+== PMC changes:
+
+* Currently 37 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Christian Schneider on Fri Apr 10 2015
+
+== Committer base changes:
+
+* Currently 51 committers.
+* New commmitters:
+ ** Dominik Przybysz was added as a committer on Mon May 30 2016
+ ** Carlos Sierra Andrés was added as a committer on Fri Jun 17 2016
+
+== Releases:
+
+* Aries Remote Service Admin (aries-rsa) 1.8.0 2016-04-04
+* Aries Blueprint Core (blueprint-core) 1.6.1 2016-04-17
+* Aries Blueprint Core (blueprint-core) 1.6.2 2016-05-03
+* Aries Blueprint Maven Plugin 1.4.0 2016-05-07
+* Aries Transaction Enlisting JDBC Datasource 2.1.2 2016-06-02
+* Aries JPA 2.4.0 2016-06-14
+* Aries Transaction Control Service 0.0.1 2016-06-21
+* Aries Remote Service Admin (aries-rsa) 1.9.0 2016-07-12
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 134 subscribers (up 4 in the last 3 months):
+ ** 552 emails sent to list (399 in previous quarter)
+* user@aries.apache.org:
+ ** 241 subscribers (up 4 in the last 3 months):
+ ** 193 emails sent to list (36 in previous quarter)
+
+== JIRA activity:
+
+* 56 JIRA tickets created in the last 3 months
+* 46 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/july-2017.adoc b/modules/ROOT/pages/community/boardreports/july-2017.adoc
new file mode 100644
index 0000000..5ae949a
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2017.adoc
@@ -0,0 +1,64 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= July 2017 Board report
+
+* Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Issues:
+
+* None to report this quarter.
+
+== Activity:
+
+* As a community we made 9 releases this quarter.
+* We have added a new project: Aries Containers for manage container deployments from a Java API.
+
+== Health report:
+
+* The dev@ list traffic is back to the level from 2 quarters after a spike last quarter.
+* The dev@ mailing list seems to be the channel most people communicate over.
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* Dominik Przybysz was added to the PMC on Tue May 30 2017
+
+== Committer base changes:
+
+* Currently 55 committers.
+* New commmitters:
+ ** Raymond Augé was added as a committer on Mon Apr 24 2017
+ ** Tom De Wolf was added as a committer on Wed May 03 2017
+
+== Releases:
+
+* aries-rsa 1.11.0 was released on Fri Jul 07 2017
+* blueprint-core 1.8.1 was released on Fri May 12 2017
+* blueprint-core 1.8.2 was released on Thu Jul 06 2017
+* blueprint-maven-plugin 1.7.0 was released on Fri May 19 2017
+* blueprint-maven-plugin-spring-handlers 1.0.0 was released on Fri May 19 2017
+* blueprint-spring 0.4.0 was released on Thu Jul 06 2017
+* proxy-impl 1.1.1 was released on Fri May 12 2017
+* transaction-manager 1.3.3 was released on Fri May 12 2017
+* tx-control 0.0.3 was released on Mon Jun 26 2017
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 137 subscribers (up 0 in the last 3 months):
+ ** 324 emails sent to list (586 in previous quarter)
+* user@aries.apache.org:
+ ** 241 subscribers (up 4 in the last 3 months):
+ ** 34 emails sent to list (38 in previous quarter)
+
+== JIRA activity:
+
+* 15 JIRA tickets created in the last 3 months
+* 22 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/july-2018.adoc b/modules/ROOT/pages/community/boardreports/july-2018.adoc
new file mode 100644
index 0000000..8d33374
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/july-2018.adoc
@@ -0,0 +1,70 @@
+:doctype: book
+
+Title: Apache Board report for Apache Aries, July 2018 Notice:    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.
+
+= July 2018 Board report
+
+== Description:
+
+* Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Issues:
+
+* No issues to report.
+
+== Activity:
+
+* As a community we made 13 releases in the last reporting period.
+This is up significantly on last quarter due to the release of OSGi R7
+
+== Health report:
+
+* Dev mailing list activity up on previous reporting period.
+Stable.
+
+== PMC changes:
+
+* Currently 41 PMC members.
+* New PMC members:
+ ** Carlos Sierra Andrés was added to the PMC on Tue Jul 03 2018
+ ** Grzegorz Grzybek was added to the PMC on Tue Jul 03 2018
+ ** Raymond Augé was added to the PMC on Tue Jul 03 2018
+
+== Committer base changes:
+
+* Currently 55 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Tom De Wolf at Wed May 03 2017
+
+== Releases:
+
+* Aries JPA (jpa) 2.7.0 on 2018-04-30
+* Aries Remote Service Admin (aries-rsa) 1.12.0l on  2018-05-03
+* Aries Tx Control (tx-control) 1.0.0 on 2018-05-03
+* Aries Component-DSL (component-dsl) on 2018-05-04
+* Aries Blueprint Maven Plugin (blueprint-maven-plugin) 1.10.0 on 2018-05-15
+* Aries Transaction Blueprint (transaction-blueprint) 2.2.0 on 2018-05-18
+* Aries SPI-Fly (spi-fly) 1.0.12 on 2018-06-05
+* Aries Component-DSL (component-dsl) 1.1.0 on 2018-06-05
+* Aries Transaction JDBC (transaction-jdbc) 2.1.3 on 2018-06-07
+* Aries Blueprint (blueprint) 1.10 on 2018-06-07
+* Aries Proxy Impl (proxy-impl) 1.1.2 on 2018-06-10
+* Aries Component-DSL (component-dsl) 1.2.0 on 2018-06-25
+* Aries JAX-RS Whiteboard 1.0.0 (aries-jax-rs-whiteboard) on 2018-06-29
+
+== /dist/ errors: 195
+
+* Still in progress - no response yet.
+Trying again.
+All are old releases but some are still the most recent.
+We've requested the signer to extend their key expiration and will review the list to see which can be archived.
+
+== JIRA activity:
+
+* 26 JIRA tickets created in the last 3 months
+* 29 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/june-2010.adoc b/modules/ROOT/pages/community/boardreports/june-2010.adoc
new file mode 100644
index 0000000..d580a1a
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/june-2010.adoc
@@ -0,0 +1,25 @@
+Title: June 2010 Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+
+There are currently no issues requiring IPMC or Board attention.
+
+The following sub-components are actively being developed:
+
+* Application
+* Subsystems
+* Blueprint
+* JMX
+* JPA
+
+Several new sample applications have been developed to demonstrate the Aries functionality.
+
+There continues to be a vibrant community as shown by the activity on the mailing list this year.
+
+On May 26th we released Apache Aries 0.1-incubating, our first release.
+
+Top 2 or 3 things to resolve before graduation:
+
+* Build community  link:done.html[done]
+* Create a release link:done.html[done]
+* Address project scope concerns raised during acceptance vote
diff --git a/modules/ROOT/pages/community/boardreports/march-2010.adoc b/modules/ROOT/pages/community/boardreports/march-2010.adoc
new file mode 100644
index 0000000..6603176
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/march-2010.adoc
@@ -0,0 +1,29 @@
+Title: March 2010 Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+
+There are currently no issues requiring IPMC or Board attention .
+
+The following sub-components are actively being developed:
+
+* Application
+* Blueprint
+* JMX
+* JPA
+
+Several new sample applications have been developed to demonstrate the Aries functionality.
+
+A new component has been created to feed experience into the OSGi standards process.
+
+There has been a lot of activity on the mailing list this year indicating a vibrant community is being built.
+
+One new committer, Rex Wang, has been added.
+Redhat have started to participate in the project.
+
+We have begun the process of doing a 0.1.0 release and aim to release shortly.
+
+Top 2 or 3 things to resolve before graduation:
+
+* Build community
+* Create a release
+* Address project scope concerns raised during acceptance vote
diff --git a/modules/ROOT/pages/community/boardreports/march-2011.adoc b/modules/ROOT/pages/community/boardreports/march-2011.adoc
new file mode 100644
index 0000000..d5e2479
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/march-2011.adoc
@@ -0,0 +1,33 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= March 2011 Board report
+
+Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== New releases
+
+These bug fix releases have been completed since the last board report:
+
+* Aries Application 0.2.1
+* Aries Blueprint 0.2.1
+* Aries Blueprint 0.3.1
+
+== Release by bundle
+
+After some significant investigation and discussion, we recently concluded a vote to switch to a release-by-bundle scheme.
+This is to enable us to follow the guidance set out in the OSGi Alliance Semantic Versioning white paper.
+
+== Community update
+
+Largely unchanged since last month dev@ 117 subscribers, user@ 129 subscribers.
+The dev@ list continues to be active with less traffic on the user@ list.
+No new committers or PMC members.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/may-2017.adoc b/modules/ROOT/pages/community/boardreports/may-2017.adoc
new file mode 100644
index 0000000..52955e3
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/may-2017.adoc
@@ -0,0 +1,87 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= May 2017 Board report
+
+* Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+* The PMC apologises for missing the April 2017 board report deadline and offers this report to cover the period between the April board meeting and now in addition to the months of the previous reporting period (mid Jan to mid Apr).
+
+== Issues:
+
+* One issue for the Board to consider is how to add new committers when the PMC lead is not available, see below in committer base changes.
+
+== Activity:
+
+* As a community we made 12 releases this quarter.
+* Raymond Augé and Tom de Wolf have been voted in as new committers.
+
+== Health report:
+
+* The PMC were requested by the board to consider if there are any potential PMC candidates among the current committers.
+The PMC have invited Dominik Przybysz and will continue to consider new PMC members.
+* A new contribution of CDI integration has been donated by Raymond Augé.
+* The dev@ list traffic is increasing, user@ traffic has been quite low.
+* The dev@ mailing list seems to be the channel most people communicate over.
+
+== PMC changes:
+
+* Currently 37 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Christian Schneider on Fri Apr 10 2015
+* Dominik Przybysz has accepted an invitation and is in the process of being added
+
+== Committer base changes:
+
+* Currently 55 committers.
+* New commmitters:
+* Grzegorz Grzybek was added as a committer on Tue Feb 28 2017
+* Raymond Augé was added as a committer on Mon Apr 24 2017
+* Tom De Wolf was added as a committer on Wed May 03 2017
+* We voted Raymond Augé and Tom de Wolf in as committers, but it took _some time_ for Raymond (already a committer) to be added to the committer group and for Tom's ID to be created while the PMC chair was unavailable for 4 weeks.
++
+In retrospect, https://www.apache.org/dev/pmc.html#newcommitter indicates Tom could have had his ID created in the absence of the Chair:
++
+"...ASF member can use the same form in his/her stead.
+....
+If the ICLA included the PMC name, normally the account will already have been set up in the correct LDAP group that will grant access to the project source repository."
++
+But Raymond, who already has an Apache ID, couldn't be added to the aries unix group without an action by the Chair:
++
+"To grant or deny access to directories in SVN, the PMC chair needs to update the appropriate [group] entry."
++
+This seems like an anomaly and we'll start a discussion to see what we can do to resolve.
+
+== Releases:
+
+* Aries JPA (jpa) 2.6.1 - 3-Apr-2017
+* Aries Proxy API (proxy-api) 1.1.0 - 24-Mar-2017
+* Aries Proxy (proxy) 1.1.0 - 24-Mar-2017
+* Aries Blueprint Core (blueprint-core) 1.8.0 - 24-Mar-2017
+* Aries Blueprint CM (blueprint-cm) 1.1.0 - 24-Mar-2017
+* Aries ESA Maven Plugin (esa-maven-plugin) 1.0.2 - 15-Mar-2017
+* Aries JPA (jpa) 2.6.0 - 27-Feb-2017
+* Aries Blueprint Maven Plugin Annotations (blueprint-maven-plugin-annotation) 1.1.0 - 27-Feb-2017
+* Aries Blueprint Maven Plugin (blueprint-maven-plugin) 1.6.0 - 27-Feb-2017
+* Aries Remote Service Admin 1.10.0 (aries-rsa) 27-Feb-2017
+* Aries Blueprint Spring (blueprint-spring) 0.3.0 - 7-Feb-2017
+* Aries Aries Blueprint Spring Extender Support (blueprint-spring-extender) 0.3.0 - 1-Feb-2017
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 137 subscribers (up 2 in the last 3 months):
+ ** 539 emails sent to list (398 in previous quarter)
+* user@aries.apache.org:
+ ** 237 subscribers (up 0 in the last 3 months):
+ ** 30 emails sent to list (99 in previous quarter)
+
+== JIRA activity:
+
+* 40 JIRA tickets created in the last 3 months
+* 47 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/nov-2015.adoc b/modules/ROOT/pages/community/boardreports/nov-2015.adoc
new file mode 100644
index 0000000..50539a9
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/nov-2015.adoc
@@ -0,0 +1,74 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= November 2015 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an    enterprise OSGi application programming model.
+
+== Issues:
+
+* There are no issues requiring board attention at this time
+
+== Activity:
+
+* 23 releases since the last report in July.
+* Increasingly, contributions come in via GitHub pull requests.
+* Good discussions on both user@ and dev@ lists.
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Jean-Baptiste Onofre on Fri Apr 10 2015
+
+== Committer base changes:
+
+* Currently 48 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Giuseppe Gerla at Wed May 27 2015
+
+== Releases:
+
+* Aries Versioning 0.3.1 2015-07-16
+* Aries Blueprint Core (blueprint-core) 1.4.4 2015-07-16
+* Aries Blueprint CM (blueprint-cm) 1.0.7 2015-07-16
+* Aries Transaction Manager (transaction-manager) 1.3.0 2015-08-10
+* Aries Util (util) 1.1.1 2015-08-10
+* Aries Asynchronous OSGi Services 1.0.1 2015-08-10
+* Aries JPA (jpa) 2.1.0 2015-08-10
+* Aries Transaction Blueprint (transaction-blueprint) 1.1.1 2015-08-11
+* Aries JMX (jmx) 1.1.5 2015-08-30
+* Aries Blueprint Maven Plugin (blueprint-maven-plugin) 1.2.0 2015-09-25
+* Aries Transaction Blueprint (transaction-blueprint) 2.0.0 2015-09-25
+* Aries JPA (jpa) 2.2.0 2015-09-26
+* Aries Subsystem Gogo Command (subsystem-gogo-command) 1.0.0 2015-10-05
+* Aries Subsystems Bundle (subsystem-bundle) 2.0.4 2015-10-07
+* Aries Subsystem API (subsystem-api) 2.0.4 2015-10-07
+* Aries Subsystem Core (subsystem-core) 2.0.4 2015-10-07
+* Aries Subsystem OBR (subsystem-obr) 1.0.4 2015-10-07
+* Aries Blueprint Core (blueprint-core) 1.4.5 2015-10-26
+* Aries Blueprint Parser (blueprint-parser) 1.3.2 2015-10-26
+* Aries Subsystems Bundle (subsystem-bundle) 2.0.6 2015-11-01
+* Aries Subsystem API (subsystem-api) 2.0.6 2015-11-01
+* Aries Subsystem Core (subsystem-core) 2.0.6 2015-11-01
+* Aries SPI-Fly (spi-fly) 1.0.6 2015-11-09
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 136 subscribers (up 4 in the last 3 months):
+ ** 824 emails sent to list (533 in previous quarter)
+* user@aries.apache.org:
+ ** 233 subscribers (down -1 in the last 3 months):
+ ** 98 emails sent to list (29 in previous quarter)
+
+== JIRA activity:
+
+* 72 JIRA tickets created in the last 3 months
+* 74 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/november-2009.adoc b/modules/ROOT/pages/community/boardreports/november-2009.adoc
new file mode 100644
index 0000000..b90d768
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/november-2009.adoc
@@ -0,0 +1,17 @@
+Title: November 2009 Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+This is our second board report.
+
+There are currently no issues requiring IPMC or Board attention .
+
+The svn area has been organized with a single trunk for now, though we still need to settle the discussion about components lifecycle and the svn layout.
+
+The application manifest component of the IBM contribution has been moved out into the trunk.
+The blueprint component has undergone some further enhancement and work is starting on an implementation of the OSGi JMX specification.
+
+The mailing lists was quieter this month, probably due to the apache conference.
+
+Top 2 or 3 things to resolve before graduation:
+
+Build community Create a release Address project scope concerns raised during acceptance vote
diff --git a/modules/ROOT/pages/community/boardreports/oct-2013.adoc b/modules/ROOT/pages/community/boardreports/oct-2013.adoc
new file mode 100644
index 0000000..f4fad9b
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/oct-2013.adoc
@@ -0,0 +1,32 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= October 2013 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Releases
+
+* Apache Aries Blueprint Parser 1.1.0
+
+Reusable component for parsing Blueprint xmls.
+
+* Apache Aries Blueprint Core 1.2.0  Core of the implementation of the OSGi Blueprint Container Specification
+
+Currently being voted on:
+
+* Apache Aries Blueprint CM 1.0.2
+
+Integration of OSGi Blueprint with the OSGi Configuration Admin Service.
+
+##Project update
+
+There has been a variety of discussion traffic on the dev and user lists primarily across blueprint, trasnaction, esa-maven-plugin, jpa, subsystem.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/oct-2014.adoc b/modules/ROOT/pages/community/boardreports/oct-2014.adoc
new file mode 100644
index 0000000..20f353e
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/oct-2014.adoc
@@ -0,0 +1,63 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= October 2014 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== New modules
+
+Aries Blueprint Authz: An Aries Blueprint extension that supports role based access control based on a JAAS login and the JEE @RolesAllowed annotation.
+
+== Releases
+
+[discrete]
+==== Apache Aries Spi-Fly releases
+
+Aries SPI Fly provides OSGi support for the JRE SPI mechanisms, including the usage of java.util.ServiceLoader, META-INF/services and similar methods.
+It is the Reference Implementation of the OSGi ServiceLoader Mediator specification, chapter 133 in the OSGi Enterprise Specification R5.
+
+The votes for these releases closed on  2014/7/15
+
+* Aries SPI Fly Core 1.0.1
+* Aries SPI Fly Dynamic Weaving Bundle 1.0.1
+* Aries SPI Fly Static Weaving Bundle 1.0.1
+* Aries SPI Fly Static Weaving Tool 1.0.1
+* Aries SPI Fly Weaver (internal module) 1.0.1
+
+[discrete]
+==== Apache Aries JPA releases:
+
+Aries JPA makes it easy for JPA persistence providers to be used in an OSGi environment.
+
+* Aries JPA API 1.0.1 closed on 2014/7/19
+* Aries JPA Container 1.0.1 closed on 2014/7/19
+* Aries JPA Container Context 1.0.2 closed on 2014/7/19
+* Aries JPA Blueprint Aries 1.0.2 closed on 2014/7/19
+* Aries JPA Container API 1.0.2 closed on 2014/9/22
+* Aries JPA Container Managed Contexts 1.0.3 closed on 2014/9/22
+* Aries JPA Container blueprint integration for Aries blueprint 1.0.3 closed on 2014/9/22
+
+[discrete]
+==== Other releases:
+
+* Aries Blueprint Parser 1.3.0 closed on 2014/9/22
+* Aries Blueprint Core 1.4.2 closed on 2014/9/22
+* Aries Blueprint CM 1.0.5 closed on 2014/10/10
+* Aries JNDI API 1.1.0 closed on 2014/9/22
+* Aries JNDI Core 1.0.1 closed on 2014/9/22
+* Aries Proxy Service 1.0.4 closed on 2014/9/22
+* Aries Subsystem Core 1.1.0 closed on 2014/10/1
+
+== Project update
+
+Discussions on the user@ list are becoming more sophisticated and contributions continue to come via GitHub.
+The last PMC member was added 28th July 2013.
+
+There are no issues requiring board attention at this time.
diff --git a/modules/ROOT/pages/community/boardreports/oct-2016.adoc b/modules/ROOT/pages/community/boardreports/oct-2016.adoc
new file mode 100644
index 0000000..d5c1c7a
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/oct-2016.adoc
@@ -0,0 +1,60 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= October 2016 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an    enterprise OSGi application programming model.
+
+== Issues:
+
+* There are no issues requiring board attention at this time.
+
+== Activity:
+
+* As a community we made 3 releases this quarter and 3 further releases currently under vote, and added Johannes Utzig as a new committer.
+
+== Health report:
+
+* The number of subscribes has remained consistent over the last three months.
+The user@ traffic has been significantly greater than the previous three months with a wide range of discussion across the Aries sub-modules.
+* Despite 32 issues being closed off, the number opened was slightly higher in the past 3 months.
+
+== PMC changes:
+
+* Currently 37 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Christian Schneider on Fri Apr 10 2015
+
+== Committer base changes:
+
+* Currently 52 committers.
+* Johannes Utzig was added as a committer on Wed Sep 14 2016
+
+== Releases:
+
+* Aries Blueprint Core 1.7.0 (blueprint-core) 2016-09-19
+* Aries Blueprint CM 1.0.9 (blueprint-cm) 2016-09-19
+* Aries Transaction Manager (transaction-manager) 1.3.1 2016-10-07
+* Aries Blueprint Core 1.7.1 (blueprint-core) voting in progres
+* Aries JMX Core 1.1.7 (jmx-core) voting in progress
+* Aries Util 1.1.3 (util) voting in progress
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 135 subscribers (up 1 in the last 3 months):
+ ** 481 emails sent to list (546 in previous quarter)
+* user@aries.apache.org:
+ ** 239 subscribers (up 0 in the last 3 months):
+ ** 269 emails sent to list (91 in previous quarter)
+
+== JIRA activity:
+
+* 42 JIRA tickets created in the last 3 months
+* 32 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/oct-2017.adoc b/modules/ROOT/pages/community/boardreports/oct-2017.adoc
new file mode 100644
index 0000000..333ac45
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/oct-2017.adoc
@@ -0,0 +1,61 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= October 2017 Board report
+
+* Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+== Issues:
+
+* None to report this quarter.
+
+== Activity & Health report:
+
+* As a community we made 10 releases this quarter.
+* Mailing list activity and pull request contribution remains broadly the same.
+* Release Distribution Policy update: .sha1 and .md5 files for all released files.
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Dominik Przybysz on Tue May 30 2017
+
+== Committer base changes:
+
+* Currently 55 committers.
+* No new committers added in the last 3 months
+* Last committer addition was Tom De Wolf at Wed May 03 2017
+
+== Releases:
+
+* subsystem (uber bundle) 2.0.10 was released on Tue Aug 08 2017
+* subsystem-api 2.0.10 was released on Tue Aug 08 2017
+* subsystem-core 2.0.10 was released on Tue Aug 08 2017
+* blueprint-maven-plugin 1.8.0 was released on Thu Aug 17 2017
+* blueprint-maven-plugin 1.9.0 was released on Tue Oct 10 2017
+* blueprint-maven-plugin-spi 1.1.0 was released on Thu Aug 17 2017
+* blueprint-maven-plugin-annotation 1.2.0 was released on Thu Aug 17 2017
+* blueprint-maven-plugin-annotation 1.3.0 was released on Tue Oct 10 2017
+* blueprint-maven-plugin-pax-cdi-handlers 1.9.0 was released on Tue Oct 10 2017
+* blueprint-spring 1.2.0 was released on Mon Oct 2 2017
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 136 subscribers (down -1 in the last 3 months):
+ ** 200 emails sent to list (310 in previous quarter)
+* user@aries.apache.org:
+ ** 243 subscribers (up 0 in the last 3 months):
+ ** 27 emails sent to list (34 in previous quarter)
+
+== JIRA activity:
+
+* 16 JIRA tickets created in the last 3 months
+* 16 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/boardreports/october-2009.adoc b/modules/ROOT/pages/community/boardreports/october-2009.adoc
new file mode 100644
index 0000000..d1e658a
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/october-2009.adoc
@@ -0,0 +1,21 @@
+Title: October 2009 Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+This is our first board report.
+
+There are currently no issues requiring IPMC or Board attention .
+
+All infra resources have been set up (svn / site / mailing lists) very quickly.
+The svn area has been organized with a single trunk for now, though we still need to settle the discussion about components lifecycle and the svn layout.
+IBM has contributed some code that has been imported into svn and the JNDI modules have already been imported into trunk.
+Both Geronimo contribution (OSGi Blueprint Services) and ServiceMix contribution (OSGi Transaction Manager) have been imported into trunk.
+
+On the community side, we've already voted 3 additional committers (Adam Wojtuniak, Alan Keane and Niclas Hedhman) who had expressed their interest in joining the project just after the acceptance vote on the proposal was launched.
+
+There is a lot of discussions and activity on the mailing lists.
+
+Top 2 or 3 things to resolve before graduation:
+
+* Build community
+* Create a release
+* Address project scope concerns raised during acceptance vote
diff --git a/modules/ROOT/pages/community/boardreports/october-2011.adoc b/modules/ROOT/pages/community/boardreports/october-2011.adoc
new file mode 100644
index 0000000..f0c5a4d
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/october-2011.adoc
@@ -0,0 +1,47 @@
+:doctype: book
+
+Title:     Board Report Notice:    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.
+
+= October 2011 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+A new module called versionsing has been created for a utility to byte code analyse latest binaries with the last release of those binaries to find changes that should cause an OSGi Export-Package version attribute change, according to the OSGi Semantic Versioning whitepaper.
+
+It looks as though Apache Aries JMX will become the reference implementation of the update to the OSGi JMX spec for which an early draft was released by the OSGi Alliance in September.
+
+##Releases
+
+Bug fix releases:
+
+* Apache Aries Application 0.2.2
+* Apache Aries Util 0.2.1
+
+We have been putting together a functional release from trunk but it's taking longer than we'd hoped.
+Due to our objective of getting the OSGi versioning correct, we're having to release more modules and correct more OSGi version ranges than we had hoped.
+A fully staged release of Apache Aries Blueprint and its dependencies is imminent.
+
+##Project Branding Board Report Checklist
+
+A little progress here.
+Unfortunately there's been little progress here.
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (done)
+
+##Community update
+
+No new committers since the last report.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/october-2012.adoc b/modules/ROOT/pages/community/boardreports/october-2012.adoc
new file mode 100644
index 0000000..2cd52ea
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/october-2012.adoc
@@ -0,0 +1,52 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= October 2012 Board report
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+##Releases
+
+Several release vote threads during the last three months saw the release of 88 bundles at version 1.0.
+These can be found from the http://aries.apache.org/downloads/currentrelease.html[downloads link on the Aries home page].
+Subsequently, the following micro version update bundles have been released:
+
+* Apache Aries Blueprint Core 1.0.1
+* Apache Aries JMX Core 1.0.1
+* Apache Aries Transaction Manager 1.0.1
+* Apache Aries JPA Container Managed Contexts 1.0.1
+
+In addition, these new bundles were released.
+
+* Apache Aries JMS Pool 1.0.0
+* Apache Aries Transaction Enlisting JDBC Datasource 1.0.0
+
+Many thanks to the release managers for their persistence in getting these important releases out.
+
+##Project Branding Board Report Checklist
+
+* Project Website Basics : homepage is aries.apache.org (done)
+* Project Naming And Descriptions : use proper Apache forms, describe product, etc.
+(pending)
+* Website Navigation Links : navbar links included, link to www.apache.org included (pending - feather link done)
+* Trademark Attributions : attribution for all ASF marks included in footers, etc.
+(pending)
+* Logos and Graphics : include TM, use consistent product logo on your site (pending)
+* Project Metadata : DOAP file checkedin and up to date (done)
+
+##Community update
+
+Jeremias Maerki has proposed, and posted a patch for, an addition to the spi-fly module called SPI Catcher.
+Its objective is along the lines of the OSGi Connect work in the OSGi Alliance to make it easier to get started with OSGi dynamic services technology.
+The SPI Catch approach is complementary by introducing OSGi APIs much later, if at all, ensuring "runnability totally outside of OSGi" is preserved.
+
+No new committers since the last report.
+The user/dev lists and JIRAs have had some varied discussions across the Aries modules.
+
+There are no board level issues.
diff --git a/modules/ROOT/pages/community/boardreports/september-2010.adoc b/modules/ROOT/pages/community/boardreports/september-2010.adoc
new file mode 100644
index 0000000..34f9181
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/september-2010.adoc
@@ -0,0 +1,30 @@
+Title: September 2010 Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Aries entered incubation on September 22, 2009.
+
+There are currently no issues requiring IPMC or Board attention.
+
+The following sub-components are actively being developed:
+
+* Application
+* Subsystems
+* Blueprint
+* JPA
+* JNDI
+* Transaction
+* Quiesce
+* Samples
+
+There continues to be a vibrant community as shown by the activity on the mailing list this year.
+
+We have recently completed our 0.2-incubating release.
+This is our second release since entering incubation.
+This release is in support of Geronimo 3.0 which uses Apache Aries.
+
+The OSGi Enterprise Compliance Tests have been run against Blueprint, JMX, JNDI and transactions modules and the results have been published to the aries-dev mailing list and are available from the link:/downloads/testresults.html[Aries web site]
+
+Top 2 or 3 things to resolve before graduation:
+
+* Build community  link:done.html[done]
+* Create a release link:done.html[done]
+* Address project scope concerns raised during acceptance vote
diff --git a/modules/ROOT/pages/community/boardreports/september-2015.adoc b/modules/ROOT/pages/community/boardreports/september-2015.adoc
new file mode 100644
index 0000000..dc72adc
--- /dev/null
+++ b/modules/ROOT/pages/community/boardreports/september-2015.adoc
@@ -0,0 +1,74 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= October 2015 Report from the Apache Aries committee [Jeremy Hughes]
+
+== Description:
+
+OSGi Enterprise Programming Model
+
+== Issues:
+
+There are no issues requiring board attention at this time
+
+== Activity:
+
+Rising activity on mailing lists.
+At the moment very few active committers.
+Main development areas are subsystems, transaction and jpa.
+
+== Health report:
+
+== PMC changes:
+
+* Currently 38 PMC members.
+* No new PMC members added in the last 3 months
+* Last PMC addition was Jean-Baptiste Onofre at Fri Apr 10 2015
+
+== LDAP changes:
+
+* Currently 48 committers and 38 committee group members.
+* No new committee group members added in the last 3 months
+* Last committee group addition was Jean-Baptiste Onofre at Sat Apr 11 2015
+* No new committers added in the last 3 months
+* Last committer addition was Giuseppe Gerla at Wed May 27 2015
+
+== Releases:
+
+* Versioning 0.3.1 2015-07-16
+* Blueprint Core 1.4.4 2015-07-16
+* Blueprint CM 1.0.7 2015-07-16
+* subsystem-bundle:2.0.4 2015-10-07
+* subsystem-api:2.0.4 2015-10-07
+* subsystem-core:2.0.4 2015-10-07
+* subsystem-obr:1.0.4 2015-10-07
+* transaction blueprint 1.1.1 2015-08-11
+* JPA 2.2.0 2015-09-26
+* transaction blueprint 2.0.0 2015-09-25
+* blueprint-maven-plugin 1.2.0 2015-09-25
+* Subsystem Gogo Command 1.0.0 2015-10-05
+* transaction manager 1.3.0 2015-08-10
+* JPA 2.1.0 2015-08-10
+* Aries Asynchronous OSGi Services 1.0.1 2015-08-10
+* Aries Util 1.1.1 2015-08-10
+* JMX 1.1.5 2015-08-30
+
+== Mailing list activity:
+
+* dev@aries.apache.org:
+ ** 136 subscribers (up 5 in the last 3 months):
+ ** 833 emails sent to list (394 in previous quarter)
+* user@aries.apache.org:
+ ** 232 subscribers (down -1 in the last 3 months):
+ ** 106 emails sent to list (11 in previous quarter)
+
+== JIRA activity:
+
+* 79 JIRA tickets created in the last 3 months
+* 90 JIRA tickets closed/resolved in the last 3 months
diff --git a/modules/ROOT/pages/community/gettinginvolved.adoc b/modules/ROOT/pages/community/gettinginvolved.adoc
new file mode 100644
index 0000000..c33a102
--- /dev/null
+++ b/modules/ROOT/pages/community/gettinginvolved.adoc
@@ -0,0 +1,28 @@
+Title: GettingInvolved
+
++++<a name="GettingInvolved-GettingInvolved">++++++</a>+++
+
+== Getting Involved
+
+Getting involved with Aries is easy.
+First, any help is welcome and we welcome you on board.
+Here are some suggestions for how you can get involved in Aries:
+
+* Take a look at the existing modules   to identify what areas you are interested in.
+* Take a look at the http://wiki.apache.org/incubator/AriesProposal[Aries proposal]  to see if there are things there that you are interested in but we haven't created subprojects for yet.
+If you're not sure whether something is in scope for Aries or not, send a mail to the developers [mailing list|MailingLists]  and ask.
+* Try out the link:/documentation/tutorials/blueprinthelloworldtutorial.html[tutorials]  to get a feel for what Aries is about.
+* Subscribe to one (or more) of the link:mailinglists.html[mailing lists] . If you want to get involved as a _user_, subscribe to user mailing list.
+If you want to get involved as a _contributer_, in the development of Aries, subscribe to the developer list.
+* Help answer questions posted to the user mailing list for areas that you are familiar with.
+Your real usage experience can be very valuable to other users as well as developers on the project.
+* Would like to get involved in development?
+Have new ideas?
+Start with the mailing list and share your thoughts.
+* Contribute to feature development.
+Just let the community know what you'd like to work on.
+It is as easy as that.
+* Identify https://issues.apache.org/jira/browse/ARIES[JIRA] s and browse the https://svn.apache.org/repos/asf/aries/trunk[source]  in the area that you are interested in and provide patches.
+* If in doubt about where to start, send a note to the mailing list and mention your area of interest.
+Any question is welcomed.
+We'd like you to be involved!
diff --git a/modules/ROOT/pages/community/logos.adoc b/modules/ROOT/pages/community/logos.adoc
new file mode 100644
index 0000000..9123e99
--- /dev/null
+++ b/modules/ROOT/pages/community/logos.adoc
@@ -0,0 +1,15 @@
+:doctype: book
+
+Title: Apache Aries Logos
+
++++<a name="Community-Logos">++++++</a>+++
+
+= Logos
+
+There are a number of logos that you can use if you have embedded Apache Aries in your software.
+
+image::/images/logos/aries-inside-black.png[Apache Aries inside black square]
+
+image::/images/logos/aries-inside-blue.png[Apache Aries inside blue square]
+
+image::/images/logos/aries-inside-blue-oval.png[Apache Aries inside blue oval]
diff --git a/modules/ROOT/pages/community/mailinglists.adoc b/modules/ROOT/pages/community/mailinglists.adoc
new file mode 100644
index 0000000..9c12afa
--- /dev/null
+++ b/modules/ROOT/pages/community/mailinglists.adoc
@@ -0,0 +1,22 @@
+Title: MailingLists The Aries User list is for general discussion or questions on using any of the Aries sub-projects.
+Aries developers monitor this list and provide assistance when needed.
+
+* link:mailto:user-subscribe@aries.apache.org[Subscribe]  to the Aries User list
+* link:mailto:user-unsubscribe@aries.apache.org[Unsubscribe]  from the Aries User list
+* link:mailto:user@aries.apache.org[Post]  to the Aries User list
+* http://mail-archives.apache.org/mod_mbox/aries-user/[View]  to the Aries User list archive
+
+The Aries Developer list is for developers to discuss ongoing work, make decisions and vote on technical issues.
+There is one list for all Aries sub-projects.
+
+* link:mailto:dev-subscribe@aries.apache.org[Subscribe]  to the Aries Developer list
+* link:mailto:dev-unsubscribe@aries.apache.org[Unsubscribe]  from the Aries Developer list
+* link:mailto:dev@aries.apache.org[Post]  to the Aries Developer list
+* http://mail-archives.apache.org/mod_mbox/aries-dev/[View]  to the Aries Developer list archive
+
+The Aries Commits list receives notifications when changes are committed to the Aries source tree.
+
+* link:mailto:commits-subscribe@aries.apache.org[Subscribe]  to the Aries Commits list
+* link:mailto:commits-unsubscribe@aries.apache.org[Unsubscribe]  from the Aries Commits list
+* link:mailto:commits@aries.apache.org[Post]  to the Aries Commits list
+* http://mail-archives.apache.org/mod_mbox/aries-commits/[View]  to the Aries Commits list archive
diff --git a/modules/ROOT/pages/community/overview.adoc b/modules/ROOT/pages/community/overview.adoc
new file mode 100644
index 0000000..621a488
--- /dev/null
+++ b/modules/ROOT/pages/community/overview.adoc
@@ -0,0 +1,20 @@
+:doctype: book
+
+Title: Community
+
++++<a name="Community-Community">++++++</a>+++
+
+= Community
+
+There are many ways to be part of the Apache Aries community.
+You will find suggestions under link:gettinginvolved.html[getting involved] .
+
+* link:gettinginvolved.html[Getting Involved]
+* link:people.html[Who we are]
+* link:mailinglists.html[Mailing lists]
+* http://blogs.apache.org/aries/[Aries Group Blog]
+
+You can also find us on IRC, attach freenode and join #apache-aries.
+Our channel is http://irclogs.dankulp.com/logs/irclogger_logs/apache-aries[being logged here].
+
+Our twitter tag is #apache-aries.
diff --git a/modules/ROOT/pages/community/people.adoc b/modules/ROOT/pages/community/people.adoc
new file mode 100644
index 0000000..117a63d
--- /dev/null
+++ b/modules/ROOT/pages/community/people.adoc
@@ -0,0 +1,62 @@
+Title: People
+
+This is a list of the people involved in the Apache Aries Incubator and their roles.+++<table>++++++<tr>++++++<th>+++Name+++</th>++++++<th>+++Organization+++</th>++++++<th>+++PMC Member+++</th>++++++</tr>+++
++++<tr>++++++<td>+++Adam Wojtuniak+++</td>++++++<td>+++Ericsson+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Alan Cabrera+++</td>++++++<td>+++LinkedIn+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Alan Keane+++</td>++++++<td>+++Ericsson+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Alasdair Nottingham+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Andrew Osborne+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Bartosz Kowalewski+++</td>++++++<td>++++++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Bernd Kolb+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Bertrand Delacretaz+++</td>++++++<td>++++++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Carlos Sierra Andrés+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Carsten Ziegeler+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Chris Wilkinson+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Christian Schneider+++</td>++++++<td>+++Talend+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Dan Kulp+++</td>++++++<td>+++Talend+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++David Bosschaert+++</td>++++++<td>+++Adobe+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++David Jencks+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Davanum Srinivas (Dims)+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Dimo Stoilov+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Dominik Przybysz+++</td>++++++<td>+++TouK+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Emily Jiang+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Eoghan Glynn+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Felix Meschberger+++</td>++++++<td>+++Adobe+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Giuseppe Gerla+++</td>++++++<td>++++++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Graham Charters+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Grzegorz Grzybek+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Guillaume Nodet+++</td>++++++<td>+++Progress+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Hiram Chirino+++</td>++++++<td>+++Progress+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Holly Cummins+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Ian Robinson+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++James Strachan+++</td>++++++<td>+++Progress+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Jarek Gawor+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Jean-Baptiste Onofré+++</td>++++++<td>+++Talend+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Jean-Sebastien Delfino+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Jeremy Hughes+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Joe Bohn+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++John Ross+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Kevan Miller+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Lei "Rex" Wang+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Lin Sun+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Kiril Mitov+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Mark Nuttall+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Niclas Hedhman+++</td>++++++<td>++++++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Niklas Gustavsson+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Nikolai Tankov+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Oisin Hurley+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Peter Peshev+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Raymond Augé+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Raymond Feng+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Rick McGuire+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Roman Roelofsen+++</td>++++++<td>+++ProSyst+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Sabine Heider+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Sergey Beryozkin+++</td>++++++<td>+++Talend+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Stuart McCulloch+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Timothy Ward+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Todor Boev+++</td>++++++<td>+++ProSyst+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Tom De Wolf+++</td>++++++<td>++++++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Tom Watson+++</td>++++++<td>+++IBM+++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Valentin Mahrwald+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Violeta Georgieva+++</td>++++++<td>+++SAP+++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++Zoe Slattery+++</td>++++++<td>++++++</td>++++++<td>++++++<img alt="yes" src="/images/check.gif">++++++</img>++++++</td>++++++</tr>++++++</table>+++
diff --git a/modules/ROOT/pages/community/resources.adoc b/modules/ROOT/pages/community/resources.adoc
new file mode 100644
index 0000000..5971ce2
--- /dev/null
+++ b/modules/ROOT/pages/community/resources.adoc
@@ -0,0 +1,35 @@
+:doctype: book
+
+Title: Community Resources
+
+= Community Resources
+
+* https://svn.apache.org/repos/asf/aries/[Source]
+* https://github.com/apache/aries/[Github Mirror]
+* https://issues.apache.org/jira/browse/ARIES[Issue Tracker]
+* https://builds.apache.org/view/A-D/view/Aries2/[Automated Builds]
+
+= Mailing lists
+
+|===
+| List | Subscribe | Unsubscribe | Scope
+
+| http://mail-archives.apache.org/mod_mbox/aries-user/[user@aries.apache.org]
+| link:mailto:user-subscribe@aries.apache.org[Subscribe]
+| link:mailto:user-unsubscribe@aries.apache.org[Unsubscribe]
+| For all users of Aries.
+General discussion and questions
+
+| http://mail-archives.apache.org/mod_mbox/aries-dev/[dev@aries.apache.org]
+| link:mailto:dev-subscribe@aries.apache.org[Subscribe]
+| link:mailto:dev-unsubscribe@aries.apache.org[Unsubscribe]
+| For developers working on Aries code base.
+Discuss ongoing work, make decisions and vote on technical issues
+
+| http://mail-archives.apache.org/mod_mbox/aries-commits/[commits@aries.apache.org]
+| link:mailto:commits-subscribe@aries.apache.org[Subscribe]
+| link:mailto:commits-unsubscribe@aries.apache.org[Unsubscribe]
+| Receives notifications for all commits
+|===
+
+You need to subscribe to a list before you can post.
diff --git a/modules/ROOT/pages/development/ReleaseProcessRequirements.adoc b/modules/ROOT/pages/development/ReleaseProcessRequirements.adoc
new file mode 100644
index 0000000..d88213b
--- /dev/null
+++ b/modules/ROOT/pages/development/ReleaseProcessRequirements.adoc
@@ -0,0 +1,92 @@
+= Release process requirements
+
+Up to release 0.3 of Aries we released all of the modules at once, along with a set of samples which demonstrated how the Aries components could be used together.
+
+After release 0.3 we wanted to rexamine the release process, the primary motivation for this was the observation that our current process did not use semantic versioning, and, as an OSGi project we should be demonstrating best OSGi practice.
+
+We started with the following set of requirements for any Aries release:+++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++No.+++</th>++++++<th class="confluenceTh">+++Description+++</th>++++++<th class="confluenceTh">+++Met currently+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++1+++</td>++++++<td class="confluenceTd">+++Follows OSGi semantic versioning+++</td>++++++<td class="confluenceTd">+++No+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++2+++</td>++++++<td class="confluenceTd">+++Must have a buildable source distribution+++</td>++++++<td class="confluenceTd">+++Yes+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++3+++</td>++++++<td class="confluenceTd">+++Must have release notes+++</td>++++++<td class="confluenceTd">+++Yes+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++4+++</td>++++++<td class="confluenceTd">+++Must be publicly announced+++</td>++++++<td class="confluenceTd">+++Yes+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++5+++</td>++++++<td class="confluenceTd">+++An easy way for users to download the bundles for a given component+++</td>++++++<td class="confluenceTd">+++Yes+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++6+++</td>++++++<td class="confluenceTd">+++Easy tagging/branching mechanism+++</td>++++++<td class="confluenceTd">+++Yes+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++7+++</td>++++++<td class="confluenceTd">+++A way to provide bug fixes+++</td>++++++<td class="confluenceTd">+++Yes+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++8+++</td>++++++<td class="confluenceTd">+++A way to ensure that a given component doesn't have conflicting dependencies+++</td>++++++<td class="confluenceTd">+++?+++</td>++++++</tr>++++++</table>+++
+
+== Release all Aries components at once.
+
+=== Advantages of releasing everything at once and at the same level
+
+. Conceptually very simple of consumers.
+For example, if as a consumer I pick up something called Blueprint version 0.4 I know that I will need to get Util version 0.4 to go with it.
+. A relatively simple release process, one JIRA component, one set of release notes.
+. We can release a set of samples at the same version with some guarentee that the samples all work with the release.
+
+=== Disadvantages of releasing everything at once
+
+. Not using of OSGi semantic versioning of bundles.
+After every we release we bump the major versions of all bundles in trunk.
+
+Package versions are managed separately (correctly) and the Maven bundle plugin will ensure packages are imported in the correct range based of  the projects dependencies.
+Implementers need to use "provide:=true" to get the correct range.
+Package export version should be maintained  either using package.info or in the pom.xml.
+
+== Releasing by module
+
+Our ideal for a release process would involve to release by module, this is really just an evolution of the process that we already use but it would involve using semantic versioning of bundles.
+One might visualise the process like this:
+
+image::release_by_module.png[rel]
+
+In this case, we have a module version (independent of the version of its sub-modules) and a set of sub-modules which may each be independently versioned.
+
+=== Advantages of release by module
+
+. Releasing a coherent set of bundles that have been built and run together
+. Releasing a buildable set of source for all constituent bundles in one zip file
+. A more consumable unit than a set of single bundles - easier for Aries consumers.
+A smaller number of discrete downloads.
+
+=== Disadvantages of the release by module process
+
+. We would have to release a whole module at once, this would mean re-releasing bundles at the same level   (and with the same content) as a previous release.
+This is not a major issue but we would probably not want them in the  www.apache.org/dist/aries directory.
+. Developer would need to be careful to version submodules poms independently from the parent/reactor pom.
+Again,   not a major issue but a change from the way we work at the moment.
+. The Maven release plugin will not cope with having different levels of snapshot in the same release.
+Therefore we would either require changes in the Maven release plugin or we would have to stop using it  and maintain our own alternative, to allow us to release by module.
+. It's not all clear what the strategy for branching would be.
+For example, consider the following scenario:  image:dual_component_module.png[rel]
+
+In this case a release of the blueprint module at version 1.5 contains bundles blueprint-core at version 1.0.1 and blueprint-cm at version 1.0.2.
+
+Over a period of time, development in trunk continues and a change is made to blueprint-core which mandates an increase in the major version.
+Another release of blueprint (version 1.6) is made containing blueprint-cm at version 1.0i.3 and blueprint-core at version 1.1.0.
+
+Meanwhile a customer finds a problem in blueprint module version 1.5 in the blueprint-cm module.
+They would like a release of the blueprint module at version 1.5.1 with blueprint-cm at 1.0.3.
+Unfortunately this is impossible because we have already released blueprint-cm at 1.0.3 and it works with blueprint-core 1.1.0.
+So, we have no way to meet the requirement
+
+== Releasing by bundle
+
+Other OSGi projects, for example Sling and Felix, release by bundle.
+
+=== Advantages of releasing by bundle
+
+. Other projects already do it so there is a well understood model
+. All the existing tools work
+. OSGi semantic versioning can be used properly
+
+=== Disadvantages of releasing by bundle
+
+. It is more difficult for a consumer of Aries modules to understand which bundles form a logical grouping
+. There are a lot of bundles to manage independently.
+This has implications: +
+ ** Releasing - mvn release:prepare, and so on,  needs to be run for each bundle separately.
+However, many bundles could be rolled up into one vote.
+ ** Each bundle has to have its own JIRA component
+ ** Our svn tree would need to be restructured - probably in a similar way to the Sling tree.
+Each bundle would have its own trunk & branches.
+. There are still some issues with branching and it is still possible to get into a situation similar to that described above.
diff --git a/modules/ROOT/pages/development/architecture.adoc b/modules/ROOT/pages/development/architecture.adoc
new file mode 100644
index 0000000..3c5deff
--- /dev/null
+++ b/modules/ROOT/pages/development/architecture.adoc
@@ -0,0 +1,11 @@
+:doctype: book
+
+Title: ModuleDependencies +++<a name="ModuleDependencies-Modulebuildtimedependencies">++++++</a>+++
+
+= Module build time dependencies
+
+There are build time dependencies between Aries modules.
+This diagram shows the dependencies.
+For example, if you need to build 0.2-incubating JPA module you will find that you need to have built (or have available) parent, testsupport, util, blueprint, quiesce and transaction at the level specified in the pom.xml for the JPA module.
+
+image::AriesBuildDeps.png[moddep]
diff --git a/modules/ROOT/pages/development/buildingaries.adoc b/modules/ROOT/pages/development/buildingaries.adoc
new file mode 100644
index 0000000..606d708
--- /dev/null
+++ b/modules/ROOT/pages/development/buildingaries.adoc
@@ -0,0 +1,49 @@
+:doctype: book
+
+Title: BuildingAries
+
++++<a name="BuildingAries-ExtractingandbuildingAries">++++++</a>+++
+
++++<a name="BuildingAries-Prereqs">++++++</a>+++
+
+== Prereqs
+
+* Maven 3.2.5 (mvn --version).
+Current maven 3.3.x has an error with parent poms
+* Subversion client >= 1.8.x
+* Eclipse Luna http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr2
+
++++<a name="BuildingAries-CheckoutAndBuild">++++++</a>+++
+
+== Checkout and build on the command line
+
+* Check out sources: svn co https://svn.apache.org/repos/asf/aries/trunk aries
+* cd aries
+* mvn clean install -DskipTests=true
+
+You should now have succesfully compiled aries trunk.
+As a next step you can run the tests too.
+
+* mvn clean install -fae
+
++++<a name="BuildingAries-ImportIntoEclipse">++++++</a>+++
+
+= Import into eclipse using m2e
+
+* Start eclipse.
+Use a workspace directory separate from your source checkout of aries
+* File \-> Import \-> Maven \-> Existing maven projects \-> Browse to aries directory \-> Select the projects to import \-> Finish
+* At some projects you might see some markers that m2e does not know how to work with certain maven plugins.
+Use the Ctrl-1 shortcut on these markers and set them to be ignored and let eclipse store this in the eclipse preferences.
+Do not select to add the ignore to the maven poms.
+
+After these steps you should have imported your selected aries projects into eclipse.
+
++++<a name="BuildingAries-Outofmemoryerrors">++++++</a>+++
+
+= Out of memory errors
+
+You may find that building Aries fails with out of memory exceptions on some systems (eg Mac)  if you use the standard Java settings.
+Setting the two environment variables as shown below may help.
+
+export MAVEN_OPTS="-XX:MaxPermSize=128m -Xms512m -Xmx512m"
diff --git a/modules/ROOT/pages/development/compliancetesting.adoc b/modules/ROOT/pages/development/compliancetesting.adoc
new file mode 100644
index 0000000..13fb8d2
--- /dev/null
+++ b/modules/ROOT/pages/development/compliancetesting.adoc
@@ -0,0 +1,274 @@
+Title: ComplianceTesting
+
++++<a name="ComplianceTesting-Runningthetests">++++++</a>+++
+
+== Enterprise OSGi Compliance Tests
+
+The Enterprise OSGi compliance tests are provided byt the http://www.osgi.org[OSGi Alliance]  to Apache committers who have signed the appropriate Non Disclosure Agreement.
+
+The tests are supplied with the BND configuration files used to run the tests against the OSGi implementation of the Enterprise Specification.
+The configuration files require some modification to run the tests against Aries components.
+
+Instructions for obtaining and running the tests are given http://felix.apache.org/site/using-the-osgi-compliance-tests.html[here], or see below.
+
++++<a name="ComplianceTesting-Testresults">++++++</a>+++
+
+== Test results
+
+At each Aries release the tests are run against Aries components.
+The results for the most recent release can be found link:/downloads/testresults.html[here] . +++<a name="ComplianceTesting-Runningthetests">++++++</a>+++
+
+== How to run the tests for Aries components
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Legalstuff">++++++</a>+++
+
+=== Legal stuff
+
+Complete an Apache http://apache.org/jcp/ApacheNDA.pdf[Non Disclosure Agreement]  and email it to secretary@apache.org
+
+Write a note to jcp-open@apache.org with the subject "OSGi CT access" which contains (something like) the following text:
+
+"I'm a committer on the Apache Aries project and would like access to the OSGi CT.
+I've submitted an NDA."
+
+NOTE: You should subscribe to jcp-open@apache.org first.
+If you don't your note will languish in 'moderation' forever :-)
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Getthetests">++++++</a>+++
+
+=== Get the tests
+
+Anyone with an NDA on file should be able to get access to the tests https://svn.apache.org/repos/tck/osgi-cts/[here] .
+
+The group of tests that are required for Aries is called osgi.enterprise.tests.
+Download the jar for the appropriate level - currently 4.2.0.
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Runningthetests">++++++</a>+++
+
+=== Running the tests
+
+Extract the jar into a test directory, say ~/AriesTests.
+After you have extracted the file you will find:
+
+* A subdirectory call 'jar' which contains all the tests
+* A set of *.bnd files which are used to run the tests
+
+The tests are run using bnd, the command line used to run a set of tests looks like this:
+
+ java -jar jar/bnd.jar runtests -title osgi.ct
+ org.osgi.test.cases.blueprint.bnd
+
+The command above would, for example, run the blueprint tests.
+
+Before running the tests it will be necessary to make some changes to the bnd files, to download some additional pre-reqs and to assemble the aries components to be tested.
+The http://felix.apache.org/site/using-the-osgi-compliance-tests.html[Felix]  pages give a good indication of what is necessary.
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Debuggingthetests">++++++</a>+++
+
+=== Debugging the tests
+
+If you want to debug the code then you need to add the following line to the .bnd file:
+
+ -runvm=-Xdebug,"-Xrunjdwp:transport=dt_socket,server=y,address=localhost:7777"
+
+You can change 7777 to any number you want.
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Modifyingthebndfiles">++++++</a>+++
+
+=== Modifying the bnd files
+
++++<a name="HowtoruntheOSGiEnterpriseCT-General">++++++</a>+++
+
+==== General
+
+First, it is necessary to add a couple of lines, like this:
+
+ -runpath = \
+     commonjars/osgi-3.5.0.v20090520.jar;version=file, \
+
+ commonjars/com.springsource.junit-3.8.2.jar;version=file;export="junit.framework;version=3.8",
+
+Secondly, if you are using the Eclipse Framework, it is necessary to remove the line
+
+ osgi.resolverMode="strict", \
+
+from the 'runproperties' section.
+
+It's convenient (but not necessary) to keep the the jars required to run the test jars and the code being tested in separate subdirectories.
+Create:
+
+* commonjars - any common dependencies, eg pax-logging
+* ariesjars - the aries code to be tested
+
+The easiest way to find most of the aries jars and their dependencies is to copy every aries jar in the ~/samples/blog/blog-assembly/target folder into ariesjars and every non-aries jar from the same directory into 'commonjars'.
+
+The _.bnd files that are used to run the tests assume that the person running the tests has access to org.osgi.impl_ jars.
+In general this is not the case - so wherever an org.osgi.impl* jar has been used it must be replaced with an equivalent implementation.
+Such implementations can usually be found in either http://felix.apache.org/site/downloads.cgi[Felix], http://download.eclipse.org/equinox/[Equinox]  or http://www.knopflerfish.org/releases/3.0.0/osgi/jars/[Knopflerfish].
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Blueprint">++++++</a>+++
+
+==== Blueprint
+
+There are four other dependencies needed to run the tests, download these:
+
+* org.osgi.compendium-4.2.0.jar
+* osgi-3.5.0.v20090520.jar
+* org.eclipse.equinox.event-1.1.100.jar
+* org.apache.felix.configadmin-1.2.4.jar
+
+from Maven and put them in commonjars.
+
+After modifications the bnd configuration file to run the blueprint tests will look like this:
+
+....
+-include= ~shared.inc
+build=.
+
+-target = \
+    jar/org.osgi.test.cases.blueprint-4.2.0.jar;version=file,
+
+-runpath = \
+    commonjars/osgi-3.5.0.v20090520.jar;version=file, \
+
+commonjars/com.springsource.junit-3.8.2.jar;version=file;export="junit.framework;version=3.8",
+
+
+-runbundles = \
+
+    commonjars/org.osgi.compendium-4.2.0.jar;version=file;strategy="lowest", \
+    commonjars/pax-logging-api-1.4.jar;version=file, \
+    commonjars/pax-logging-service-1.4.jar;version=file, \
+    commonjars/cm-3.2.0-v20070116.jar;version=file, \
+    commonjars/org.eclipse.equinox.event-1.1.100.jar;version=file, \
+    commonjars/org.apache.felix.configadmin-1.2.4.jar;version=file, \
+    ariesjars/org.apache.aries.blueprint-0.2-incubating.jar;version=file
+
+-runproperties = \
+    report="true", \
+    osgi.compatibility.bootdelegation="false", \
+    osgi.support.multipleHosts="true"
+....
+
++++<a name="HowtoruntheOSGiEnterpriseCT-JNDI">++++++</a>+++
+
+==== JNDI
+
+The only additional bundle required for these tests is:
+
+* osgi.enterprise.jar
+
+which can be found at the http://www.osgi.org/Main/HomePage[OSGi Alliance]  site.
+
+The .bnd file required to run the JNDI tests looks like this:
+
+....
+-include= ~shared.inc
+build=.
+
+-target = \
+    jar/org.osgi.test.cases.jndi-4.2.0.jar;version=file,
+
+-runpath = \
+    commonjars/osgi-3.5.0.v20090520.jar;version=file, \
+
+commonjars/com.springsource.junit-3.8.2.jar;version=file;export="junit.framework;version=3.8",
+
+-runbundles = \
+    commonjars/osgi.enterprise-4.2.0.jar;version=file;strategy="lowest", \
+    ariesjars/org.apache.aries.util-0.2-incubating.jar;version=file, \
+    ariesjars/org.apache.aries.jndi-0.2-incubating.jar;version=file
+
+-runproperties = \
+    report="true", \
+    osgi.compatibility.bootdelegation="false", \
+    osgi.support.multipleHosts="true", \
+    org.osgi.framework.bootdelegation="com.sun.*"
+....
+
++++<a name="HowtoruntheOSGiEnterpriseCT-JMX">++++++</a>+++
+
+==== JMX
+
+It is necessary to download the following:
+
+* http://www.knopflerfish.org/releases/3.0.0/osgi/jars/useradmin/useradmin_all-3.0.1.jar
+* http://www.knopflerfish.org/releases/3.0.0/osgi/jars/log/log_api-3.0.1.jar
+* org.apache.felix.log-1.0.0.jar
+* org.apache.felix.http.bundle-2.0.4.jar
+
+and use them to replace the three org.osgi.impl* jars in the runbundles section.
+
+....
+-include= ~shared.inc
+build=.
+
+-target = \
+    jar/org.osgi.test.cases.jmx-4.2.0.jar;version=file,
+
+-runpath = \
+    commonjars/osgi-3.5.0.v20090520.jar;version=file, \
+
+jar/com.springsource.junit-3.8.2.jar;version=file;export="junit.framework;version=3.8",
+
+-runbundles = \
+    commonjars/osgi.enterprise-4.2.0.jar;version=file;strategy="lowest", \
+    commonjars/org.apache.felix.configadmin-1.2.4.jar;version=file, \
+    ariesjars/org.apache.aries.jmx-0.2-incubating.jar;version=file, \
+    commonjars/useradmin_all-3.0.1.jar;version=file, \
+    commonjars/log_api-3.0.1.jar;version=file, \
+    commonjars/org.apache.felix.log-1.0.0.jar;version=file, \
+    commonjars/org.osgi.compendium-4.2.0.jar;version=file, \
+    commonjars/org.eclipse.equinox.ip_1.1.100.v20100503.jar;version=file, \
+    commonjars/org.eclipse.equinox.util_1.0.200.v20100503.jar;version=file, \
+    commonjars/org.apache.felix.http.bundle-2.0.4.jar;version=file
+
+-runproperties = \
+    report="true", \
+    osgi.compatibility.bootdelegation="false", \
+    osgi.support.multipleHosts="true", \
+    osgi.console="1111", \
+
+    org.osgi.test.cases.jmx.system.packages.extra="junit.framework;version=3.8", \
+
+    org.osgi.test.cases.jmx.bundles="jar/osgi.enterprise-4.2.0.jar,jar/org.apache.aries.jmx-0.2-incubating.jar"
+....
+
++++<a name="HowtoruntheOSGiEnterpriseCT-Transaction">++++++</a>+++
+
+==== Transaction
+
+Nothing more to download here.
+Here is the configuration file:
+
+....
+-include= ~shared.inc
+build=.
+
+-target = \
+    jar/org.osgi.test.cases.transaction-4.2.0.jar;version=file,
+
+-runpath = \
+    commonjars/osgi-3.5.0.v20090520.jar;version=file, \
+
+commonjars/com.springsource.junit-3.8.2.jar;version=file;export="junit.framework;version=3.8",
+
+-runbundles = \
+    commonjars/osgi.enterprise-4.2.0.jar;version=file;strategy="lowest", \
+    commonjars/pax-logging-api-1.4.jar;version=file, \
+    commonjars/pax-logging-service-1.4.jar;version=file, \
+    commonjars/geronimo-jta_1.1_spec-1.1.1.jar;version=file, \
+    commonjars/geronimo-transaction-2.1.3.jar;version=file, \
+    commonjars/geronimo-j2ee-connector_1.5_spec-2.0.0.jar;version=file, \
+    commonjars/org.apache.felix.configadmin-1.2.4.jar;version=file, \
+    ariesjars/org.apache.aries.blueprint-0.2-incubating.jar;version=file, \
+    ariesjars/org.apache.aries.transaction.blueprint-0.2-incubating.jar;version=file, \
+    ariesjars/org.apache.aries.transaction.manager-0.2-incubating.jar;version=file, \
+    ariesjars/org.apache.aries.transaction.wrappers-0.2-incubating.jar;version=file
+
+-runproperties = \
+    report="true", \
+    osgi.compatibility.bootdelegation="false", \
+    osgi.support.multipleHosts="true", \
+    org.osgi.test.cases.transaction.waittime="30"
+....
diff --git a/modules/ROOT/pages/development/guidelines.adoc b/modules/ROOT/pages/development/guidelines.adoc
new file mode 100644
index 0000000..b41395d
--- /dev/null
+++ b/modules/ROOT/pages/development/guidelines.adoc
@@ -0,0 +1,52 @@
+:doctype: book
+
+Title: Coding guidelines
+
++++<a name="BuildingAries-CodeStyle">++++++</a>+++
+
+= Code Style
+
+There are not yet complete code formatters and checkstyle rules for aries.
+In the mean time you can set these rules.
+
+* 4 spaces instead of tabs
+* Line width 130 characters
+
++++<a name="MavenbestpracticeinAries-Assembledbestpracticenotes">++++++</a>+++
+
+= Maven best practice in Aries development
+
++++<a name="MavenbestpracticeinAries-Overallstructure">++++++</a>+++
+
+[discrete]
+=== Overall structure
+
+The Aries project is a collection of loosely couple bundles, therefore it must be possible to build each bundle on its own.
+This implies:
+
+. A parent pom that isn't at the root of the SVN trunk.
+. Each bundle has enough pom info so that it can be released independently.
+. parent/default-parent has dependency management for basic osgi-dependencies that all projects are almost certain to use (this includes PAX dependencies for testing).
+. Each bundle has legal files in its checkout root.
+. Each bundle has an SCM element in its top level pom.
+. Bundles do not (except samples) have sub-modules.
+
++++<a name="MavenbestpracticeinAries-Goodpracticeinthepom">++++++</a>+++
+
+[discrete]
+=== Good practice in the pom
+
+. Alphabetic ordering in dependency management is helpful
+. Include a brief description of the project
+. Commenting in platform dependencies, see samples assembly projects.
+. Use ${project.version} _not_ $\{version} for Maven 3 compatibility.
+
++++<a name="MavenbestpracticeinAries-GroupandArtifactnames">++++++</a>+++
+
+[discrete]
+=== Group and Artifact names
+
+. The Bundle Symbolic Name is explicitly set to the Maven artifactId.
+For projects which deliver bundles, the artifactID will therefore completely describe the jar and must begin org.apache.aries.\{subproject}.
+For projects which do not deliver bundles (for example agregator projects) it is acceptable to use a short descriptive artifactID.
+. The group ID will overlap with the artifactId and will normally be of the form org.apache.aries.\{subproject}
diff --git a/modules/ROOT/pages/development/maintainingthewebpages.adoc b/modules/ROOT/pages/development/maintainingthewebpages.adoc
new file mode 100644
index 0000000..2653d06
--- /dev/null
+++ b/modules/ROOT/pages/development/maintainingthewebpages.adoc
@@ -0,0 +1,85 @@
+:doctype: book
+
+Title: MaintainingTheWebPages
+
++++<a name="MaintainingTheWebPages-HowtheArieswebsiteworks">++++++</a>+++
+
+= How the Aries web site works
+
+The Aries site is built using CMS.
+To edit the site you must be an Aries committer, the  ID and password are the same ones as you use for Aries SVN.
+
+The easiest way to edit pages is to install the CMS bookmarklet as described https://cms.apache.org/#bookmark[here]
+
+Navigate to the web page you would like to edit and then click the CMS bookmarklet.
+
+The steps in making a change to the site are:
+
+* Edit
+* Submit
+* Commit your changes
+* Check the 'staged' site
+* If the content looks good, publish the site
+
+The Wiki syntax is called Markdown and is documented http://www.freewisdom.org/projects/python-markdown/[here].
+Some extensions are installed in  the CMS system (eg tables, syntax highlighting).
+
+More information on CMS is  available http://wiki.apache.org/general/ApacheCms2010[here]
+
+= Making major changes
+
+Because the site is all in SVN its possible to check it out, make and test changes locally and then check in again much as you woudl with code changes.
+To do this you will need:
+
+* A local copy of the cms build tools
+* A local setup of Apache
+
+First, checkout the site , like this:
+
+ svn co https://svn.apache.org/repos/asf/aries/site/trunk/ site
+
+== To build the site using the build tools.
+
+First check the cms build tools out of SVN:
+
+ svn co https://svn.apache.org/repos/infra/websites/cms/build/ buildtools
+
+To run the build_site.pl script you will need to install the Python version  of Markup.
+The instructions for finding and installing Python pre-reqs are given http://wiki.apache.org/general/ApacheCMSFAQ[here]
+
+Then to build the site use this command:
+
+perl build_site.pl --source-base /path/to/newsite/trunk/ --target-base /path/to/output/
+
+which will create *.html in /path/to/output/content
+
+== Check the site on a local server.
+
+Use a vhost to check the site.
+On a Mac this means adding the following stanza to /etc/apache2/extra/httpd-vhosts.conf
+
+<VirtualHost *:80>     DocumentRoot "/Users/zoe/Sites/zaries/www"     ServerName zaries     ErrorLog "/Users/zoe/Sites/zaries/error.log"     CustomLog "/Users/zoe/Sites/zaries/access.log" custom
+
+ LogLevel debug
+
+</VirtualHost>
+
+To test the site,  move it like this:
+
+mv /path/to/output/content /Users/zoe/Sites/zaries/www
+
+Then navigate to http://zaries in a browser.
+
+#Add menuitem  Check out the site by using  svn co https://svn.apache.org/repos/asf/aries/site/trunk/ site
+
+update the file under templates/navigation.mdtext
+
+check in the changes by using svn commit
+
+The following steps may not needed if the changes were displayed ok.
+
+Navigate to a lower level page in Apache Aries site and click the CMS bookmarklet.
+
+Check the staging page to verify the menuitem is displayed correct.
+
+Publish the site.
diff --git a/modules/ROOT/pages/development/releasingaries.adoc b/modules/ROOT/pages/development/releasingaries.adoc
new file mode 100644
index 0000000..fb28af7
--- /dev/null
+++ b/modules/ROOT/pages/development/releasingaries.adoc
@@ -0,0 +1,393 @@
+:doctype: book
+
+Title: ReleasingAries
+
++++<a name="ReleasingAries-HowtodoanAriesRelease">++++++</a>+++
+
+= How to do an Aries Release
+
+There are three types of Aries release:
+
+. Releasing a single Aries bundle (or group of bundles)
+. Releasing a distribution - a group of bundles that work together
+. Releasing the samples
+
+The outline process is the same in all three cases, further on down this page there are details about how the Apache release process works and how to get set up to run it, read those sections first if this is  your first release.
+If you are already familiar with the Apache process just use the high level descriptions in the next few paragraphs to perform releases.
+
+== Releasing a single bundle or group of bundles.
+
+=== What to release? Make a list
+
+The Apache release process will not release any bundle that has dependencies on -SNAPSHOTS.
+If, for example, a release of the blueprint API bundle is required the first step is to find and release any of its -SNAPSHOT dependencies.
+Because Aries bundles are quite interdependent (see link:moduledependencies[here]  for an idea of how the modules relate to each other, it may be necessary to release quite a large number of bundles.
+So, step one is to make a list.
+
+=== Choosing a strategy for the release
+
+Even when releasing a large number of bundles, in Aries we release bundles individually.
+If there are dependencies between the bundles you want to release, you have four strategies for how to release them.
+
+* *Release incrementally.*
+ ** Release bundles in dependency order, updating dependencies only after releases are promoted.
+ ** This has the advantage that trunk always builds cleanly.
+ ** The disadvantage is that each release needs to be open for voting for at least 72 hours, so the elapsed time for a large release can be very long.
+ ** The list may get fed up of voting on multiple vote threads, although the http://aries.apache.org/development/verifyingrelease.html[verification script] may help.
+* *Release all at once, then patch up trunk, then fix trunk*
+ ** Release api bundles release and have them uploaded to nexus, then upgrade the implementations  and all other components to use those releases, commit,  release those other projects, then close the staging repo and call for a vote.
+ ** Bundles in the staging repo will need to compiled in a set order, which makes the verification script less useful.
+ ** Trunk will be broken, unless you back out everything which you changed to use the released version back to using the old snapshot (_not_ the new snapshot created by the release plugin).
+Then once the release has been promoted, change everything using the old snapshot back to using the released version.
+ ** Doing a release this way can really reduce the amount of time spent waiting for votes.
+ ** However, getting everything right without breaking trunk can be complex.
+* *Release all at once, and use profiles to keep trunk building*
+ ** This is similar to the second procedure, except instead of backing everything out, you just provide a maven profile which people can use until the release is promoted
+ ** Once the release is promoted, cleaning up is easy - just delete the profile
+ ** You will also need to temporarily change the Jenkins build instructions
+ ** If people don't notice they need to build using a profile, they may be confused about why things are broken
+* *Release from a branch*
+ ** This is similar to the second procedure, except there's no need to patch trunk up to keep it compiling
+ ** You will need to merge the branch across once the release has been promoted, which is extra complexity
+ ** Doing mainline releases from branches plays havoc with git mirroring, so we promised to try and avoid doing it
+ ** See below for extra instructions on releasing from a branch
+
+In many cases with semantically versioned bundles there won't be dependencies on the latest and greatest snapshots, which makes everything much easier.
+
+=== How to deal with JIRA
+
+Before actually doing any releasing work through the list of bundles and understand what defects have been fixed (add more about JIRA versions here)
+
+=== What version will be released?
+
+For each bundle on the list check how its package versions have changed since the last release.
+Based on this, use the link:versionpolicy[versioning policy] to determine the version of the bundle that should be released.
+
+=== Releasing bundles
+
+For each bundle:
+
+* Deploy a SNAPSHOT to the maven snapshot repository (mvn deploy)
+* Build each module and run RAT checks
+* Create the release artifacts (mvn release:prepare)
+* Upload release artifacts to a staging repository (mvn release:perform)
+
+=== Complete the process
+
+Once the bundles are in the staging repository, start a vote on the release.
+After 72 hours close the vote.
+To complete the release process it is necessary to copy the new bundles to the dist dir and update table on the web pages.
+
+== Releasing a distribution
+
+A distribution is just a collection of Aries bundles which have already been released.
+The distribution is just a convenient way for consumers to download aries bundles and all of the Aries bundles that they depend on.
+There are three distributions:
+
+* Blueprint
+* Application (isolating framework)
+* Application (non-isolating framework)
+
+The release process is just the same as for everything else, again, the right time to release these is immediately after a bundle(s) release when you have a collection of artifacts that  work together.
+
+== Releasing the samples
+
+The Aries samples are designed to work across all the Aries modules.
+Samples are released as a single module.
+All of the Aries dependencies are listed in the top level samples pom.
+_It is very important the versions are set *only* in the top level  sample pom_.
+Both sub-modules and filtered resources need the version information, setting it in one place is the only way to avoid a mess.
+
+The best time to do a samples release is usually at the end of a bundle release.
+
+It is critically important that the samples are all tested before making release.
+Some have itests but others (blueprint) are only tested manually.
+In fact it's wise to run through a quick manual check for the blog and aries trader samples as the itests do not catch everything.
+
+= Background information on the Apache Release process
+
+To create a release you will need to create the release artifacts and move then to various places (ultimately the Maven central repository).
+The Maven commands and general outline of the process looks like this:
+
+image::AriesRelease.png[rel]
+
+The full maven commands are not shown - the intention is just to give an indication of which maven commands you will need to use to create release artifacts in different places.
+
+Performing a release is described in detail http://apache.org/dev/publishing-maven-artifacts.html[here] . This document It covers all the steps listed above so on these pages we will only add things which are specific to the Apache Aries release.
+
+There are a few steps to the process:
+
+. Discussion of the release and its content on the dev@aries mailing list.
+. Creating and storing GPG keys
+. Setting up your environment
+. JIRA preparation
+. Checking the release version of the bundle
+. Checking release artifacts on your local system
+. Creating a snapshot release
+. Releasing to a staging repository (uses mvn release:prepare and mvn release:perform)
+. Running a vote
+. Promoting the release artifacts to the Apache release repository
+. Making the release artifacts available from the Aries web pages
+. What to do when people find problems with the release artifacts
+
+The best current documentation for releases is http://apache.org/dev/publishing-maven-artifacts.html[here].
+It covers all the steps listed above so on these pages we will only add things which are specific to the Apache Aries release.
+
++++<a name="ReleasingAries-Discussionofthereleaseandit'scontentontheAriesmailinglist">++++++</a>+++
+
+[discrete]
+=== Discussion of the release and its content on the Aries mailing list
+
+Before starting off the release process it is essential to gain consensus on the dev@aries list that this is the right time for a release and to agree its content.
+Allow at least a week for this discussion.
+
++++<a name="ReleasingAries-CreatingandstoringGPGkeys">++++++</a>+++
+
+[discrete]
+=== Creating and storing GPG keys
+
+For Aries your GPG key will need to be in this file: https://svn.apache.org/repos/asf/aries/KEYS (follow the instructions in the file) and checkin.
+Then ensure the file is mirrored to http://www.apache.org/dist/aries/KEYS by following the instructions http://www.apache.org/dev/release.html#upload-scp[here].
+
++++<a name="ReleasingAries-Settingupyourenvironment">++++++</a>+++
+
+[discrete]
+=== Setting up your environment
+
+Follow the general instructions linked to above.
+
++++<a name="ReleasingAries-Creatingabranchtoreleasefrom">++++++</a>+++
+
+[discrete]
+=== Creating a branch to release from (if needed)
+
+It is strongly recomended that releases are made from trunk and NEVER from a branch.
+But, if you have to release from a branch this is what  you will need to do:
+
+....
+svn copy https://svn.apache.org/repos/asf/aries/trunk \
+
+https://svn.apache.org/repos/asf/aries/branches/0.X-RCx \
+
+  -m "Creating a release branch of /aries/trunk."
+....
+
+Where '0.X' is the number of the release.
+
+Checkout the new branch, for example, for the 0.2-incubating  release:
+
+ svn co https://svn.apache.org/repos/asf/aries/branches/0.2-RCx aries-0.2-candidate
+
+_IMPORTANT_ If you are using a branch to release you *must* edit the  pom.xml for *each* bundle to change the SCM references to point to the branch and not to trunk.
+For example:
+
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/branches/0.2-RCx/parent</connection>
+
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/branches/0.2-RCx/parent</developerConnection>
+
+ <url>scm:svn:http://svn.apache.org/repos/asf/aries/branches/0.2-RCx/parent</url>
+
+The consequence of forgetting this is that the commands that create the release (mvn release:prepare, mvn release:perform) will declare SUCCESS but will not create a staging repository and will add stuff to the snapshot repository :-/.
+
+After taking the branch, change the pom versions in trunk to, say, 0.3-incubating or whatever you want to call the next development version.
+
++++<a name="ReleasingAries-Checkingbundleversion">++++++</a>+++
+
+[discrete]
+=== Checking which version of the bundle to release
+
+If the Maven version of the bundle ends -SNAPSHOT then some change has been made which may require a release.
+To get a summary of the changes, use svn to compare with the most recently released tag,  for example:
+
+  svn diff https://svn.apache.org/repos/asf/aries/tags/testsupport-0.3/  https://svn.apache.org/repos/asf/aries/trunk/testsupport/ --summarize
+
+In general, if no Java files have changed only the micro version of the bundle will need to be incremented on release.
+If Java  code has changed it is important to check the packageinfo files to see whether package versions have changed.
+If so these might lead to the requirement to increment the major or minor versions the bundle.
+
++++<a name="ReleasingAries-Checkingreleaseartifacts">++++++</a>+++
+
+[discrete]
+=== Checking release artifacts
+
+Delete everything under ...org/apache/aries in your local Maven repo.
+For linux/Mac users you will find this under ~/.m2/repository/.
+
+Check that the code builds using the usual link:buildingaries.html[sequence]  of commands, but add the following arguments to the 'mvn install' command:
+
+ mvn install -Papache-release -DcreateChecksum=true
+
+This should build and install release artifacts in your local repo.
+
+Check the https://repository.apache.org/content/repositories/releases/org/apache/aries/parent/0.1-incubating/[0.1 release]  to understand what files should be created.
+
+To perform legal checks, in each subproject, run:
+
+ mvn rat:check -fn
+
+This will run through the project and its sub projects generating a file called rat.txt in each target directory.
+The 'fn' means it will carry on even if it find a failure.
+To inspect the failures, use:
+
+ find . -name rat.txt | xargs grep \!\?\?
+
+This will pick out the failing file names.
+Some of the files that rat fails do not require an Apache license, eg MANIFEST.MF, but any *.java or *.js file does need one.
+As an alternative you can use 'mvn -Prat install'.
+
++++<a name="ReleasingAries-Creatingasnapshotrelease">++++++</a>+++
+
+[discrete]
+=== Creating a snapshot release
+
+This is important to do when releasing from trunk as other bundles may want to continue to depend on the -SNAPSHOT version while the release is voted through.
+
+mvn deploy (check exact format)
+
+[discrete]
+=== JIRA preparation
+
+* After initial release discussion on the mailing list you should have a list of JIRA issues that are required in the release.
+If not, the default assumption is 'everything that has been fixed since the last release'.
+* Make sure that there is a JIRA version that matches the name of the release, if not, create one.
+* Check through defects, make sure that anything that is included in the release has been closed.
+If there are open issues move them to the next release.
+
++++<a name="ReleasingAries-Creatingtherelease">++++++</a>+++
+
+[discrete]
+=== Creating the release
+
++++<a name="ReleasingAries-Creatingthereleaseartifactsinastagingrepository">++++++</a>+++
+
+[discrete]
+===== Creating the release artifacts in a staging repository
+
+The release is created by releasing each bundle separately and in a specific order.
+It is also desirable to maintain the same IP address for the entire process (the staging repository is associated with your IP address, changing it results in the creation of a second staging repository).
+
+Short summary: Use a wired ether net connection and allow about 4 hours for the next few steps.
+
+From the top level directory in your branch run:
+
+ mvn clean
+
+_Note_ The prepare step will make some assumptions about the version of the development stream that is left after the release has been made.
+When releasing from a branch it may not be a good idea to accept the default for this, it will very likely conflict with the development version in use in trunk.
+
+For each bundle that needs to be release perform the following commands:
+
+ Check that there are no depndencies on -SNAPSHOT versions.
+ Ensure that everything is committed in SVN
+ mvn release:prepare -Papache-release -DpreparationGoals="clean install" -DwaitBeforeTagging="10" -DscmCommentPrefix="[ARIES-xxx][maven-release-plugin]"
+ mvn release:perform -Papache-release
+
+* Note 1: Use the -DdryRun option to check that release-prepare works.
+* Note 2: mvn release:prepare makes and commits changes in SVN.
+You'll be asked three questions.
+Here they are with answers for the 'parent' module release:
+ .. What is the release version for "Aries :: Top Parent POM"?
+(org.apache.aries:parent) 0.5: :
+ .. What is SCM release tag or label for "Aries :: Top Parent POM"?
+(org.apache.aries:parent) parent-0.5: :
+ .. What is the new development version for "Aries :: Top Parent POM"?
+(org.apache.aries:parent) 0.6-SNAPSHOT: : 0.5.1
+
++
+i.e.
+take the defaults for the last two questions, but change the release version if required.
+The last person doing a release didn't know whether the next version released from the trunk would have a major, minor or micro version number change - they couldn't know until those changes were made!
+- but they had to make a guess.
+Now is the time  to correct their guess.
+Similarly, you won't know what the next release number should be, but you need to use _something_, so accept the default.
+* Note 3: Since the release plugin makes changes in SCM, use a JIRA for the release (ARIES-XXX here) in the commit comment to make it easier to see what's changed.
+* Note 4: The task will appear to hang at the end.
+It's waiting ten seconds to do the tagging, to ensure everything works in Europe, where svn is mirrored from a US master.
+* Note 5: mvn release:clean will do _most_ of the cleaning up in the event of failures.
+* Note 6: If on mvn release:prepare you get an error from SVN similar to https://svn.apache.org/repos/asf/!svn/bc/1182408/aries/tags/parent-0.5/default-parent/java5-parent/org.apache.aries.bundle.i.am.releasing does not exist then it's because there's no scm element in the pom.xml for the module you're releasing.
+
+This will put release artifacts into an Apache https://repository.apache.org/index.html#view-repositories;staging.html[staging repository].
+You will need to log in to see it.
+If nothing appears in a staging repo you should stop here and work out why.
+If you have made a mistake it's quite easy to revert.
+The release commands make and commit changes to the project's pom.xml files and they create a tag in SVN.
+To revert the changes you will need to revert the pom.xml files and delete the tag from svn.
+
++++<a name="ReleasingAries-Closingthestagingrepository">++++++</a>+++
+
+[discrete]
+===== Closing the staging repository
+
+After checking that the staging repository contains the artifacts that you expect you should close the staging repository.
+This will make it available so that people can check the release.
+
++++<a name="ReleasingAries-Runningthevote(s)">++++++</a>+++
+
+[discrete]
+=== Running the vote.
+
+At this point you should write two notes to the dev@aries.apache.org mailing list.
+You may wish to ensure they have slightly different subjects, since googlemail seems to ignore anything in brackets when threading.
+
+* Subject [VOTE]  Apache Aries release candidate 0N
+
+The the source archive files should be explicitly called out by release manager in any release vote.
+From an Apache legal standpoint, this is what the project is "releasing" and what the community should be voting on.
+In this link:devlistvote.txt[sample note] , there is a link to each modules' source*.zip file.
+
+* Subject [DISCUSS]  Apache Aries  release candidate 0X
+
+The content should just indicate that the note starts a thread to discuss the Aries release.
+
+After 72 hours, if no problems have been found in the release artifacts, the dev@aries vote can be summarised and closed.
+Note that at least three +1 votes from Aries PMC members are required.
+
++++<a name="ReleasingAries-Promotingthereleaseartifacts">++++++</a>+++
+
+[discrete]
+=== Promoting the release artifacts
+
+From the https://repository.apache.org/index.html#stagingRepositories[Nexus pages] , select the staging repository and select 'release' from the top menu.
+This moves the release artifacts into an Apache releases repository, from there they will be automatically moved to the Maven repository.
+
++++<a name="ReleasingAries-MakingthereleaseartifactsavailablefromtheArieswebpages.">++++++</a>+++
+
+[discrete]
+=== Making the release artifacts available from the Aries web pages.
+
+Anything that is to be downloaded must be put in /www/www.apache.org/dist/aries on minotaur.
+Don't forget to changes the file permissions to '664' so that other  members of the group can access them.
+The distributions are archived here /www/archive.apache.org/dist/aries.
+
+First, delete the artifacts of the previous release from the distribution directory.
+You don't need to worry about putting the previous release artifacts in the archive as they will already have been rsync'd from the distribution directory.
+
+Then, put new release artifacts in the distribution directory.
+This is best done using a script, the script can be generated using the perl script http://svn.apache.org/repos/asf/aries/scripts/download_release_artifacts.pl[download_release_artifacts.pl].
+
+Next, update the Aries Downloads pages to refer to the new artifacts.
+The the perl script http://svn.apache.org/repos/asf/aries/scripts/create_modules_table.pl[create_modules_table.pl] can do this automatically.
+
+[discrete]
+=== Updating dependencies
+
+Once the release is promoted, change all the bundles which depend on the SNAPSHOT to depend on the released version.
+Deployed snapshots get regularly cleaned from the repositories if there's a released version available, so building against them isn't reliable.
+
+Don't move bundles which depend on earlier releases to depend on the new release, or they won't be able to run in an environment with the older bundles.
+
+[discrete]
+=== Tidying up tasks
+
+* Get the http://aries.apache.org/development/compliancetesting.html[compliance tests] run
+* Release notes
+* Release the component in JIRA (manage components), check the JIRA release notes.
+
++++<a name="ReleasingAries-Whattodowhenpeoplefindproblemswiththerelease">++++++</a>+++
+
+[discrete]
+=== What to do when people find problems with the release
+
+* Cancel the vote [CANCELLED] [VOTE]
+* Clean up, fix and re-release.
+The good news here is that it isn't necessarily essential to re-release every module.
diff --git a/modules/ROOT/pages/development/resources.adoc b/modules/ROOT/pages/development/resources.adoc
new file mode 100644
index 0000000..491b09e
--- /dev/null
+++ b/modules/ROOT/pages/development/resources.adoc
@@ -0,0 +1,15 @@
+:doctype: book
+
+Title: Developer Resources
+
+= Source
+
+https://svn.apache.org/repos/asf/aries/
+
+= Issue Tracker
+
+https://issues.apache.org/jira/browse/ARIES
+
+= Automated Builds
+
+https://builds.apache.org/view/A-D/view/Aries2/
diff --git a/modules/ROOT/pages/development/verifyingrelease.adoc b/modules/ROOT/pages/development/verifyingrelease.adoc
new file mode 100644
index 0000000..1c3cb7d
--- /dev/null
+++ b/modules/ROOT/pages/development/verifyingrelease.adoc
@@ -0,0 +1,118 @@
+Title: Notice:    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.
+
+#Verifying Release Artifacts This page provides some help for anyone who wants to verify release candidate artifacts so they feel they can genuinely vote on the related vote thread on the dev list.
+It is not intended to be exhaustive instructions.
+It's a list of things people have generally found to be useful to do when checking the artifacts.
+
+It is essential that the signatures and hashsums are good.
+Please do read http://httpd.apache.org/dev/verification.html[Verifying Apache HTTP Server Releases] for information on why you should verify releases..
+
+These instructions have been rolled up into a script, which you can run instead.
+Cut and paste the following:
+
+ wget --no-check-certificate https://svn.apache.org/repos/asf/aries/scripts/verify_staged_release.sh
+ chmod a+x verify_staged_release.sh
+ ./verify_staged_release.sh [RELEASE-NUM] mytempdirectory 2>&1 | tee verifyresults.txt
+ grep FAIL verifyresults.txt
+ grep ERROR verifyresults.txt
+
+##Have I got the KEYS?
+
+To verify Aries release artifacts you need the public keys for the Aries committers.
+The master KEYS file is in Subversion.
+The easiest way of getting it from the command line is to non-recursively check-out the files in the top level of the Aries location using:
+
+ svn checkout -N https://svn.apache.org/repos/asf/aries
+
+You then need to import the keys into PGP:
+
+ gpg --import KEYS
+
+##Download artifacts
+
+For each 'useful' file there are several others created to help you determine whether it's genuine.
+The PGP signature .asc file shows who created the 'useful' file.
+Then there are checksum files (.md5 and .sha1) for both the 'useful' file and the .asc file.
+To download the content for the repository you're verifying try this:
+
+ wget -e robots=off --no-check-certificate -np -r -nH https://repository.apache.org/content/repositories/orgapachearies-xxx/org/apache/aries/
+
+where xxx is the number of the repository you're verifying.
+
+wget will download the files into a directory called content.
+The following use of the 'find' command assumes the downloads are in the 'content' directory.
+
+##Verify the artifacts
+
+Ensure the checksums are right for the released files.
+Copy/paste this into the command line:
+
+ for i in `find content -type f | egrep -v '.md5$|.sha1$|index.html|maven-metadata.xml'`
+ do
+     mymd5=`md5sum $i|cut -c1-32`
+     repomd5=`cat $i.md5`
+     if [ "$mymd5" == "$repomd5" ]
+     then
+         echo "GOOD MD5 for $i"
+     else
+         echo "*BAD MD5 for $i *****"
+     fi
+ done
+
+(On the Mac, use `md5 -q` instead of `md5sum` and the cut.)
+
+Do something similar for sha1:
+
+ for i in `find content -type f | egrep -v '.md5$|.sha1$|index.html|maven-metadata.xml'`
+ do
+     mysha1=`sha1sum $i|cut -c1-40`
+     reposha1=`cat $i.sha1`
+     if [ "$mysha1" == "$reposha1" ]
+     then
+         echo "GOOD SHA1 for $i"
+     else
+         echo "*BAD SHA1 for $i *****"
+     fi
+ done
+
+(On the Mac, use `openssl sha1` instead of `sha1sum`.)
+
+Ensure the PGP signature files are good.
+See the http://httpd.apache.org/dev/verification.html#Validating[Validating section of Verifying Apache HTTP Server Releases] for background on validating the authenticity of a key.
+
+ for i in `find content -type f | egrep '.asc$'`
+ do
+     gpg $i
+ done
+
+You shouldn't get any errors.
+
+##Build the code
+
+It's a good idea to check the source release zip builds.
+Unzip it first:
+
+ find . -name *-source-release.zip |xargs -n 1 unzip
+
+Go into each subdir created and run:
+
+ mvn clean install
+
+##RAT check
+
+It's also a good idea to run the http://incubator.apache.org/rat/[Apache RAT (Release Audit Tool)].
+The Aries POMs are set up so you can do:
+
+ mvn -fn -Prat
+
+NOTE: currently RAT fails due to the generated DEPENDENCIES file not containing a license.
+It's safe to ignore this as the file is generated.
+So in order to ensure RAT checks all subdirectories, use the -fn.
+Then check any failures with
+
+ find . -name \*.rat | xargs grep \!\?\?
diff --git a/modules/ROOT/pages/development/versionpolicy.adoc b/modules/ROOT/pages/development/versionpolicy.adoc
new file mode 100644
index 0000000..d343def
--- /dev/null
+++ b/modules/ROOT/pages/development/versionpolicy.adoc
@@ -0,0 +1,79 @@
+= Aries versioning policy
+
+The Aries  project aims to implement OSGi semantic versioning as described http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf[here].
+
+The implementation of semantic versioning has a number of practical implications for managing a project.
+These are outlined in this section.
+
+== Package versions
+
+### Exported packages Versions are usually specified in packageinfo files with the source code.
+The default-parent pom is  configures (in the build resources section) to expect packageinfo files.
+If your pom has a build resources section it replaces what is inherited from the default-parent, so you may need to reproduce  the section which specifies where packageinfo can be found.
+
+Developers *must* increment the versions in packageinfo files in strict accordance with OSGi semantic versioning when they make changes to a package.
+The version should relate to the *most recent release of the package* and not to the version found in trunk.
+For example:
+
+[discrete]
+==== Scenario 1, making changes to a package with released version a.b.c
+
+* Developer A fixes a bug in the package and increments it's version to a.b.c+1
+* Developer B fixes another bug in the package but leaves the version at a.b.c+1
+
+[discrete]
+==== Scenario 2, making changes to a package with released version a.b.c
+
+* Developer A adds a method to an interface in the package and increments it's version to a.b+1.0
+* Developer B fixes a bug in the package, leaves its version at a.b+1.0
+
+[discrete]
+==== Scenario 3, making changes to a package with released version a.b.c
+
+* Developer A fixes a bug in the package, and increments its version to a.b.c+1
+* Developer B deletes a method from an interface and increases the package version to a+1.0.0.
+Note the final '0' here, developer B's change is more significant so there is no need to reflect Developer A's change with a micro version of '1'.
+Indeed, a version of a+1.0.1 would imply a bug fix to version a+1.0.0.
+
+=== Importing packages
+
+The bnd default version range policy for imports is the consumer policy (==, +).
+Implementers of interfaces will need to  override this.
+For example as an implementer of an interface the version range  would be the provider policy (==,=+).
+The policy can be set by using the Maven property +++<aries.osgi.version.policy>+++, see the default-parent pom for an example.+++</aries.osgi.version.policy>+++
+
+== Bundle versions
+
+*Note: Bundle versions are changed at release time and only by the release manager.
+Bundle versions are not updated during development.*
+
+OSGi semantic versioning applies to bundles as well as packages.
+When releasing a new version of a bundle the change in the bundle version should give some indication of nature of the changes to the bundle.
+In Aries the bundle version is the same as version of the Maven artifact version.
+During development, in trunk, the Maven artifact version will be:
+
+* x.y.(z+1)-SNAPSHOT
+
+Where x.y.z is the most recent release of the bundle
+
+During the release process the Maven release plugin asks for a the subsequent version to use in the module's pom after the release has taken place.
+The default is to increment the last digit and add -SNAPSHOT.
+
+For example, if proxy is released at version 1.0.0, the development version of proxy in trunk will become 1.0.1-SNAPSHOT.
+
+In addition, after a release, modules dependencies should refer to the lowest released version providing enough exported functionality the bundle requires.
+This ensures the import version is automatically set correctly to allow for loose coupling supported by OSGi.
+
+For example, bundles which depend on proxy (e.g.
+blueprint) will be set to depend on the released version of proxy.
+Immediately after  a release of proxy at say 1.0.0 and a release of blueprint at 1.2.0, the development version of blueprint in trunk will be 1.2.1-SNAPSHOT but the version of proxy that it depends on will be 1.0.0.
+
+###Assigning a bundle version number at release time
+
+At release time the release version of the bundle must be assigned by the release manager after reviewing the changes to the bundle's package versions since the last release.
+This is not a particularly time consuming task as long as  packageinfo files are used for versioning packages.
+
+So, for example, if proxy has a version of 1.0.1-SNAPSHOT in trunk but one of the API's that is exported by proxy  has changed its package version from 1.3.4 to 2.0.0 in trunk, the bundle version would be incremented to 2.0.0 on release to indicate an incompatible change in (at least) one of its packages.
+
+Bundles that don't export any packages will still change version when bugs are fixed.
+In this case the new release version will be x.y.(z+1) if the last release was x.y.z.
diff --git a/modules/ROOT/pages/documentation/application-dependencies.adoc b/modules/ROOT/pages/documentation/application-dependencies.adoc
new file mode 100644
index 0000000..71d708b
--- /dev/null
+++ b/modules/ROOT/pages/documentation/application-dependencies.adoc
@@ -0,0 +1,46 @@
+:doctype: book
+
+Title: Aries Application Modules Notice:    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.
+
++++<a name="Applications-AriesApplicationModules">++++++</a>+++
+
+= Aries Application Modules
+
+Below are the list of bundles in the format of mavenBundle(groupId, artifactId) required if using Apache Aries application module.
+
++++<a name="Applications-CoreBundles">++++++</a>+++
+
+== Core Runtime bundles
+
+mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint" ), + mavenBundle("org.apache.aries", "org.apache.aries.util" ), + mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.resolver.obr"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.install" ), + mavenBundle("org.apache.aries.application","org.apache.aries.application.api" ), + mavenBundle("org.apache.aries.application","org.apache.aries.application.management" ), + mavenBundle("org.apache.aries.application","org.apache.aries.application.utils" ), + mavenBundle("org.apache.aries.application","org.apache.aries.application.modeller"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.default.local.platform"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.noop.platform.repo"), <-- This module no longer exists in 0.3.1-SNAPSHOT + mavenBundle("org.apache.aries.application","org.apache.aries.application.noop.postresolve.process"), <-- This module no longer exists in 0.3.1-SNAPSHOT + mavenBundle("org.apache.aries.application","org.apache.aries.application.deployment.management"), +
+
+Besides the above bundles, either the non-isolated runtime or isolated runtime is also required.
++++<a name="Applications-NonIsoloatedAriesapplication">++++++</a>+++
+
+== Non-isolated Runtime
+
+mavenBundle("org.apache.aries.application","org.apache.aries.application.runtime" ), + +++<a name="Applications-IsoloatedAriesapplication">++++++</a>+++
+
+== Isolated Runtime
+
+mavenBundle("org.apache.aries.application","org.apache.aries.application.runtime.isolated"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.runtime.framework"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.runtime.framework.management"), + mavenBundle("org.apache.aries.application","org.apache.aries.application.runtime.repository"), +
+
++++<a name="Applications-ReplacableBundles">++++++</a>+++
+
+== Replacable bundles
+
+If the application modules are used in a application server, the following bundles should/can be replaced and the services should/can be implemented by the application server.
+####org.apache.aries.application.default.local.platform This bundle should be replaced with an alternative bundle by the application server.
+This bundle provides the temp directory location.
+
+Note - The following two bundles no longer exist in 0.3.1-SNAPSHOT
+
+The following two bundles can be replaced by the application server if necessary.
+####org.apache.aries.application.noop.platform.repo The above bundle provides the URL location for the application server runtime capabilities, which are xml file understood by the Felix OBR resolver.
+####org.apache.aries.application.noop.postresolve.process The above bundle provides the post resolve process.
+It can be replaced if the application server need to modify the deployment manifest generated by the application moduels.
diff --git a/modules/ROOT/pages/documentation/articles.adoc b/modules/ROOT/pages/documentation/articles.adoc
new file mode 100644
index 0000000..5331f7f
--- /dev/null
+++ b/modules/ROOT/pages/documentation/articles.adoc
@@ -0,0 +1,7 @@
+:doctype: book
+
+Title: Articles +++<a name="Articles-Articles">++++++</a>+++
+
+= Articles
+
+* http://www.ibm.com/developerworks/opensource/library/os-osgiblueprint/index.html[Jarek Gawor's article on Blueprint]
diff --git a/modules/ROOT/pages/documentation/integrators-guide.adoc b/modules/ROOT/pages/documentation/integrators-guide.adoc
new file mode 100644
index 0000000..348198a
--- /dev/null
+++ b/modules/ROOT/pages/documentation/integrators-guide.adoc
@@ -0,0 +1,82 @@
+:doctype: book
+
+Title: Integrators Guide
+
+= Integrators guide
+
+This page describes things that should be considered when integrating the Apache Aries project into a runtime.
+
++++<a name="IntegratorsGuide-InstallingApplications">++++++</a>+++
+
+== Installing Applications
+
+An application is installed using the AriesApplicationManager service.
+A client looks up the AriesApplicationManager and calls one of the createApplication methods.
+There are two createApplication methods.
+The first takes a URL that identifies the application.
+When this is called the application is archive is downloaded from the specified URL and stored in a temporary location.
+The second takes an IDirectory.
+The application utils project contains two implementations of IDirectory, one that maps onto directories and the other maps onto a zip.
+This method creates applications with no downloads.
+The createApplication method will attempt to convert non bundle content into bundles and will resolve the application in order to find all the dependencies.
+This does not affect the original application.
+To get a converted, resolved application the returned AriesApplication can be stored elsewhere.
+Storing the AriesApplication will store an application archive.
+
+Once the AriesApplication has been created it can be installed into a framework using the install method of the AriesApplicationManager.
+The install method returns an ApplicationContext which represents the runtime state of the application.
+
++++<a name="IntegratorsGuide-StartingandStoppinganApplication">++++++</a>+++
+
+== Starting and Stopping an Application
+
+The application can be started and stopped by calling the start and stop methods on the ApplicationContext.
+
++++<a name="IntegratorsGuide-UninstallinganApplication">++++++</a>+++
+
+== Uninstalling an Application
+
+The application can be uninstalled by passing the ApplicationContext to the uninstall method on the AriesApplicationManager.
+
++++<a name="IntegratorsGuide-FelixFileInstall">++++++</a>+++
+
+== Felix FileInstall
+
+The aries application project contains an example application installer that hooks into the felix file install project.
+It automatically installs and uninstalls .eba archives found by FileInstall.
+
++++<a name="IntegratorsGuide-BundleConverters">++++++</a>+++
+
+== BundleConverters
+
+A BundleConverter is a service that can convert an artefact into an OSGi Bundle.
+The interface is provided an IFile indicating the artefact in the application and an IDirectory for the root of the aries application.
+If the artefact can be converted then an InputStream is returned that contains the bytes for the bundle.
+
+The Aries application project contains a converter for turning war files into web application bundles.
+
++++<a name="IntegratorsGuide-AriesApplicationResolvers">++++++</a>+++
+
+== AriesApplicationResolvers
+
+The Application-Content header in the application does not denote the full content of the application.
+When the application is created the runtime will use an AriesApplicationResolver service to work out what extra bundles are needed to run the application.
+
+The aries project contains two resolvers:
+
+. The NoOpResolver.
+This resolver assumes that all the required bundles are contained by value in the application and simply returns the information about the bundles in the application.
+. The OBRAriesResolver.
+This resolver makes use of OBR to resolve the applications
+
+The AriesApplicationManager service picks up any resolver in the service registry, so alternatives can be provided if the default resolvers do not provide the desired behaviour.
+
++++<a name="IntegratorsGuide-ApplicationContextManagers">++++++</a>+++
+
+== ApplicationContextManagers
+
+The AriesApplicationManager does not itself know how to put an application into an OSGi framework.
+To do this it calls out to an ApplicationContextManager.
+
+The aries project contains a single simple application context manager which installs the application into a flat framework.
+This does not provide the isolation expected for the application content and is provided as a simple sample.
diff --git a/modules/ROOT/pages/documentation/tools.adoc b/modules/ROOT/pages/documentation/tools.adoc
new file mode 100644
index 0000000..d9bf364
--- /dev/null
+++ b/modules/ROOT/pages/documentation/tools.adoc
@@ -0,0 +1,10 @@
+Title:     Tools Notice:    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.
+
+== Tools
+
+. link:tools/repositoryGenerator.html[Repository Generator Tool]
diff --git a/modules/ROOT/pages/documentation/tools/repositoryGenerator.adoc b/modules/ROOT/pages/documentation/tools/repositoryGenerator.adoc
new file mode 100644
index 0000000..5fbed53
--- /dev/null
+++ b/modules/ROOT/pages/documentation/tools/repositoryGenerator.adoc
@@ -0,0 +1,33 @@
+Title: Repository Generator Tool Notice:    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.
+
+== Repository Generation Tool##
+
+It is a command line tool to generate a repository xml for a list of bundles.
+The instruction is as follows.
+
+. Obtain the tool + a) Build the tool from Aries trunk.
++  The easiest way to obtain the tool is to download the aries trunk, navigate to the  '_application\->application-tooling-repository-generator_', and then run _mvn install_, copy all jars from the the target directory.
++  +
+. Execute the command line tool +
++
+____
+_java -jar org.apache.aries.application.tooling.repository.generator-xxx.jar [repository xml location] url1 [url2...]_
+____
+
+NOTE: The text under the [] is optional.
+If [repository xml loaction] is absent, the repository.xml file will be generated under the current directory.
+
+The xxx is the maven version of bundle org.apache.aries.application.tooling.repository.generator, e.g.
+0.1.0-SNAPSHOT.
++ The file: protocol - url can be a file or a directory, all valid bundles under that directory or subdirectory will be included in the repository xml (no need to list every single jar).
++  + Following is an example of generating a repository xml for all the bundles under the directory of  c:\temp\test\jars recursively and a bundle located under http://aaa.com/public/Aries/obr/test.b1/test.b1_1.0.0.jar.
+The repository xml is saved under c:\temp\test with the file name of repo.xml.
+
+____
+_java -jar org.apache.aries.application.tooling.repository.generator-0.1.0-SNAPSHOT.jar c:\temp\test\repo.xml file:///C:/temp/test/jars http://aaa.com/public/Aries/obr/test.b1/test.b1_1.0.0.jar_
+____
diff --git a/modules/ROOT/pages/documentation/tutorials.adoc b/modules/ROOT/pages/documentation/tutorials.adoc
new file mode 100644
index 0000000..1300a19
--- /dev/null
+++ b/modules/ROOT/pages/documentation/tutorials.adoc
@@ -0,0 +1,9 @@
+:doctype: book
+
+Title: Tutorials +++<a name="Tutorials-Tutorials">++++++</a>+++
+
+= Tutorials
+
+* link:tutorials/blueprinthelloworldtutorial.html[Blueprint Hello World tutorial]
+* link:tutorials/greetertutorial.html[Greeter: another Blueprint Tutorial]
+* http://liquid-reality.de/display/liquid/Karaf+Tutorials[Apache Karaf Tutorials] - Touch blueprint, jndi, jpa, transaction
diff --git a/modules/ROOT/pages/documentation/tutorials/blueprinthelloworldtutorial.adoc b/modules/ROOT/pages/documentation/tutorials/blueprinthelloworldtutorial.adoc
new file mode 100644
index 0000000..9908ca8
--- /dev/null
+++ b/modules/ROOT/pages/documentation/tutorials/blueprinthelloworldtutorial.adoc
@@ -0,0 +1,139 @@
+:doctype: book
+
+Title: BlueprintHelloWorldTutorial
+
++++<a name="BlueprintHelloWorldTutorial-Blueprinttutorial">++++++</a>+++
+
+= Blueprint tutorial
+
++++<a name="BlueprintHelloWorldTutorial-Introduction">++++++</a>+++
+
+[discrete]
+=== Introduction
+
+This tutorial is designed for people who are starting to use the Apache Aries Blueprint implementation.
+After you have worked through the tutorial you will
+
+* be able to run a very simple piece of code in the Aries Blueprint container
+* understand bean, service and reference definitions in Blueprint
+
+The tutorial assumes a basic working knowledge of Java development, Eclipse and some understanding of OSGi.
+
+In order to work through the tutorial you will need to do checkout and build copy of Aries, the instructions are link:/development/buildingaries.html[here] . This tutorial assumes that you have built Aries and imported the samples/helloworld projects into Eclipse.
+
++++<a name="BlueprintHelloWorldTutorial-TheAPI,ServerandClientprojects">++++++</a>+++
+
+[discrete]
+=== The API, Server and Client projects
+
+When you have checked out and built the Aries code your workspace will contain the four projects highlighted in the picture below.
+This is a screen shot taken from my Eclipse package explorer: +  + image:HW1.png[hw1]  +  + The project called org.apache.aries.samples.helloworld.blueprint.assembly contains no Java code and is just used to pull together the minimal OSGi platform that is needed to run the sample.
+Expanding the org.apache.aries.samples.helloworld.blueprint.api project shows this:  +  + image:HW2.png[hh2]  +  + There are two interesting features of this project, the HelloWorldService.java interface and empty META-INF directory.
+HelloWorldService.java is the interface for the Helloworld service.
+It is good OSGi practice to keep interfaces and implementation classes in separate bundles.
+This allows implementations to be replaced independently of their interfaces.
+The META-INF directory is where you would expect to see a file called MANIFEST.MF.
+You don't see it because we are using a Maven plugin (look at the pom.xml) to generate the bundle manifest automatically.
+
+Expanding the org.apache.aries.samples.helloworld.blueprint.server project shows   +  + image:HW3.png[hw3]  +  + There are again two interesting files.
+HelloWorldServiceImpl.java is an implementation of the HelloWorldService interface in the first blueprint-helloworld-api project.
+The file config.xml is the Blueprint configuration for this package.
+
+The org.apache.aries.samples.helloworld.blueprint.client project looks like this  +  + image:HW4.png[hw4]  +  + The client implementation is in HelloWorldClient.java.
+The file config.xml contains the Blueprint for the client.
+
++++<a name="BlueprintHelloWorldTutorial-TheBlueprintXML">++++++</a>+++
+
+[discrete]
+=== The Blueprint XML
+
+Blueprint xml files contain all the information that the Blueprint runtime needs to internally wire a bundle's components.
+They also contain the information that the Blueprint runtime needs to register and locate services in the OSGi service registry.
+This allows for service-based interactions between bundles.
+
+This is a view of what the xml in the two config.xml files is describing:  +  + image:BPTutorial5F.png[hw5]  +  +
+
+The client configuration file has one bean definition which names the Java class that it requires and gives the name of the method that will be run when the bean has been initialised.
+The bean definition also describes a property, helloWorldService, which points (see the arrow) to the reference definition.
+This is telling Blueprint that the bean (helloclient) needs the container to supply a service matched by the 'helloservice' reference, which in turns specifies the interface to be implemented by that service.
++  + image:BPTutorial6F.png[hw6]  +  +
+
+The server configuration file is similar - with one bean definition which points to the Java class that implements HelloWorldService.
+The second element in this file is the service definition.
+This registers a service under the HelloWorldService interface, implemented by the 'helloservice' bean.
++  + image:BPTutorial7F.png[hw7]  +  +
+
++++<a name="BlueprintHelloWorldTutorial-TheJavaclasses">++++++</a>+++
+
+[discrete]
+=== The Java classes
+
+Both the Java classes are very simple, there are just a couple of minor points to make about each one.
+The HelloWorldClient class looks like this:  +  + image:BPTutorial8F.png[hw8]  +  +
+
+. The setHelloWorldService() method will be called by the Blueprint container in order to inject an object implementing the HelloWorldService interface.
+. The startUp() method will be run when the bundle is started: remember that this was specified in the Blueprint.
+This method executes a hello() method which must be supplied by an implementation of HelloWorldService.
+The startUp() method in this case will only be run after dependencies have been injected.
+This is the default Blueprint behaviour.
+
+The HelloWorldServiceImpl class is even simpler.
+It has two methods:  +  + image:BPTutorial9F.png[hw9]  +  +
+
+. A startUp() method which writes a message to say that the bundle is being started
+. A hello() method which writes a 'hello' message
+
++++<a name="BlueprintHelloWorldTutorial-Runningthecode">++++++</a>+++
+
+[discrete]
+=== Running the code
+
+The code can be run on an Equinox (or Felix) framework.
+The org.apache.aries.samples.helloworld.blueprint.assembly package assembles an Equinox based platform that contains all of the OSGi bundles you need.
+To start it up go to the target directory in  org.apache.aries.samples.helloworld.blueprint.assembly, and from command line, type:
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+You will see some messages, after which you should get the 'osgi>' prompt;
+sometimes you will need to press return to see it.
+At the prompt, type 'ss' to see the status of the bundles:  +  + image:BPTutorial10.png[hw10]  +  + Next, start the Blueprint container bundle by typing 'start 5' at the osgi prompt.
+You will see many debug messages in the code, this is because the target/configuration/config.ini specifies the message level to be DEBUG, if there are too many messages you can change this to 'INFO'.
+The debug messages are quite interesting to look through in themselves, but a little beyond the scope of this tutorial.
+The last debug message should indicate that a Blueprint container is running in state 'created'.
+After that, start the blueprint-helloworld-api in the same way by typing 'start 6' at the prompt.
+
+The next step is to  start the blueprint-helloworld-server bundle.
+In amongst the DEBUG messages you should see the single line of output from the startUp() method if the HelloWorldServiceImpl class:
+
+ ======>>> Starting HelloWorld Server
+
+At this point it is possible to see if the HelloWorldService is registered, like this:
+
+ osgi> services (objectClass=org.apache.aries.samples.blueprint.helloworld.api.HelloWorldService)
+
+running this command will tell you that a service is registered but that nothing is using it.
+
+Finally, start the blueprint-helloworld-client bundle.
+If things have gone according to plan you should see a sequence of 3 messages from the startUp() method, the second message will be a 'hello' from HelloWorldService:
+
+ ========>>>>Client HelloWorld: About to execute a method from the Hello World server
+ ======>>> A message from the server: Hello World!
+ ========>>>>Client HelloWorld: ... if you didn't just see a Hello World message something went wrong
+
+If you re-run the services command above it will tell you that the blueprint-helloworldclient bundle is using the blueprint-helloworldservice.
+
+One interesting experiment is to start the blueprint-helloworldclient bundle before the blueprint-helloworldserver bunde.
+When you do this, you will see no output until the second bundle is started because the 'helloclient' bean cannot be initialised until that point.
+If you wait more than five minutes by default, there will be a timeout and the client will not be initialised at all.
+
++++<a name="BlueprintHelloWorldTutorial-Summary">++++++</a>+++
+
+[discrete]
+=== Summary
+
+In the tutorial you have seen how to construct three simple Blueprint bundles.
+The client bundle depends directly on the api and indirectly on the server bundle.
+Blueprint takes care of registering a service from the server bundle so that the client bundle can use it.
+You will have some appreciation of the classes and XML that form a Blueprint application, and you have seen a simple example working.
+Of course, this tutorial barely touches on many of the features provided by the Aries Blueprint implementation.
+Anyone keen to explore the features of Blueprint should look at this http://www.ibm.com/developerworks/opensource/library/os-osgiblueprint/index.html[article]  and continue by reading the [OSGi specification|http://www.osgi.org/Download/Release4V42]  (see the 4.2 Compendium spec, section 121, "Blueprint Container Specification") and making modifications to the sample code.
diff --git a/modules/ROOT/pages/documentation/tutorials/greetertutorial.adoc b/modules/ROOT/pages/documentation/tutorials/greetertutorial.adoc
new file mode 100644
index 0000000..90f7df2
--- /dev/null
+++ b/modules/ROOT/pages/documentation/tutorials/greetertutorial.adoc
@@ -0,0 +1,28 @@
+:doctype: book
+
+Title: GreeterTutorial +++<a name="GreeterTutorial-TheGreeterTutorial">++++++</a>+++
+
+= The Greeter Tutorial
+
+This tutorial takes a slightly longer look at Blueprint and works through the process of converting an OSGi project to use use Blueprint.
+It is aimed at people who already have some familiarity with OSGi.
+
+The tutorial is assembled and distributed as a zip or tar.gz file.
+All of the documentation is included in the zip or tar.gz file.
+The intention was to build a tutorial that could be used in a classroom or conference.
+The only pre-reqs (in addition to the zip/tar.gz) are:
+
+* Maven 2.2+
+* Java 1.6 +
+* A network connection
+
+To build the tutorial zip/tar.gz you will need to:
+
+* Check out and build Aries, see link:/development/buildingaries.html[here]
+* cd trunk/tutorials/blueprint/tutorial-modules
+* mvn clean install
+* cd ../tutorial-assembly
+* mvn assembly:assembly
+
+This final step will generate a zip and a tar.gz file in the target directory.
+To run through the tutorial, extract either the zip or tar.gz into some temporary space ([toplevel](toplevel.html) ) and point your web browser at [toplevel]/docs/instructions.html.
diff --git a/modules/ROOT/pages/downloads/archived-releases.adoc b/modules/ROOT/pages/downloads/archived-releases.adoc
new file mode 100644
index 0000000..1e4058b
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases.adoc
@@ -0,0 +1,26 @@
+:doctype: book
+
+Title: Archived Releases
+
++++<a name="ArchivedReleases-Archivedreleases">++++++</a>+++
+
+= Archived releases
+
+[discrete]
+=== 0.3
+
+* link:archived-releases/0.3/0.3.html[Downloads]
+* link:archived-releases/0.3/0.3-releasenotes.html[Release Notes]
+* link:ct/0.3/testresults.html[Compliance Tests]
+
+[discrete]
+=== 0.2-incubating
+
+* link:archived-releases/0.2-incubating/0.2-incubating.html[Downloads]
+* link:archived-releases/0.2-incubating/0.2-incubating-releasenotes.html[Release Notes]
+* link:ct/0.2-incubating/testresults.html[Compliance Tests]
+
+[discrete]
+=== 0.1-incubating
+
+* link:archived-releases/0.1-incubating/0.1-incubating.html[Downloads]
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/0.1-incubating.adoc b/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/0.1-incubating.adoc
new file mode 100644
index 0000000..c8d698c
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/0.1-incubating.adoc
@@ -0,0 +1,75 @@
+:doctype: book
+
+Title: 0.1-incubating +++<a name="0.1-incubating-ApacheAries0.1-incubatingrelease">++++++</a>+++
+
+= Apache Aries 0.1-incubating release
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+Apache Aries modules are distributed in source and binary form.
+Alternatively you may checkout the source from Subversion and build Aries yourself.
+Otherwise, the releases below are available for download.
+These http://www.apache.org/dist/incubator/aries/KEYS[KEYS]  can be used to verify the release archive.
+All Apache Aries products are distributed under the terms of The Apache Software License (version 2.0).
+See the LICENSE file included in each distribution for additional license information.
++++<a name="0.1-incubating-Samples">++++++</a>+++
+
+[discrete]
+=== Samples
+
+The easiest way to use the samples is to download the source zip, navigate to the appropriate 'assembly' module and run mvn install to download all the released  binary artifacts.
+Alternatively you can build the entire source.+++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Download+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Aries Samples+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Source, ready to build+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="/downloads/archived-releases/0.1-incubating/ariestrader-0.1-incubating.html">+++AriesTrader sample instructions+++</a>+++
+</tr>
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JDBC app+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.1-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.1-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.1-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.1-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with JDBC persistence only+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JPA & JDBC app+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.1-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.1-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.1-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.1-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with all available persistence methods+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="/downloads/archived-releases/0.1-incubating/blogsample-0.1-incubating.html">+++Blog Sample instructions+++</a>+++
+ </th></tr>
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JDBC app+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.1-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.1-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.1-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.1-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JDBC+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JPA app+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.1-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.1-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.1-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.1-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JPA+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint HelloWorld+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint ID Verifier+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+</table>
++++<a name="0.1-incubating-Projectcomponents">++++++</a>+++
+### Project components
++++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Binary+++</th>++++++<th class="confluenceTh">+++Source+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Application+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/application-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/application-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/application-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/application-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)
+</th></tr>
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-api+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-bundle+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-converters+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-install+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-management+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-obr-resolver+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-runtime+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-utils+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Blueprint+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-api+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-bundle+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-cm+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-core+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++eba-maven-plugin+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++JMX+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-api+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-blueprint-api+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-blueprint-bundle+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-blueprint-core+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-bundle+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-core+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++JNDI+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jndi-bundle+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jndi-core+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jndi-url+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++JPA+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-api+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-blueprint-aries+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-container+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-container-context+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Transaction+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++transaction-blueprint+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++transaction-manager+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++transaction-wrappers+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Util+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++\-+++</td>++++++<td class="confluenceTd">+++0.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.1-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++</tr>+++
+</table>+++</td>++++++</tr>++++++</table>++++++</td>++++++</tr>++++++</td>++++++</tr>++++++</table>+++
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/ariestrader-0.1-incubating.adoc b/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/ariestrader-0.1-incubating.adoc
new file mode 100644
index 0000000..f3852e5
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/ariestrader-0.1-incubating.adoc
@@ -0,0 +1,128 @@
+:doctype: book
+
+Title: AriesTrader-0.1-incubating +++<a name="AriesTrader-0.1-incubating-TheAriesTraderSample">++++++</a>+++
+
+= The AriesTrader Sample
+
++++<a name="AriesTrader-0.1-incubating-Prereqs">++++++</a>+++
+
+[discrete]
+=== Prereqs
+
+{blank} +
+
+'''
+
+*Note*: The Derby installation prereq is only required when using the 0.1-incubating released version of the sample.
+Subsequent releases will not require the installation of Derby.
+
+Also note that the version of Derby used by the 0.1-incubating release and development versions of the AriesTrader Sample is 10.5.3.0.
+Since May 2010 the Derby tutorial points to the latest Derby release (10.6.x) - if this is installed the AriesTrader sample will not work.
+See https://issues.apache.org/jira/browse/ARIES-317[ARIES-317] . For the present the best solution is to install Derby 10.5.3.
+
+'''
+
+Follow the instructions http://db.apache.org/derby/papers/DerbyTut/install_software.html#derby[here]  to complete the following actions: Download Derby, Install Derby, Set DERBY_INSTALL, Configure Embedded Derby and then Verify Derby.
+
++++<a name="AriesTrader-0.1-incubating-CreatingtheOSGiplatform(equinox-test-harness)forAriesTrader">++++++</a>+++
+
+[discrete]
+=== Creating the OSGi platform (equinox-test-harness) for AriesTrader
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the equinox-test-harness module under ariestrader:
+
+ cd samples-0.1-incubating/ariestrader/assemblies/equinox-test-harness
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="AriesTrader-0.1-incubating-AlternativebuildusingApacheAriestrunk.">++++++</a>+++
+
+[discrete]
+=== Alternative build using Apache Aries trunk.
+
+As an alternative to using the released version you can also choose to work with the latest, unreleased code.
+This will require the use of subversion to checkout the code followed by building the entire Apache Aries project.
+Directions are provided here:  link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="AriesTrader-0.1-incubating-StartingtheEquinoxTestHarnesstoruntheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Starting the Equinox Test Harness to run the AriesTrader sample
+
+AriesTrader needs a test harness to run in.
+For this purpose we are using an Equinox assembly that pulls in all of the necessary dependencies.
+
+The first task is to create the database necessary for AriesTrader:
+
+ cd [your_aries_installation] /ariestrader-sample/assemblies/equinox-test-harness/target
+ export CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:.
+ java org.apache.derby.tools.ij tradeDB.sql
+
+Next, start Aries in an OSGi framework using the Eclipse Equinox test harness
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show the active bundles but the AriesTrader application is not yet installed (with the exception of the ariestrader derby datasource which is started with the test harness for convenience).
+
++++<a name="AriesTrader-0.1-incubating-InstallingAriesTraderintheEquinoxTestHarness">++++++</a>+++
+
+[discrete]
+=== Installing AriesTrader in the Equinox Test Harness
+
+To install the AriesTrader application simply copy the eba for AriesTrader into the target/load directory which was created when test harness containing Aries was started.
+For convenience the AriesTraders EBAs are copied into the target directory as part of creating the OSGi Equinox test harness.
+
+When using the "JDBC" only AriesTrader configuration which supports only jdbc persistence:
+
+ cp org.apache.aries.samples.ariestrader.jdbc-*.eba load/
+
+When using the "All" AriesTrader configuration which supports all currently available persistence modes:
+
+ cp org.apache.aries.samples.ariestrader.all-*.eba load/
+
+Now the 'ss' command should show all of the AriesTrader bundles in state 'ACTIVE'.
+
+If you subsequently delete org.apache.aries.samples.ariestrader.jdbc-_.eba or org.apache.aries.samples.ariestrader.all-_.eba from the target/load directory the application will be uninstalled.
+
++++<a name="AriesTrader-0.1-incubating-AccessingandusingtheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Accessing and using the AriesTrader sample
+
+Point your browser at http://localhost:8080/org.apache.aries.samples.ariestrader.web/
+
+Select the "Configuration" tab and the "Configure AriesTrader run-time parameters" choice.
+Then select from among the available runtime modes (defauls to JDBC).
+Be sure to click "update config" to save your selection.
+
+At the moment the following persistence modes are available when using the "all" EBA:
+
+* JDBC persistence
+* JPA application managed entity manager persistence
+* JPA container managed entity managers using declarative transaction support
+
+By default, the sample starts with JDBC persistence.
+To select another persistence mechanism see the directions under "Accessing and using the AriesTrader sample.
+
+After selecting the persistence mode you must create the AriesTrader Database tables and indexs.
+Select the "Configuration" tab and the "(Re)-create AriesTrader Tables and Indexes".
+
+Next, you must seed the database with test content.
+Once again go to the "Configuration" tab but this time select "(Re)-populate AriesTrader Database" from the available choices to seed the database with a default set of users and stock quotes.
+You will see a number of quotes (default is 400) and users (default is 200) created.
+
+Select the "Trading & Portfolios" tab to use the mock trade application or the "Primitives" tab to run some of the web primitive tests (PingJSPEL is not currently working).
+You can also run the "Test AriesTrader Scenario" from the "Configuration" tab which will launch a new browser window and step through a trading scenario with each reload of the page.
+
++++<a name="AriesTrader-0.1-incubating-AbouttheAriesTraderSample">++++++</a>+++
+
+[discrete]
+=== About the AriesTrader Sample
+
+The AriesTrader sample is a modified version of the Apache Geronimo DayTrader sample.
+It has been somewhat simplified and reorganized to support the Apache Aries programming model.
+
+The AriesTrader sample bundles are organized like this:
+
+image::ariesTraderOverview2.png[at1]
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/blogsample-0.1-incubating.adoc b/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/blogsample-0.1-incubating.adoc
new file mode 100644
index 0000000..1c9c9ef
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.1-incubating/blogsample-0.1-incubating.adoc
@@ -0,0 +1,86 @@
+:doctype: book
+
+Title: BlogSample-0.1-incubating +++<a name="BlogSample-0.1-incubating-TheBlogSample-version0.1-incubating.">++++++</a>+++
+
+= The Blog Sample - version 0.1-incubating.
+
++++<a name="BlogSample-0.1-incubating-RunningtheBlogSample">++++++</a>+++
+
+== Running the Blog Sample
+
++++<a name="BlogSample-0.1-incubating-Prereqs">++++++</a>+++
+
+=== Prereqs
+
+Follow the instructions http://db.apache.org/derby/papers/DerbyTut/install_software.html#derby[here]  to complete the following actions: Download Derby, Install Derby, Set DERBY_INSTALL, Configure Embedded Derby and then Verify Derby.
+
+{blank} +
+
+'''
+
+NOTE: The version of Derby used by the current release and development versions of the Blog Sample is 10.5.3.0.
+Since May 2010 the Derby tutorial points to the latest Derby release (10.6.x) - if this is installed the Blog sample will not work.
+See https://issues.apache.org/jira/browse/ARIES-317[ARIES-317] . For the present the best solution is to install Derby 10.5.3.
+
+'''
+
++++<a name="BlogSample-0.1-incubating-CreatetheOSGiplatformfortheBlogsample">++++++</a>+++
+
+=== Create the OSGi platform for the Blog sample
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the blog-assembly module:
+
+ cd samples-0.1-incubating/blog/blog-assembly
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="BlogSample-0.1-incubating-RunningtheBlogsample">++++++</a>+++
+
+=== Running the Blog sample
+
+Download the JDBC based Blog sample application (.eba file) from the link:aries:downloads.html[latest release] .
+
+Create the database
+
+ cd samples-0.1-incubating/blog-sample/blog-assembly/target
+ export
+ CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:.
+ java org.apache.derby.tools.ij blogDB.sql
+
+now start Aries in an OSGi framework (we're using Eclipse Equinox in this case)
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show all of the Blog bundles in state 'ACTIVE'.
+
+Now start the blog application (.eba file) you downloaded earlier, by copying it into the load directory which was created when Aries started.
+
+Point your browser to http://localhost:8080/org.apache.aries.samples.blog.web/
+
+If you subsequently delete the .eba from the load directory the application will be uninstalled.
+
++++<a name="BlogSample-0.1-incubating-RunningthesampleusingaJPApersistencelayer">++++++</a>+++
+
+=== Running the sample using a JPA persistence layer
+
+The first blog sample application was written to use a JDBC persistence layer.
+There is a second application implemented to demonstrate the JPA capability
+
+To run the blog sample which uses the JPA persistence layer, start the OSGi framework, remove any previous copies of the blog sample from the target/load directory, then copy the Blog sample JPA .eba file into the load directory.
+
+Finally, after typing 'refresh' at the OSGi console, point your browser at http://localhost:8080/org.apache.aries.samples.blog.web/ . You should see something that looks precisely the same as the blog sample running with the JDBC persistence layer, but this time running using the JPA persistence layer.
+
++++<a name="BlogSample-0.1-incubating-Usingthelatest,unreleasedcode">++++++</a>+++
+
+== Using the latest, unreleased code
+
+If you prefer to use the very latest code from subversion, checkout and build the Aries trunk by following the link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="BlogSample-0.1-incubating-AbouttheBlogsample">++++++</a>+++
+
+== About the Blog sample
+
+The blog sample components can be visualised like this:
+
+image::BlogSample.png[bs]
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating-releasenotes.adoc b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating-releasenotes.adoc
new file mode 100644
index 0000000..6b52438
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating-releasenotes.adoc
@@ -0,0 +1,85 @@
+:doctype: book
+
+Title: ReleaseNotes
+
++++<a name="ReleaseNotes-ReleaseNotes">++++++</a>+++
+
+= Release Notes
+
++++<a name="ReleaseNotes-NewandNoteworthy">++++++</a>+++
+
+[discrete]
+=== New and Noteworthy
+
+Welcome to the 0.2-incubating release.
+For this release we started running the OSGi Enterprise Compliance tests for relevant components.
+
+* link:/downloads/archived-releases/0.2-incubating/0.2-incubating-testresults.html[Test Results]
+* https://issues.apache.org/jira/secure/releasenote.jspa?projectid=12310981&stylename=html&version=12314941.html[JIRA Release Notes]
+
++++<a name="ReleaseNotes-NewComponents">++++++</a>+++
+
+[discrete]
+=== New Components
+
+Quiesce.
+The Quiesce component co-ordinates a graceful shutdown across a number of bundles.
+Quiesce participants respond to quiesce operations and clean up resources.
+In this release, only the JPA component implements a quiesce participant.
+
++++<a name="ReleaseNotes-Modulesinthisrelease">++++++</a>+++
+
+[discrete]
+=== Modules in this release+++<table>++++++<tr>++++++<th>+++Module+++</th>++++++<th>+++Version+++</th>++++++<th>+++Depends (build)  on Aries module+++</th>++++++<th>+++Version+++</th>++++++</tr>+++
++++<tr>++++++<td>+++Application+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Blueprint+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Testsupport+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Web+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++Blueprint+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++Eba-maven-plugin+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>++++++</td>++++++<td>++++++</td>++++++</tr>+++
++++<tr>++++++<td>+++JMX+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Blueprint+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++JNDI+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Testsupport+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++JPA+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Blueprint+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Testsupport+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Quiesce+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++Quiesce+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Testsupport+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++Transaction+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Blueprint+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++-+++</td>++++++<td>+++-+++</td>++++++<td>+++Testsupport+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>+++
++++<tr>++++++<td>+++Util+++</td>++++++<td>+++0.2-incubating+++</td>++++++<td>+++Testsupport+++</td>++++++<td>+++0.2-incubating+++</td>++++++</tr>++++++</table>+++
+
++++<a name="ReleaseNotes-Newsamples">++++++</a>+++
+
+[discrete]
+=== New samples
+
+No new samples but we changed the Blog Sample and Aries Trader samples so that no database initialisation is required prior to running the sample.
+
++++<a name="ReleaseNotes-NewTutorials">++++++</a>+++
+
+[discrete]
+=== New Tutorials
+
+None
+
++++<a name="ReleaseNotes-APIbreaking">++++++</a>+++
+
+[discrete]
+=== API breaking
+
+None.
+
++++<a name="ReleaseNotes-KnownIssues">++++++</a>+++
+
+[discrete]
+=== Known Issues
+
+link:-https://issues.apache.org/jira/secure/issuenavigator.jspa?mode=hide&requestid=12314569.html[JIRA query for known issues in the 0.2-incubating release]
+
++++<a name="ReleaseNotes-Importantchangestoconsiderwhenupgrading">++++++</a>+++
+
+[discrete]
+=== Important changes to consider when upgrading
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating-testresults.adoc b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating-testresults.adoc
new file mode 100644
index 0000000..7d7832d
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating-testresults.adoc
@@ -0,0 +1,26 @@
+Title: TestResults
+
+These are the test results for the current Aries release.
+
+=== Blueprint
+
+* link:/downloads/ct/0.2-incubating/org.osgi.test.cases.blueprint.html[Blueprint]
+* link:/downloads/ct/0.2-incubating/org.osgi.test.cases.blueprint.java5.html[Blueprint-java5]
+* link:/downloads/ct/0.2-incubating/org.osgi.test.cases.blueprint.security.html[Blueprint-security]
+
+== JNDI
+
+* link:/downloads/ct/0.2-incubating/org.osgi.test.cases.jndi.html[JNDI]
+
+== JMX
+
+* link:/downloads/ct/0.2-incubating/org.osgi.test.cases.jmx.html[JMX]
+
+== JPA
+
+Not run.
+The Aries container managed JPA implementation is not expected to pass the existing compliance tests for user managed JPA.
+
+== Transaction
+
+* link:/downloads/ct/0.2-incubating/org.osgi.test.cases.transaction.html[Transaction]
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating.adoc b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating.adoc
new file mode 100644
index 0000000..59d8003
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/0.2-incubating.adoc
@@ -0,0 +1,87 @@
+:doctype: book
+
+Title: Downloads
+
++++<a name="Downloads-ApacheAriesDownloads">++++++</a>+++
+
+= Apache Aries Downloads
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Apache Aries modules are distributed in source and binary form.
+Alternatively you may checkout the source from Subversion and build Aries yourself.
+Otherwise, the releases below are available for download.
+These http://www.apache.org/dist/incubator/aries/KEYS[KEYS]  can be used to verify the release archive.
+
+All Apache Aries products are distributed under the terms of The Apache Software License (version 2.0).
+See the LICENSE file included in each distribution for additional license information.
+
+The release notes for the current release are link:0.2-incubating-releasenotes.html[here] .
+
++++<a name="Downloads-Samples">++++++</a>+++
+
+[discrete]
+=== Samples
+
+The easiest way to use the samples is to download the source zip, navigate to the appropriate 'assembly' module and run mvn install to download all the released  binary artifacts.
+Alternatively you can build the entire source.+++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Download+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Aries Samples+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/samples-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Source, ready to build+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="ariestrader-0.2-incubating.html">+++AriesTrader sample instructions+++</a>+++
+</tr>
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JDBC app+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.2-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.2-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.2-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.jdbc-0.2-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with JDBC persistence only+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JPA & JDBC app+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.2-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.2-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.2-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.ariestrader.all-0.2-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with all available persistence methods+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="blogsample-0.2-incubating.html">+++Blog Sample instructions+++</a>++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JDBC app+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.2-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.2-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.2-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jdbc.eba-0.2-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JDBC+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JPA app+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.2-incubating.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.2-incubating.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.2-incubating.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.samples.blog.jpa.eba-0.2-incubating.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JPA+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint HelloWorld+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint ID Verifier+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+</table>
+
++++<a name="Downloads-Projectcomponents">++++++</a>+++
+### Project components
+
++++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Binary+++</th>++++++<th class="confluenceTh">+++Source+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Application+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/application-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/application-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/application-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/application-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-api+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.api-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-bundle+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-converters+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.converters-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-install+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.install-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-management+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.management-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-obr-resolver+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.resolver.obr-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-runtime+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.runtime-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++application-utils+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.application.utils-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Blueprint+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/blueprint-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-api+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.api-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-bundle+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++An Uber bundle collecting all the required sub-modules that provide the
+blueprint implementation+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-cm+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.cm-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-core+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.blueprint.core-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++eba-maven-plugin+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/eba-maven-plugin-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++JMX+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jmx-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-api+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.api-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-blueprint-api+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.api-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-blueprint-bundle+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-blueprint-core+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.blueprint.core-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-bundle+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jmx-core+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jmx.core-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++JNDI+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jndi-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jndi-bundle+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++An Uber bundle that collects the jndi-api, jndi-core and jndi-url bundles
+into one+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jndi-core+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.core-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jndi-url+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jndi.url-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++JPA+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/jpa-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-api+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating.jar.sha1">+++sha1+++</a>+++)
++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.api-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-blueprint-aries+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.blueprint.aries-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-container+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++jpa-container-context+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.jpa.container.context-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Quiesce+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/quiesce-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/quiesce-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/quiesce-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/quiesce-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++quiesce-api+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.api-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++quiesce-manager+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.quiesce.manager-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Transaction+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/transaction-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++transaction-blueprint+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.blueprint-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++transaction-manager+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.manager-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++transaction-wrappers+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.transaction.wrappers-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Util+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++0.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/incubator/aries/org.apache.aries.util-0.2-incubating-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>++++++</table>++++++</td>++++++</tr>++++++</table>+++
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/ariestrader-0.2-incubating.adoc b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/ariestrader-0.2-incubating.adoc
new file mode 100644
index 0000000..c1e4110
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/ariestrader-0.2-incubating.adoc
@@ -0,0 +1,120 @@
+:doctype: book
+
+Title: AriesTrader +++<a name="AriesTrader-TheAriesTraderSample">++++++</a>+++
+
+= The AriesTrader Sample
+
++++<a name="AriesTrader-Prereqs">++++++</a>+++
+
+[discrete]
+=== Prereqs
+
+{blank} +
+
+'''
+
+NOTE:
+
+These instructions are for the 0.2-incubating release of Aries.
+Instructions for older releases can be found link:archiveinstructions.html[here] . In the 0.2-incubating release the AriesTrader sample was changed such that it is no longer required for you to install Derby independently.
+The Derby version included in the sample is fully leveraged internally in the sample and therefore no additional Derby installation is required.
+However, there are steps required to initialize the Database from within the sample itself (see instructions below).
+
+'''
+
++++<a name="AriesTrader-CreatingtheOSGiplatform(equinox-test-harness)forAriesTrader">++++++</a>+++
+
+[discrete]
+=== Creating the OSGi platform (equinox-test-harness) for AriesTrader
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the equinox-test-harness module under ariestrader:
+
+ cd samples-0.2-incubating/ariestrader/assemblies/equinox-test-harness
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="AriesTrader-AlternativebuildusingApacheAriestrunk.">++++++</a>+++
+
+[discrete]
+=== Alternative build using Apache Aries trunk.
+
+As an alternative to using the released version you can also choose to work with the latest, unreleased code.
+This will require the use of subversion to checkout the code followed by building the entire Apache Aries project.
+Directions are provided here:  link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="AriesTrader-StartingtheEquinoxTestHarnesstoruntheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Starting the Equinox Test Harness to run the AriesTrader sample
+
+AriesTrader needs a test harness to run in.
+For this purpose we are using an Equinox assembly that pulls in all of the necessary dependencies.
+
+The first task is to start the Apache Aries modules in an OSGi framework using the Eclipse Equinox test harness
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show the active bundles but the AriesTrader application is not yet installed (with the exception of the ariestrader derby datasource which is started with the test harness for convenience).
+
++++<a name="AriesTrader-InstallingAriesTraderintheEquinoxTestHarness">++++++</a>+++
+
+[discrete]
+=== Installing AriesTrader in the Equinox Test Harness
+
+To install the AriesTrader application simply copy the eba for AriesTrader into the target/load directory which was created when test harness containing Aries was started.
+For convenience the AriesTraders EBAs are copied into the target directory as part of creating the OSGi Equinox test harness.
+
+When using the "JDBC" only AriesTrader configuration which supports only jdbc persistence:
+
+ cp org.apache.aries.samples.ariestrader.jdbc-*.eba load/
+
+When using the "All" AriesTrader configuration which supports all currently available persistence modes:
+
+ cp org.apache.aries.samples.ariestrader.all-*.eba load/
+
+Now the 'ss' command should show all of the AriesTrader bundles in state 'ACTIVE'.
+
+If you subsequently delete org.apache.aries.samples.ariestrader.jdbc-_.eba or org.apache.aries.samples.ariestrader.all-_.eba from the target/load directory the application will be uninstalled.
+
++++<a name="AriesTrader-AccessingandusingtheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Accessing and using the AriesTrader sample
+
+Point your browser at http://localhost:8080/org.apache.aries.samples.ariestrader.web/
+
+Select the "Configuration" tab and the "Configure AriesTrader run-time parameters" choice.
+Then select from among the available runtime modes (defauls to JDBC).
+Be sure to click "update config" to save your selection.
+
+At the moment the following persistence modes are available when using the "all" EBA:
+
+* JDBC persistence
+* JPA application managed entity manager persistence
+* JPA container managed entity managers using declarative transaction support
+
+By default, the sample starts with JDBC persistence.
+To select another persistence mechanism see the directions under "Accessing and using the AriesTrader sample.
+
+After selecting the persistence mode you must create the AriesTrader Database tables and indexs.
+Select the "Configuration" tab and the "(Re)-create AriesTrader Tables and Indexes".
+
+Next, you must seed the database with test content.
+Once again go to the "Configuration" tab but this time select "(Re)-populate AriesTrader Database" from the available choices to seed the database with a default set of users and stock quotes.
+You will see a number of quotes (default is 400) and users (default is 200) created.
+
+Select the "Trading & Portfolios" tab to use the mock trade application or the "Primitives" tab to run some of the web primitive tests (PingJSPEL is not currently working).
+You can also run the "Test AriesTrader Scenario" from the "Configuration" tab which will launch a new browser window and step through a trading scenario with each reload of the page.
+
++++<a name="AriesTrader-AbouttheAriesTraderSample">++++++</a>+++
+
+[discrete]
+=== About the AriesTrader Sample
+
+The AriesTrader sample is a modified version of the Apache Geronimo DayTrader sample.
+It has been somewhat simplified and reorganized to support the Apache Aries programming model.
+
+The AriesTrader sample bundles are organized like this:
+
+image::ariesTraderOverview2.png[at2]
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/blogsample-0.2-incubating.adoc b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/blogsample-0.2-incubating.adoc
new file mode 100644
index 0000000..14a7c0b
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.2-incubating/blogsample-0.2-incubating.adoc
@@ -0,0 +1,76 @@
+:doctype: book
+
+Title: Blog Sample +++<a name="BlogSample-TheBlogSample">++++++</a>+++
+
+= The Blog Sample
+
++++<a name="BlogSample-RunningtheBlogSample">++++++</a>+++
+
+== Running the Blog Sample
+
+{blank} +
+
+'''
+
+NOTE: These instructions are for the 0.2-incubating release of Aries.
+In the 0.2-incubating release the sample was changed to use an in-memory database to avoid dependency on an explicit version of Derby.
+If you would prefer to use a database on disk check the instructions for the 0.1-incubating release.
+You will also need to modify datasource.xml (under blog-datasource) as indicated in the comments and then rebuild the sample.
+
+'''
+
++++<a name="BlogSample-CreatetheOSGiplatformfortheBlogsample">++++++</a>+++
+
+=== Create the OSGi platform for the Blog sample
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the blog-assembly module:
+
+ cd samples-0.2-incubating/blog/blog-assembly
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="BlogSample-RunningtheBlogsample">++++++</a>+++
+
+=== Running the Blog sample
+
+Download the JDBC based Blog sample application (.eba file) from the link:aries:downloads.html[latest release] . Change directory to the blog-assembly target directory:
+
+ cd samples-0.2-incubating/blog-sample/blog-assembly/target
+
+now start Aries in an OSGi framework (we're using Eclipse Equinox in this case)
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show all of the Blog bundles in state 'ACTIVE'.
+
+Now start the blog application (.eba file) you downloaded earlier, by copying it into the load directory which was created when Aries started.
+
+Point your browser to http://localhost:8080/org.apache.aries.samples.blog.web/
+
+If you subsequently delete the .eba from the load directory the application will be uninstalled.
+
++++<a name="BlogSample-RunningthesampleusingaJPApersistencelayer">++++++</a>+++
+
+=== Running the sample using a JPA persistence layer
+
+The first blog sample application was written to use a JDBC persistence layer.
+There is a second application implemented to demonstrate the JPA capability
+
+To run the blog sample which uses the JPA persistence layer, start the OSGi framework, remove any previous copies of the blog sample from the target/load directory, then copy the Blog sample JPA .eba file into the load directory.
+
+Finally, after typing 'refresh' at the OSGi console, point your browser at http://localhost:8080/org.apache.aries.samples.blog.web/ . You should see something that looks precisely the same as the blog sample running with the JDBC persistence layer, but this time running using the JPA persistence layer.
+
++++<a name="BlogSample-Usingthelatest,unreleasedcode">++++++</a>+++
+
+== Using the latest, unreleased code
+
+If you prefer to use the very latest code from subversion, checkout and build the Aries trunk by following the link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="BlogSample-AbouttheBlogsample">++++++</a>+++
+
+== About the Blog sample
+
+The blog sample components can be visualised like this:
+
+!BlogSample.png!
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.3/0.3-releasenotes.adoc b/modules/ROOT/pages/downloads/archived-releases/0.3/0.3-releasenotes.adoc
new file mode 100644
index 0000000..56c0968
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.3/0.3-releasenotes.adoc
@@ -0,0 +1,95 @@
+:doctype: book
+
+Title: ReleaseNotes
+
++++<a name="ReleaseNotes-ReleaseNotes">++++++</a>+++
+
+= Release Notes
+
++++<a name="ReleaseNotes-NewandNoteworthy">++++++</a>+++
+
+[discrete]
+=== New and Noteworthy
+
+Welcome to the 0.3 release.
+
+* Compliance tests (TBD)
+* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310981&version=12315310[JIRA Release Notes]
+
++++<a name="ReleaseNotes-NewComponents">++++++</a>+++
+
+[discrete]
+=== New Components
+
+[discrete]
+==== Proxy
+
+The proxy component was added in 0.3.
+Proxy allows you to generate proxyies based on interfaces or classes, eg object damping.
+Proxy provides a service to both blueprint and JNDI.
+
+[discrete]
+=== Major updates
+
+#### Application.
+The application component in 0.3 provides a runtime in which OSGi applications are isolated from each other, and the provisioning support that it requires.
+These changes mean that the 0.3 release of aplication is significantly different  from the 0.2 release.
+
+The resolver also supports external bundle repositories in 0.3.
+
+[discrete]
+==== Blueprint
+
+Blueprint namespace support has been added.
+This makes it possible to look up Blueprint components from Web or  Persistence bundles.
+
++++<a name="ReleaseNotes-Modulesinthisrelease">++++++</a>+++
+
+[discrete]
+=== Modules in this release
+
+* testsupport
+* util
+* proxy
+* quiesce
+* application
+* blueprint
+* transaction
+* jpa
+* jndi
+* jmx
+* web
+* samples
+
++++<a name="ReleaseNotes-Newsamples">++++++</a>+++
+
+[discrete]
+=== New samples
+
+No new samples but we changed the Blog Sample and Aries Trader samples so that no database initialisation is required prior to running the sample.
+
++++<a name="ReleaseNotes-NewTutorials">++++++</a>+++
+
+[discrete]
+=== New Tutorials
+
+None
+
++++<a name="ReleaseNotes-APIbreaking">++++++</a>+++
+
+[discrete]
+=== API breaking
+
+None.
+
++++<a name="ReleaseNotes-KnownIssues">++++++</a>+++
+
+[discrete]
+=== Known Issues
+
+None.
+
++++<a name="ReleaseNotes-Importantchangestoconsiderwhenupgrading">++++++</a>+++
+
+[discrete]
+=== Important changes to consider when upgrading
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.3/0.3.adoc b/modules/ROOT/pages/downloads/archived-releases/0.3/0.3.adoc
new file mode 100644
index 0000000..42d08db
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.3/0.3.adoc
@@ -0,0 +1,139 @@
+:doctype: book
+
+tle: Downloads
+
++++<a name="Downloads-ApacheAriesDownloads">++++++</a>+++
+
+= Apache Aries Downloads
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Apache Aries modules are distributed in source and binary form.
+Alternatively you may checkout the source from Subversion and build Aries yourself.
+Otherwise, the releases below are available for download.
+These http://archive.apache.org/dist/aries/KEYS[KEYS]  can be used to verify the release archive.
+
+All Apache Aries products are distributed under the terms of The Apache Software License (version 2.0).
+See the LICENSE file included in each distribution for additional license information.
+
+The release notes for the current release are link:releasenotes.html[here] .
+
++++<a name="Downloads-Samples">++++++</a>+++
+
+[discrete]
+=== Samples
+
+The easiest way to use the samples is to download the source zip, navigate to the appropriate 'assembly' module and run mvn install to download all the released  binary artifacts.
+Alternatively you can build the entire source.+++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Download+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Aries Samples+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/samples-0.3-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/samples-0.3-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/samples-0.3-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/samples-0.3-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Source, ready to build+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="ariestrader-0.3.html">+++AriesTrader sample instructions+++</a>+++
+</tr>
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JDBC app+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-0.3.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-0.3.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-0.3.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-0.3.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with JDBC persistence only+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JPA & JDBC app+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-0.3.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-0.3.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-0.3.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-0.3.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with all available persistence methods+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="blogsample-0.3.html">+++Blog Sample instructions+++</a>++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JDBC app+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc.eba-0.3.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc.eba-0.3.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc.eba-0.3.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc.eba-0.3.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JDBC+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JPA app+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jpa.eba-0.3.eba">+++eba+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jpa.eba-0.3.eba.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jpa.eba-0.3.eba.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.samples.blog.jpa.eba-0.3.eba.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JPA+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint HelloWorld+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint ID Verifier+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+</table>
+
++++<a name="Downloads-EbaMavenPlugin">++++++</a>+++
+### EBA Maven Plugin
+
+
++++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Binary+++</th>++++++<th class="confluenceTh">+++Source+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++eba-maven-plugin+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/eba-maven-plugin-0.3-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>++++++</table>+++
+
++++<a name="Downloads-Projectcomponents">++++++</a>+++
+### Project components
++++<table>++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Binary+++</th>++++++<th class="confluenceTh">+++Source+++</th>++++++<th class="confluenceTh">+++Buildable src+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++application+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.converters+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.converters-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.default.local.platform+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.default.local.platform-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.deployment.management+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.deployment.management-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.install+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.install-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.itest.interfaces+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.isolated.itests+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.management+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.management-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.modeller+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.modeller-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.noop.platform.repo+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.platform.repo-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.noop.postresolve.process+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.noop.postresolve.process-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.resolver.noop+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.noop-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.resolver.obr+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.resolver.obr-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.framework+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.framework.management+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.isolated+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.repository+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.runtime.repository-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.utils+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.application.utils-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++blueprint+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++blueprint-parser+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/blueprint-parser-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.annotation.api+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.annotation.impl+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.annotation.itests+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.api-0.3-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.cm+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.cm-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.core+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.core-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.itests+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.itests-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.jexl.evaluator+++</td>++++++<td class="confluenceTd">+++0.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-0.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.sample+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.sample-annotation+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.sample-fragment+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.testbundlea+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.testbundleb+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.testquiescebundle+++</td>++++++<td class="confluenceTd">+++0.3.2+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-0.3.2-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++jmx+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.blueprint.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.blueprint+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.blueprint.core+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.core+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.core-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.itests+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.itests-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.whiteboard+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++jndi+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.api-0.3-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.core+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.core-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.legacy.support+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.rmi+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.rmi-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url.itest+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url.itest.biz+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url.itest.web+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++jpa+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.blueprint.aries+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.aries-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.blueprint.itest.bundle+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.blueprint.itest.bundle-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.container+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.container.context+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.context-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.container.itest+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.container.itest.bundle+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.jpa.container.itest.bundle-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++proxy+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy.api+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.api-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy.impl+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.impl-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy.itests+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.proxy.itests-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++quiesce+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.quiesce.api+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.api-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.quiesce.manager+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.quiesce.manager.itest+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++testsupport+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.testsupport.unit+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.testsupport.unit-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++transaction+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.blueprint+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.blueprint-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.itests+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.itests-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.manager+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.manager+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.manager-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.testbundle+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testbundle-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.testds+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.testds-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.wrappers+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.transaction.wrappers-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++util+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.util+++</td>++++++<td class="confluenceTd">+++0.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.util-0.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++web+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.web.itests+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.itests-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.web.urlhandler+++</td>++++++<td class="confluenceTd">+++0.3+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.sources.jar">+++jar+++</a>+++ (+++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.sources.jar.asc">+++asc+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.sources.jar.md5">+++md5+++</a>+++, +++<a href="http://archive.apache.org/dist/aries/org.apache.aries.web.urlhandler-0.3.sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>++++++</table>++++++</td>++++++</tr>++++++</table>+++
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.3/ariestrader-0.3.adoc b/modules/ROOT/pages/downloads/archived-releases/0.3/ariestrader-0.3.adoc
new file mode 100644
index 0000000..6ae0219
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.3/ariestrader-0.3.adoc
@@ -0,0 +1,123 @@
+:doctype: book
+
+Title: AriesTrader
+
++++<a name="AriesTrader-TheAriesTraderSample">++++++</a>+++
+
+= The AriesTrader Sample
+
++++<a name="AriesTrader-Prereqs">++++++</a>+++
+
+[discrete]
+=== Prereqs
+
+{blank} +
+
+'''
+
+NOTE:
+
+These instructions are for the 0.2-incubating release of Aries.
+Instructions for older releases can be found link:archiveinstructions.html[here] . In the 0.2-incubating release the AriesTrader sample was changed such that it is no longer required for you to install Derby independently.
+The Derby version included in the sample is fully leveraged internally in the sample and therefore no additional Derby installation is required.
+However, there are steps required to initialize the Database from within the sample itself (see instructions below).
+
+'''
+
++++<a name="AriesTrader-CreatingtheOSGiplatform(equinox-test-harness)forAriesTrader">++++++</a>+++
+
+[discrete]
+=== Creating the OSGi platform (equinox-test-harness) for AriesTrader
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the equinox-test-harness module under ariestrader:
+
+ cd samples-0.2-incubating/ariestrader/assemblies/equinox-test-harness
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="AriesTrader-AlternativebuildusingApacheAriestrunk.">++++++</a>+++
+
+[discrete]
+=== Alternative build using Apache Aries trunk.
+
+As an alternative to using the released version you can also choose to work with the latest, unreleased code.
+This will require the use of subversion to checkout the code followed by building the entire Apache Aries project.
+Directions are provided here:  link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="AriesTrader-StartingtheEquinoxTestHarnesstoruntheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Starting the Equinox Test Harness to run the AriesTrader sample
+
+AriesTrader needs a test harness to run in.
+For this purpose we are using an Equinox assembly that pulls in all of the necessary dependencies.
+
+The first task is to start the Apache Aries modules in an OSGi framework using the Eclipse Equinox test harness
+
+ cd samples-0.2-incubating/ariestrader/assemblies/equinox-test-harness/target
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show the active bundles but the AriesTrader application is not yet installed (with the exception of the ariestrader derby datasource which is started with the test harness for convenience).
+
++++<a name="AriesTrader-InstallingAriesTraderintheEquinoxTestHarness">++++++</a>+++
+
+[discrete]
+=== Installing AriesTrader in the Equinox Test Harness
+
+To install the AriesTrader application simply copy the eba for AriesTrader into the target/load directory, you will need to create this directory first.
++ For convenience the AriesTraders EBAs are copied into the target directory as part of creating the OSGi Equinox test harness.
+
+When using the "JDBC" only AriesTrader configuration which supports only jdbc persistence:
+
+ cp org.apache.aries.samples.ariestrader.jdbc-*.eba load/
+
+When using the "All" AriesTrader configuration which supports all currently available persistence modes:
+
+ cp org.apache.aries.samples.ariestrader.all-*.eba load/
+
+Now the 'ss' command should show all of the AriesTrader bundles in state 'ACTIVE'.
+
+If you subsequently delete org.apache.aries.samples.ariestrader.jdbc-_.eba or org.apache.aries.samples.ariestrader.all-_.eba from the target/load directory the application will be uninstalled.
+
++++<a name="AriesTrader-AccessingandusingtheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Accessing and using the AriesTrader sample
+
+Point your browser at http://localhost:8080/ariestrader/
+
+Select the "Configuration" tab and the "Configure AriesTrader run-time parameters" choice.
+Then select from among the available runtime modes (defauls to JDBC).
+Be sure to click "update config" to save your selection.
+
+At the moment the following persistence modes are available when using the "all" EBA:
+
+* JDBC persistence
+* JPA application managed entity manager persistence
+* JPA container managed entity managers using declarative transaction support
+
+By default, the sample starts with JDBC persistence.
+To select another persistence mechanism see the directions under "Accessing and using the AriesTrader sample.
+
+After selecting the persistence mode you must create the AriesTrader Database tables and indexs.
+Select the "Configuration" tab and the "(Re)-create AriesTrader Tables and Indexes".
+
+Next, you must seed the database with test content.
+Once again go to the "Configuration" tab but this time select "(Re)-populate AriesTrader Database" from the available choices to seed the database with a default set of users and stock quotes.
+You will see a number of quotes (default is 400) and users (default is 200) created.
+
+Select the "Trading & Portfolios" tab to use the mock trade application or the "Primitives" tab to run some of the web primitive tests (PingJSPEL is not currently working).
+You can also run the "Test AriesTrader Scenario" from the "Configuration" tab which will launch a new browser window and step through a trading scenario with each reload of the page.
+
++++<a name="AriesTrader-AbouttheAriesTraderSample">++++++</a>+++
+
+[discrete]
+=== About the AriesTrader Sample
+
+The AriesTrader sample is a modified version of the Apache Geronimo DayTrader sample.
+It has been somewhat simplified and reorganized to support the Apache Aries programming model.
+
+The AriesTrader sample bundles are organized like this:
+
+image::ariesTraderOverview2.png[at2]
diff --git a/modules/ROOT/pages/downloads/archived-releases/0.3/blogsample-0.3.adoc b/modules/ROOT/pages/downloads/archived-releases/0.3/blogsample-0.3.adoc
new file mode 100644
index 0000000..3410193
--- /dev/null
+++ b/modules/ROOT/pages/downloads/archived-releases/0.3/blogsample-0.3.adoc
@@ -0,0 +1,78 @@
+:doctype: book
+
+Title: Blog Sample
+
++++<a name="BlogSample-TheBlogSample">++++++</a>+++
+
+= The Blog Sample
+
++++<a name="BlogSample-RunningtheBlogSample">++++++</a>+++
+
+== Running the Blog Sample
+
+{blank} +
+
+'''
+
+NOTE: These instructions are for the 0.3 release of Aries.
+Instructions for older releases can be found link:/downloads/archivedrelease.html[here] . In the 0.2-incubating release the sample was changed to use an in-memory database to avoid dependency on an explicit version of Derby.
+If you would prefer to use a database on disk check the instructions for the 0.1-incubating release.
+You will also need to modify datasource.xml (under blog-datasource) as indicated in the comments and then rebuild the sample.
+
+'''
+
++++<a name="BlogSample-CreatetheOSGiplatformfortheBlogsample">++++++</a>+++
+
+=== Create the OSGi platform for the Blog sample
+
+Download and unzip the source zip for the link:/downloads/currentrelease.html[latest release]  of Aries Samples and build the blog-assembly module:
+
+ cd samples-0.3/blog/blog-assembly
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="BlogSample-RunningtheBlogsample">++++++</a>+++
+
+=== Running the Blog sample
+
+Download the JDBC based Blog sample application (.eba file) from the link:/downloads/currentrelrease.html[latest release] . Change directory to the blog-assembly target directory:
+
+ cd samples-0.3/blog-sample/blog-assembly/target
+
+now start Aries in an OSGi framework (we're using Eclipse Equinox in this case)
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show all of the Blog bundles in state 'ACTIVE'.
+
+To start the blog application (.eba file) you downloaded earlier, create a directory call load and copying it into the load directory.
+
+Point your browser to http://localhost:8080/blog/
+
+If you subsequently delete the .eba from the load directory the application will be uninstalled.
+
++++<a name="BlogSample-RunningthesampleusingaJPApersistencelayer">++++++</a>+++
+
+=== Running the sample using a JPA persistence layer
+
+The first blog sample application was written to use a JDBC persistence layer.
+There is a second application implemented to demonstrate the JPA capability
+
+To run the blog sample which uses the JPA persistence layer, start the OSGi framework, remove any previous copies of the blog sample from the target/load directory, then copy the Blog sample JPA .eba file into the load directory.
+
+Finally, after typing 'refresh' at the OSGi console, point your browser at http://localhost:8080/blog/ . You should see something that looks precisely the same as the blog sample running with the JDBC persistence layer, but this time running using the JPA persistence layer.
+
++++<a name="BlogSample-Usingthelatest,unreleasedcode">++++++</a>+++
+
+== Using the latest, unreleased code
+
+If you prefer to use the very latest code from subversion, checkout and build the Aries trunk by following the link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="BlogSample-AbouttheBlogsample">++++++</a>+++
+
+== About the Blog sample
+
+The blog sample components can be visualised like this:
+
+image::BlogSample.png[bs]
diff --git a/modules/ROOT/pages/downloads/ariestrader-1.0.0.adoc b/modules/ROOT/pages/downloads/ariestrader-1.0.0.adoc
new file mode 100644
index 0000000..0cc43ef
--- /dev/null
+++ b/modules/ROOT/pages/downloads/ariestrader-1.0.0.adoc
@@ -0,0 +1,123 @@
+:doctype: book
+
+Title: AriesTrader
+
++++<a name="AriesTrader-TheAriesTraderSample">++++++</a>+++
+
+= The AriesTrader Sample
+
++++<a name="AriesTrader-Prereqs">++++++</a>+++
+
+[discrete]
+=== Prereqs
+
+{blank} +
+
+'''
+
+NOTE:
+
+These instructions are for the 1.0.0 release of Aries.
+Instructions for older releases can be found link:archiveinstructions.html[here] . In the 0.2-incubating release the AriesTrader sample was changed such that it is no longer required for you to install Derby independently.
+The Derby version included in the sample is fully leveraged internally in the sample and therefore no additional Derby installation is required.
+However, there are steps required to initialize the Database from within the sample itself (see instructions below).
+
+'''
+
++++<a name="AriesTrader-CreatingtheOSGiplatform(equinox-test-harness)forAriesTrader">++++++</a>+++
+
+[discrete]
+=== Creating the OSGi platform (equinox-test-harness) for AriesTrader
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the equinox-test-harness module under ariestrader:
+
+ cd samples-1.0.0-incubating/ariestrader/assemblies/equinox-test-harness
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="AriesTrader-AlternativebuildusingApacheAriestrunk.">++++++</a>+++
+
+[discrete]
+=== Alternative build using Apache Aries trunk.
+
+As an alternative to using the released version you can also choose to work with the latest, unreleased code.
+This will require the use of subversion to checkout the code followed by building the entire Apache Aries project.
+Directions are provided here:  link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="AriesTrader-StartingtheEquinoxTestHarnesstoruntheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Starting the Equinox Test Harness to run the AriesTrader sample
+
+AriesTrader needs a test harness to run in.
+For this purpose we are using an Equinox assembly that pulls in all of the necessary dependencies.
+
+The first task is to start the Apache Aries modules in an OSGi framework using the Eclipse Equinox test harness
+
+ cd samples-1.0.0-incubating/ariestrader/assemblies/equinox-test-harness/target
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show the active bundles but the AriesTrader application is not yet installed (with the exception of the ariestrader derby datasource which is started with the test harness for convenience).
+
++++<a name="AriesTrader-InstallingAriesTraderintheEquinoxTestHarness">++++++</a>+++
+
+[discrete]
+=== Installing AriesTrader in the Equinox Test Harness
+
+To install the AriesTrader application simply copy the eba for AriesTrader into the target/load directory, you will need to create this directory first.
++ For convenience the AriesTraders EBAs are copied into the target directory as part of creating the OSGi Equinox test harness.
+
+When using the "JDBC" only AriesTrader configuration which supports only jdbc persistence:
+
+ cp org.apache.aries.samples.ariestrader.jdbc-*.eba load/
+
+When using the "All" AriesTrader configuration which supports all currently available persistence modes:
+
+ cp org.apache.aries.samples.ariestrader.all-*.eba load/
+
+Now the 'ss' command should show all of the AriesTrader bundles in state 'ACTIVE'.
+
+If you subsequently delete org.apache.aries.samples.ariestrader.jdbc-_.eba or org.apache.aries.samples.ariestrader.all-_.eba from the target/load directory the application will be uninstalled.
+
++++<a name="AriesTrader-AccessingandusingtheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Accessing and using the AriesTrader sample
+
+Point your browser at http://localhost:8080/ariestrader/
+
+Select the "Configuration" tab and the "Configure AriesTrader run-time parameters" choice.
+Then select from among the available runtime modes (defauls to JDBC).
+Be sure to click "update config" to save your selection.
+
+At the moment the following persistence modes are available when using the "all" EBA:
+
+* JDBC persistence
+* JPA application managed entity manager persistence
+* JPA container managed entity managers using declarative transaction support
+
+By default, the sample starts with JDBC persistence.
+To select another persistence mechanism see the directions under "Accessing and using the AriesTrader sample.
+
+After selecting the persistence mode you must create the AriesTrader Database tables and indexs.
+Select the "Configuration" tab and the "(Re)-create AriesTrader Tables and Indexes".
+
+Next, you must seed the database with test content.
+Once again go to the "Configuration" tab but this time select "(Re)-populate AriesTrader Database" from the available choices to seed the database with a default set of users and stock quotes.
+You will see a number of quotes (default is 400) and users (default is 200) created.
+
+Select the "Trading & Portfolios" tab to use the mock trade application or the "Primitives" tab to run some of the web primitive tests (PingJSPEL is not currently working).
+You can also run the "Test AriesTrader Scenario" from the "Configuration" tab which will launch a new browser window and step through a trading scenario with each reload of the page.
+
++++<a name="AriesTrader-AbouttheAriesTraderSample">++++++</a>+++
+
+[discrete]
+=== About the AriesTrader Sample
+
+The AriesTrader sample is a modified version of the Apache Geronimo DayTrader sample.
+It has been somewhat simplified and reorganized to support the Apache Aries programming model.
+
+The AriesTrader sample bundles are organized like this:
+
+image::ariesTraderOverview2.png[at2]
diff --git a/modules/ROOT/pages/downloads/blogsample-1.0.0.adoc b/modules/ROOT/pages/downloads/blogsample-1.0.0.adoc
new file mode 100644
index 0000000..6fdbd83
--- /dev/null
+++ b/modules/ROOT/pages/downloads/blogsample-1.0.0.adoc
@@ -0,0 +1,83 @@
+:doctype: book
+
+Title: Blog Sample
+
++++<a name="BlogSample-TheBlogSample">++++++</a>+++
+
+= The Blog Sample
+
++++<a name="BlogSample-RunningtheBlogSample">++++++</a>+++
+
+== Running the Blog Sample
+
+{blank} +
+
+'''
+
+NOTE: These instructions are for the 1.0.0 release of Aries.
+Instructions for older releases can be found link:/downloads/archivedrelease.html[here] . In the 0.2-incubating release the sample was changed to use an in-memory database to avoid dependency on an explicit version of Derby.
+If you would prefer to use a database on disk check the instructions for the 0.1-incubating release.
+You will also need to modify datasource.xml (under blog-datasource) as indicated in the comments and then rebuild the sample.
+
+'''
+
++++<a name="BlogSample-CreatetheOSGiplatformfortheBlogsample">++++++</a>+++
+
+=== Create the OSGi platform for the Blog sample
+
+Download and unzip the source zip for the link:/downloads/currentrelease.html[latest release]  of Aries Samples and build the blog-assembly module:
+
+ cd samples-1.0.0/blog/blog-assembly
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="BlogSample-RunningtheBlogsample">++++++</a>+++
+
+=== Running the Blog sample
+
+Build the JPA based Blog sample application (.eba file) from the link:/downloads/currentrelrease.html[latest release]
+
+ cd samples-1.0.0/blog/blog-jpa-eba
+ mvn install
+
+. Change directory to the blog-assembly target directory:
+
+ cd samples-1.0.0/blog-sample/blog-assembly/target
+
+now start Aries in an OSGi framework (we're using Eclipse Equinox in this case)
+
+ java -jar org.eclipse.osgi-3.7.0.v20110613.jar -console
+
+The OSGi console should start up, the 'ss' command should show all of the Blog bundles in state 'ACTIVE'.
+
+To start the blog application (.eba file) you built earlier, create a directory call load and copying it into the load directory.
+
+Point your browser to http://localhost:8080/blog/
+
+If you subsequently delete the .eba from the load directory the application will be uninstalled.
+
++++<a name="BlogSample-RunningthesampleusingaJPApersistencelayer">++++++</a>+++
+
+=== Running the sample using a JPA persistence layer
+
+The first blog sample application is written to use a JPA persistence layer.
+There is an earlier application implemented to demonstrate the JDBC capability
+
+To run the blog sample which uses the JDBC persistence layer, start the OSGi framework, remove any previous copies of the blog sample from the target/load directory, then build and copy the Blog sample JDBC .eba file into the load directory.
+
+Finally, after typing 'refresh' at the OSGi console, point your browser at http://localhost:8080/blog/ . You should see something that looks precisely the same as the blog sample running with the JPA persistence layer, but this time running using the JDBC layer.
+
++++<a name="BlogSample-Usingthelatest,unreleasedcode">++++++</a>+++
+
+== Using the latest, unreleased code
+
+If you prefer to use the very latest code from subversion, checkout and build the Aries trunk by following the link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="BlogSample-AbouttheBlogsample">++++++</a>+++
+
+== About the Blog sample
+
+The blog sample components can be visualised like this:
+
+image::BlogSample.png[bs]
diff --git a/modules/ROOT/pages/downloads/ct/0.2-incubating/testresults.adoc b/modules/ROOT/pages/downloads/ct/0.2-incubating/testresults.adoc
new file mode 100644
index 0000000..f3b38e7
--- /dev/null
+++ b/modules/ROOT/pages/downloads/ct/0.2-incubating/testresults.adoc
@@ -0,0 +1,15 @@
+Title: TestResults
+
+These are the test results for the current Aries release.
+
+link:org.osgi.test.cases.blueprint.html[Blueprint] - 3 failures
+
+link:org.osgi.test.cases.blueprint.secure.html[Blueprint Secure] - 0 failures
+
+link:org.osgi.test.cases.blueprint.java5.html[Blueprint Java 5] - 0 failures
+
+link:org.osgi.test.cases.jndi.html[JNDI] - 2 failures
+
+link:org.osgi.test.cases.transaction.html[Transaction] - 0 failures
+
+link:org.osgi.test.cases.jmx.html[JMX] - 18 failures
diff --git a/modules/ROOT/pages/downloads/ct/0.3/testresults.adoc b/modules/ROOT/pages/downloads/ct/0.3/testresults.adoc
new file mode 100644
index 0000000..7f14639
--- /dev/null
+++ b/modules/ROOT/pages/downloads/ct/0.3/testresults.adoc
@@ -0,0 +1,17 @@
+Title: TestResults
+
+These are the test results for the current Aries release.
+
+link:ct/0.3/org.osgi.test.cases.blueprint.html[Blueprint] - 5 failures
+
+link:ct/0.3/org.osgi.test.cases.blueprint.secure.html[Blueprint Secure] - 0 failures
+
+link:ct/0.3/org.osgi.test.cases.blueprint.java5.html[Blueprint Java 5] - 0 failures
+
+link:ct/0.3/org.osgi.test.cases.jndi.html[JNDI] - 3 failures
+
+link:ct/0.3/org.osgi.test.cases.jndi.secure.html[JNDI Secure] - 0 failures
+
+link:ct/0.3/org.osgi.test.cases.transaction.html[Transaction] - 0 failures
+
+link:ct/0.3/org.osgi.test.cases.jmx.html[JMX] - 18  failures
diff --git a/modules/ROOT/pages/downloads/currentrelease.adoc b/modules/ROOT/pages/downloads/currentrelease.adoc
new file mode 100644
index 0000000..cc1ad10
--- /dev/null
+++ b/modules/ROOT/pages/downloads/currentrelease.adoc
@@ -0,0 +1,175 @@
+:doctype: book
+
+Title: Downloads
+
++++<a name="Downloads-ApacheAriesDownloads">++++++</a>+++
+
+= Apache Aries Downloads
+
+Apache Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.
+
+Apache Aries modules are distributed in source and binary form.
+Alternatively you may checkout the source from Subversion and build Aries yourself.
+Otherwise, the releases below are available for download.
+These http://www.apache.org/dist/aries/KEYS[KEYS]  can be used to verify the release archive.
+
+All Apache Aries products are distributed under the terms of The Apache Software License (version 2.0).
+See the LICENSE file included in each distribution for additional license information.
+
+The release notes for the current release are link:releasenotes.html[here] .
+
++++<a name="Downloads-Samples">++++++</a>+++
+
+[discrete]
+=== Samples
+
+The easiest way to use the samples is to download the source zip, navigate to the appropriate 'assembly' module and run mvn install to download all the released  binary artifacts.
+Alternatively you can build the entire source.+++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Download+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++Aries Samples+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/samples-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/samples-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/samples-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/samples-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Source, ready to build+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="ariestrader-1.0.0.html">+++AriesTrader sample instructions+++</a>+++
+</tr>
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JDBC app+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.samples.ariestrader.jdbc-1.0.0-sources.jar">+++sources+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.ariestrader.jdbc-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with JDBC persistence only+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++AriesTrader JPA & JDBC app+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.samples.ariestrader.all-1.0.0-sources.jar">+++sources+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.ariestrader.all-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++AriesTrader app with all available persistence methods+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="blogsample-1.0.0.html">+++Blog Sample instructions+++</a>++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JDBC app+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.samples.blog.jdbc-sources.jar-1.0.0-sources.jar">+++sources+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc-sources.jar-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc-sources.jar-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.blog.jdbc-sources.jar-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JDBC+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blog JPA app+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.samples.blog.jpa-sources.jar-1.0.0-sources.jar">+++sources+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.blog.jpa-sources.jar-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.blog.jpa-sources.jar-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.samples.blog.jpa-sources.jar-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++Blog app based on JPA+++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint HelloWorld+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++Blueprint ID Verifier+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+</table>
+
++++<a name="Downloads-EbaMavenPlugin">++++++</a>+++
+### EBA Maven Plugin
+
+
++++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Binary+++</th>++++++<th class="confluenceTh">+++Source+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++eba-maven-plugin+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/eba-maven-plugin-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/eba-maven-plugin-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/eba-maven-plugin-1.0.0-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/eba-maven-plugin-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>++++++</table>+++
+
++++<a name="Downloads-Projectcomponents">++++++</a>+++
+### Project components
+
+
+
+// This page can be automatically generated from the dist directory using the create_modules_table.pl script
++++<table class="confluenceTable">++++++<tr>++++++<th class="confluenceTh">+++Sub project+++</th>++++++<th class="confluenceTh">+++Module+++</th>++++++<th class="confluenceTh">+++Version+++</th>++++++<th class="confluenceTh">+++Binary+++</th>++++++<th class="confluenceTh">+++Source+++</th>++++++<th class="confluenceTh">+++Buildable src+++</th>++++++<th class="confluenceTh">+++Comments+++</th>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">+++application+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.converters+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.converters-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.converters-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.converters-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.converters-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.converters-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.converters-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.converters-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.converters-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.default.local.platform+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.default.local.platform-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.default.local.platform-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.default.local.platform-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.default.local.platform-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.default.local.platform-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.default.local.platform-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.default.local.platform-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.default.local.platform-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.deployment.management+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.deployment.management-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.deployment.management-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.deployment.management-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.deployment.management-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.deployment.management-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.deployment.management-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.deployment.management-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.deployment.management-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.install+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.install-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.install-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.install-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.install-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.install-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.install-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.install-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.install-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.management+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.management-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.management-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.management-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.management-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.management-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.management-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.management-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.management-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.modeller+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.modeller-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.modeller-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.modeller-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.modeller-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.modeller-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.modeller-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.modeller-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.modeller-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.resolve.transform.cm+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolve.transform.cm-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolve.transform.cm-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.resolve.transform.cm.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolve.transform.cm.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.resolver.noop+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolver.noop-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.noop-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.noop-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.noop-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolver.noop-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.noop-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.noop-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.noop-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.resolver.obr+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolver.obr-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.obr-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.obr-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.obr-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.resolver.obr-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.obr-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.obr-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.resolver.obr-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.framework+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.framework-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.framework-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.framework.management+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.framework.management-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.framework.management-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.framework.management-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.isolated+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.isolated-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.isolated-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.isolated.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.isolated.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.itest.interfaces+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.itest.interfaces-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.runtime.repository+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.repository-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.repository-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.repository-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.repository-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.runtime.repository-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.repository-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.repository-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.runtime.repository-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.tooling.repository.generator+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.tooling.repository.generator-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.tooling.repository.generator-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.tooling.repository.generator-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.tooling.repository.generator-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.tooling.repository.generator-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.tooling.repository.generator-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.tooling.repository.generator-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.tooling.repository.generator-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.application.utils+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.utils-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.utils-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.utils-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.utils-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.application.utils-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.utils-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.utils-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.application.utils-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++blueprint+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.annotation.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.annotation.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.annotation.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.annotation.impl+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.annotation.impl-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.annotation.impl-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.impl-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.annotation.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.annotation.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.annotation.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.annotation.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.cm+++</td>++++++<td class="confluenceTd">+++1.0.7+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.cm-1.0.7.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.cm-1.0.7-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.cm-1.0.7-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.cm-1.0.7-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.compatibility+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.compatibility-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.compatibility-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.compatibility-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.compatibility-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.compatibility-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.compatibility-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.compatibility-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.compatibility-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.core+++</td>++++++<td class="confluenceTd">+++1.4.4+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.core-1.4.4.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.core-1.4.4-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.core-1.4.4-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core-1.4.4-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.core.compatibility+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.core.compatibility-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core.compatibility-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core.compatibility-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core.compatibility-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.core.compatibility-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core.compatibility-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core.compatibility-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.core.compatibility-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.jexl.evaluator+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.jexl.evaluator-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.noosgi+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.noosgi-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.noosgi-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.noosgi-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.noosgi-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.noosgi-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.noosgi-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.noosgi-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.noosgi-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.sample+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.sample-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.sample-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.sample-annotation+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.sample-annotation-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.sample-annotation-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-annotation-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.sample-fragment+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.sample-fragment-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.sample-fragment-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.sample-fragment-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.testbundlea+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.testbundlea-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.testbundlea-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundlea-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.testbundleb+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.testbundleb-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.testbundleb-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testbundleb-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.testquiescebundle+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.testquiescebundle-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.blueprint.web+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.web-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.web-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.web-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.web-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.blueprint.web-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.web-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.web-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.blueprint.web-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++ejb+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.ejb.modeller+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.ejb.modeller-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.modeller-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.modeller-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.modeller-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.ejb.modeller-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.modeller-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.modeller-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.modeller-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.ejb.openejb.extender+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.ejb.openejb.extender-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.openejb.extender-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.openejb.extender-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.openejb.extender-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.ejb.openejb.extender-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.openejb.extender-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.openejb.extender-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.ejb.openejb.extender-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++jmx+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.api+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.api-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.api-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.api-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.api-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.api-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.api-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.api-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.api-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.blueprint+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.blueprint-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.blueprint-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.blueprint.api+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.blueprint.api-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.blueprint.api-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.api-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.blueprint.core+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.blueprint.core-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.blueprint.core-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.blueprint.core-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.core+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.core-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.core-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.core.whiteboard+++</td>++++++<td class="confluenceTd">+++1.1.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.core.whiteboard-1.1.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core.whiteboard-1.1.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core.whiteboard-1.1.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core.whiteboard-1.1.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.core.whiteboard-1.1.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core.whiteboard-1.1.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core.whiteboard-1.1.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.core.whiteboard-1.1.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jmx.whiteboard+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.whiteboard-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jmx.whiteboard-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jmx.whiteboard-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++jndi+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.core+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.core-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.core-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.core-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.core-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.core-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.core-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.core-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.core-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.legacy.support+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.legacy.support-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.legacy.support-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.legacy.support-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.rmi+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.rmi-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.rmi-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.rmi-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.rmi-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.rmi-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.rmi-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.rmi-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.rmi-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url.itest+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url.itest-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url.itest-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url.itest.biz+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url.itest.biz-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url.itest.biz-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.biz-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jndi.url.itest.web+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url.itest.web-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jndi.url.itest.web-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jndi.url.itest.web-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++jpa+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.jpa.main+++</td>++++++<td class="confluenceTd">+++2.7.0+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.jpa.main-2.7.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.jpa.main-2.7.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jpa.main-2.7.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.jpa.main-2.7.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++proxy+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy.impl+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy.impl-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.impl-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.impl-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.impl-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy.impl-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.impl-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.impl-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.impl-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.proxy.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.proxy.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.proxy.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++quiesce+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.quiesce.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.quiesce.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.quiesce.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.quiesce.manager+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.quiesce.manager-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.quiesce.manager-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.quiesce.manager.itest+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.quiesce.manager.itest-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.quiesce.manager.itest-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.quiesce.manager.itest-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++spifly+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.spifly.core-internal+++</td>++++++<td class="confluenceTd">+++1.0.14+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.core-internal-1.0.14.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.core-internal-1.0.14-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.core-internal-1.0.14-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.core-internal-1.0.14-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.spifly.dynamic.bundle+++</td>++++++<td class="confluenceTd">+++1.0.14+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.bundle-1.0.14-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.spifly.dynamic.framework.extension+++</td>++++++<td class="confluenceTd">+++1.0.14+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.dynamic.framework.extension-1.0.14-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.spifly.static.bundle+++</td>++++++<td class="confluenceTd">+++1.0.14+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.static.bundle-1.0.14.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.static.bundle-1.0.14-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.static.bundle-1.0.14-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.bundle-1.0.14-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.spifly.static.tool+++</td>++++++<td class="confluenceTd">+++1.0.14+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.static.tool-1.0.14.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.static.tool-1.0.14-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.static.tool-1.0.14-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.static.tool-1.0.14-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.spifly.weaver-internal+++</td>++++++<td class="confluenceTd">+++1.0.14+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.weaver-internal-1.0.14.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.weaver-internal-1.0.14-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.spifly.weaver-internal-1.0.14-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.spifly.weaver-internal-1.0.14-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++subsystem+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.subsystem+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem-1.0.0-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.subsystem.api+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.api-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.api-1.0.0-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.api-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.api-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.subsystem.core+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.core-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.core-1.0.0-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.core-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.core-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.subsystem.obr+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.obr-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.obr-1.0.0-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.subsystem.obr-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.subsystem.obr-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++testsupport+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.testsupport.unit+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.testsupport.unit-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.testsupport.unit-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.testsupport.unit-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.testsupport.unit-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.testsupport.unit-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.testsupport.unit-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.testsupport.unit-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.testsupport.unit-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++transaction+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.blueprint+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.blueprint-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.blueprint-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.blueprint-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.blueprint-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.blueprint-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.blueprint-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.blueprint-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.blueprint-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.jdbc+++</td>++++++<td class="confluenceTd">+++2.1.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.jdbc-2.1.1.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jdbc-2.1.1.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jdbc-2.1.1.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jdbc-2.1.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.jdbc-2.1.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jdbc-2.1.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jdbc-2.1.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jdbc-2.1.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.jms+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.jms-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jms-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jms-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jms-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.jms-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jms-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jms-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.jms-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.manager+++</td>++++++<td class="confluenceTd">+++1.2.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.manager-1.2.1.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.manager-1.2.1-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.manager-1.2.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.manager-1.2.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.testbundle+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.testbundle-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testbundle-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testbundle-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testbundle-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.testbundle-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testbundle-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testbundle-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testbundle-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.testds+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.testds-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testds-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testds-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testds-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.testds-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testds-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testds-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.testds-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.transaction.wrappers+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.wrappers-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.wrappers-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.wrappers-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.wrappers-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.transaction.wrappers-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.wrappers-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.wrappers-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.transaction.wrappers-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++util+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.util+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.util-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.util-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.util-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.util-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++versioning+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.versioning.checker+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.versioning.checker-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.versioning.checker-0.3.1-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.versioning.checker-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.checker-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.versioning.plugin+++</td>++++++<td class="confluenceTd">+++0.3.1+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.versioning.plugin-0.3.1.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.versioning.plugin-0.3.1-sources.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1-sources.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1-sources.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1-sources.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.versioning.plugin-0.3.1-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.versioning.plugin-0.3.1-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
+
++++<tr>++++++<td class="confluenceTd">+++web+++</td>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.web.itests+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.web.itests-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.itests-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.itests-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.itests-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.web.itests-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.itests-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.itests-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.itests-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>+++
++++<tr>++++++<td class="confluenceTd">++++++</td>++++++<td class="confluenceTd">+++org.apache.aries.web.urlhandler+++</td>++++++<td class="confluenceTd">+++1.0.0+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.web.urlhandler-1.0.0.jar">+++jar+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.urlhandler-1.0.0.jar.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.urlhandler-1.0.0.jar.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.urlhandler-1.0.0.jar.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">+++-+++</td>++++++<td class="confluenceTd">++++++<a href="http://www.apache.org/dyn/closer.cgi/aries/org.apache.aries.web.urlhandler-1.0.0-source-release.zip">+++zip+++</a>+++ (+++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.urlhandler-1.0.0-source-release.zip.asc">+++asc+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.urlhandler-1.0.0-source-release.zip.md5">+++md5+++</a>+++, +++<a href="http://www.apache.org/dist/aries/org.apache.aries.web.urlhandler-1.0.0-source-release.zip.sha1">+++sha1+++</a>+++)+++</td>++++++<td class="confluenceTd">++++++</td>++++++</tr>++++++</table>++++++</td>++++++</tr>++++++</table>+++
diff --git a/modules/ROOT/pages/downloads/currentreleases.adoc b/modules/ROOT/pages/downloads/currentreleases.adoc
new file mode 100644
index 0000000..fa6ed8f
--- /dev/null
+++ b/modules/ROOT/pages/downloads/currentreleases.adoc
@@ -0,0 +1,183 @@
+:doctype: book
+
+Title: Downloads
+
++++<a name="Downloads-ApacheAriesDownloads">++++++</a>+++
+
+= General information
+
+Apache Aries modules are distributed in source and binary form.
+These http://www.apache.org/dist/aries/KEYS[KEYS] can be used to verify the releases.
+
+All Apache Aries products are distributed under the terms of The Apache Software License (version 2.0).
+See the LICENSE file included in each distribution for additional license information.
+
+= Official downloads
+
+The official downloads for Apache projects are hosted at Apache.
+For maven users we recommend to simply refer to the  individual maven artifacts instead of downloading by hand.
+
+http://www.apache.org/dist/aries/[Official Aries Downloads]
+
+= Maven central
+
+All Aries modules are released to http://search.maven.org[maven central].
+
+The Aries subprojects can be found at these locations
+
+* {blank}
++
+[cols=4*]
+|===
+| [async](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.async)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [blueprint](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.blueprint)
+|===
+
+* {blank}
++
+[cols=5*]
+|===
+| [eba-maven-plugin](http://search.maven.org/#artifactdetails
+| org.apache.aries
+| eba-maven-plugin
+| 1.0.0
+| maven-plugin)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [ejb](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.ejb)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [jmx](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.jmx)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [jndi](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.jndi)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [jpa](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.jpa)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [proxy](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.proxy)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [quiesce](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.quiesce)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [subsystem](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.subsystem)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [testsupport](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.testsupport)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [transaction](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.transaction)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [util](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.util)
+|===
+
+* {blank}
++
+[cols=4*]
+|===
+| [web](http://search.maven.org/#search
+| ga
+| 1
+| g%3Aorg.apache.aries.web)
+|===
+
+= Apache Karaf
+
+http://karaf.apache.org[Apache Karaf] is a modular OSGi server that integrates very well with Aries.
+Most aries subprojects can be installed into Apache Karaf using features.
+For example *feature:install jndi* installs the Aries jndi modules.
+
++++<a name="Samples">++++++</a>+++
+
+[discrete]
+=== Samples
+
+The easiest way to use the samples is to download the source zip, navigate to the appropriate 'assembly' module and run mvn install to download all the released  binary artifacts.
+Alternatively you can build the entire source.
+
+http://www.apache.org/dyn/closer.cgi/aries/samples-1.0.0-source-release.zip[Aries Samples]
diff --git a/modules/ROOT/pages/downloads/testresults.adoc b/modules/ROOT/pages/downloads/testresults.adoc
new file mode 100644
index 0000000..b691197
--- /dev/null
+++ b/modules/ROOT/pages/downloads/testresults.adoc
@@ -0,0 +1,19 @@
+Title: TestResults
+
+These are the test results for the current Aries release.
+
+link:ct/1.0.0/org.osgi.test.cases.blueprint.html[Blueprint] - 7 failures
+
+link:ct/1.0.0/org.osgi.test.cases.blueprint.secure.html[Blueprint Secure] - 0 failures
+
+link:ct/1.0.0/org.osgi.test.cases.blueprint.java5.html[Blueprint Java 5] - 0 failures
+
+link:ct/1.0.0/org.osgi.test.cases.jmx.html[JMX] - 18  failures
+
+JPA - Not run
+
+link:ct/1.0.0/org.osgi.test.cases.jndi.html[JNDI] - 7 failures
+
+link:ct/1.0.0/org.osgi.test.cases.jndi.secure.html[JNDI Secure] - 0 failures
+
+link:ct/1.0.0/org.osgi.test.cases.transaction.html[Transaction] - 0 failures
diff --git a/modules/ROOT/pages/index.adoc b/modules/ROOT/pages/index.adoc
new file mode 100644
index 0000000..472c2c0
--- /dev/null
+++ b/modules/ROOT/pages/index.adoc
@@ -0,0 +1,45 @@
+:doctype: book
+
+Title: Index
+
++++<a name="Index-ApacheAries">++++++</a>+++
+
+= Apache Aries
+
+The Aries project consists of a set of pluggable Java components enabling an enterprise OSGi application programming model.
+This includes implementations (and extensions) of the following Enterprise OSGi specifications:
+
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.async.html[*Asynchronous Services*] and https://osgi.org/specification/osgi.enterprise/7.0.0/util.promise.html[*Promises Specification*]
+* https://osgi.org/specification/osgi.cmpn/7.0.0/service.blueprint.html[*Blueprint Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.cdi.html[*CDI Integration Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.jaxrs.html[*JAX-RS Whiteboard Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.jmx.html[*JMX Management Model Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.jndi.html[*JNDI Services Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.jpa.html[*JPA Service Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.jta.html[*JTA Transaction Services Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/util.pushstream.html[*Push Stream Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.remoteserviceadmin.html[*Remote Service Admin Service Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.loader.html[*Service Loader Mediator Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.subsystem.html[*Subsystem Service Specification*]
+* https://osgi.org/specification/osgi.enterprise/7.0.0/service.transaction.control.html[*Transaction Control Service Specification*]
+
+The specifications are defined in the OSGi Alliance Enterprise Expert Group (EEG) for deployment to a variety of OSGi based runtimes.
+The OSGi R7 Enterprise Specification can be found here:
+
+https://osgi.org/specification/osgi.enterprise/7.0.0/[OSGi Enterprise Release 7]
+
+[discrete]
+=== Additional projects
+
+Additionally, Apache Aries provides the following projects:
+
+* *Component DSL* - an embedable, micro, functional-style component DSL for working with OSGi services and configuration
+* *Container Management* - API and implementations of the Apache Aries Container Management subcomponent
+* *Proxy* - a library for working with object proxies in OSGi
+* *Util* - a library containing reusable bits of functionality in OSGi
+
+To understand the complete scope of the Aries project, see the Aries proposal document on the http://wiki.apache.org/incubator/AriesProposal[incubator wiki].
+
++++<a name="Index-BuildingandUsingAriesComponents">++++++</a>+++
+
+To understand how to _use_ Aries Blueprint components, take a look at the link:documentation/tutorials/blueprinthelloworldtutorial.html[BlueprintHelloWorldTutorial]  pages which guides you through how to build the Aries code, provides sample applications and describes how to set up an environment in which to run the consuming application.
diff --git a/modules/ROOT/pages/modules/applications.adoc b/modules/ROOT/pages/modules/applications.adoc
new file mode 100644
index 0000000..c376862
--- /dev/null
+++ b/modules/ROOT/pages/modules/applications.adoc
@@ -0,0 +1,117 @@
+:doctype: book
+
+Title: Applications +++<a name="Applications-AriesApplications">++++++</a>+++
+
+= Aries Applications
+
+An Aries application is a collection of one or more OSGi modules that together provide a coherent business function.
+An Aries application can consist of modules of many different types.
+For example, a Aries application providing Web banking might consist of bundles with Web content (Web Application Bundles), bundles with Blueprint contexts, and bundles with JPA entities and persistence configuration (Persistence Bundles).
+
+An Aries application isolates the OSGi services offered by its contained modules so that they are not visible outside the application unless explicitly configured to be exported from the application.
+Aries applications have several ways of accepting workloads: an Aries applications may include Web bundles for processing HTTP workloads;
+it may export one or more of the services offered by its contained modules to other Aries applications or for distribution as a Web service.
+
+With the isolation runtime, each Aries application runs in its own isolated OSGi framework instance with its own OSGi service registry.
+Bundles in one Aries application cannot see bundles, services, or packages that are defined in another OSGi application, unless the bundles, services, or packages are explicitly shared by both applications.
+An Aries application can also load packages and consume OSGi services from a shared bundle space, that is, the OSGi framework instance that is the parent of all the isolated framework instances of the OSGi applications.
+
++++<a name="Applications-StructureofanAriesapplication">++++++</a>+++
+
+== Structure of an Aries application
+
+An Aries application is packaged as a zip file with a '.eba' suffix.
+Its structure is as follows:+++<div class="code panel" style="border-style: solid;border-width: 1px;">+++*Sample Aries application structure*
+
+META-INF/APPLICATION.MF + bundle1.jar + bundle2.jar + bundle3.jar ++++</div>+++
+
+The file must contain either an APPLICATION.MF with at least one bundle listed in its Application-Content header (see below), or at least one bundle 'by value' within the .eba.
+No 'by value' bundles are required if a valid APPLICATION.MF is present.
+
+Application metadata, APPLICATION.MF,  stored in the .eba file defines the isolation scope of the bundles that the OSGi application uses.
+An Aries applicaiton can also use metadata to permit some of its constituent bundles to be shared.
+Sharing in this way can reduce the memory and resource requirements of a system.
+Shared bundles must be provided by reference rather than contained directly in an application.
+
++++<a name="Applications-AriesApplicationManifest">++++++</a>+++
+
+== Aries Application Manifest
+
+An Aries Application is defined using a Manifest.
+The Aries manifest is located at META-INF/APPLICATION.MF and describes modularity at the application level.
+The manifest enumerates the modules that comprise the Aries application along with any OSGi services exported from, or referenced by, those modules.
+The following is an example of an Aries manifest:+++<div class="code panel" style="border-style: solid;border-width: 1px;">+++*APPLICATION.MF*
+
+Manifest-Version: 1.0 + Application-ManifestVersion: 1.0 + Application-Name: Bank Account + Application-SymbolicName: com.mybank.account.app + Application-Version: 1.0 + Application-Content: + com.mybank.account.bankWeb;
+version=1.0.0, + com.mybank.account.bankAccount;
+version=1.0.0, + com.mybank.account.common;
+version=1.0.0, + com.mybank.account.utility;
+version=1.0.0 + Use-Bundle: com.mybank.account.admin;version="[1.0.0,2.0.0)" + Application-ExportService: com.mybank.account.service.AccountService + Application-ImportService: + com.mybank.security.UserAuthService;filter="(security=strong)" ++++</div>+++
+
+The manifest headers are as follows:
+
+* Manifest-Version - a version number for the manifest format.
+* Application-ManifestVersion - identifies the application manifest version to which this manifest conforms
+* Application-Name - a human readable name for the application
+* Application-SymbolicName - a name to uniquely identify the application.
+Follows the same scheme as Bundle-SymbolicName.
+* Application-Version - uniquely identify the version of the application.
+The combination of symbolic name and version must be unique within an Aries application runtime.
+* Application-Content - a list of 'root' bundles to provision for the application.
+'Version' identifies a version range for the bundle to be provisioned thus allowing flexibility.
+The version format is identical to that used for OSGi import (e.g.
+Import-Package).
+* Use-Bundle - a list of bundles bundles to use to satisfy the package dependencies of bundles in the Application-Content list.
+Each bundle in the Use-Bundle list must provide at least one package to at least one bundle in the Application-Content list.
+These bundles will be provisioned into the shared bundle space at run time.
+* Application-ExportService - a list of service interface names and optional filters identifying services provided by the application which can be accessed outside the application.
+* Application-ImportService - a list of service interface names and optional filters identifying services which the application would like to consume from outside the application.
+
+Often, you do not require a Use-Bundle header, but there are some situations where it is useful.
+You can use it to restrict the level at which sharing is possible.
+For example, you can ensure that an application uses the same bundle for package imports that it was tested with.
+Alternatively, you can ensure that two applications use the same bundle for package imports.
+By setting the restriction at application level, the bundle can remain flexible.
+
++++<a name="Applications-AriesDeploymentManifest">++++++</a>+++
+
+== Aries Deployment Manifest
+
+The Aries application model allows for the possibility that the bundles listed in APPLICATION.MF's Application-Content header, plus those optionally included within a .eba file, may have unsatisfied package or service dependencies.
+Such missing dependencies may be obtained ('provisioned') from one or more bundle repositories.
+Aries will provide a generic 'Resolver' API which may be backed by technology such as http://felix.apache.org/site/apache-felix-osgi-bundle-repository.html[Felix OBR]  or [Equinox p2|http://wiki.eclipse.org/Equinox_p2_Getting_Started] . Although it is possible to re-resolve an application every time it is installed, or even started, this may result in inconsistent behaviour as the contents of an associated bundle repository changes.
+Aries uses a second file, META-INF/DEPLOYMENT.MF to record a single consistent set of bundles that fully satisfy an application's dependencies.
+The bundles recorded in DEPLOYMENT.MF will be loaded into the runtime each time the application is installed.
+A DEPLOYMENT.MF file will be generated if one does not exist, or honoured if provided.
+Here's an example:+++<div class="code panel" style="border-style: solid;border-width: 1px;">+++*DEPLOYMENT.MF*
+
+Manifest-Version: 1.0 + Application-Version: 1.0 + Application-SymbolicName: com.mybank.account.app + Deployed-Content: com.mybank.account.bankWeb;
+deployed-version=1.0.0, + com.mybank.account.bankAccount;
+deployed-version=1.0.0, + com.mybank.account.common;
+deployed-version=1.2.0, + com.mybank.account.utility;
+deployed-version=1.0.0, + com.mybank.utils.logging;
+deployed-version=1.3.1 + Provision-Bundle: com.mybank.account.delivery;deployed-version=1.0.1 + Import-Package: com.mybank.account.admin.login;version="1.0.1";bundle-symbolic-name="com.mybank.account.admin";bundle-version="[1.0.1,1.0.1]",com.mybank.account.delivery.bycar;version="[1.0.0,2.0.0)",javax.servlet;version="2.5.0" + Deployed-Use-Bundle: com.mybank.account.admin;deployed-version=1.0.1 ++++</div>+++
+
+The manifest headers are as follows:
+
+* Manifest-Version - a version number for the manifest format.
+* Application-Version - uniquely identify the version of the application.
+Must match that in the associated APPLICATION.MF.
+* Application-SymbolicName - a name to uniquely identify the application.
+Follows the same scheme as Bundle-SymbolicName.
+Must match that in the associated APPLICATION.MF.
+* Deployed-Content: the complete list of bundles, with exact version numbers, that comprise the application and its dependencies.
+* Deployed-Use-Bundle - a list of bundles that satisfy the package dependencies of bundles in the Deployed-Content list.
+Each element in the Deployed-Use-Bundle list must provide at least one package to at least one bundle in the Deployed-Content list.
+The Deployed-Use-Bundle list is an exact subset of the Use-Bundle list in the APPLICATION.MF.
+These bundles will be loaded into the shared bundle space at run time.
+Each bundle in the Deployed-Use-Bundle list is guaranteed to be wired to its dependent bundles in the Deployed-Content list at run time.
+* Provision-Bundle - a list of additional bundles that are required as a result of resolving the OSGi application.
+Each bundle is loaded into the shared bundle space at run time.
+* Import-Package - a list of the packages that the bundles in the Deployed-Content list consume from the bundles in the Deployed-Use-Bundle and Provision-Bundle lists.
+For packages that are consumed from the Deployed-Use-Bundle list, the package import has ;bundle-symbolic-name and ;bundle-version attributes.
+
+Versions in APPLICATION.MF are ranges: in DEPLOYMENT.MF they are exact.
+Hence we see Application-Content: com.mybank.account.common;
+version=1.0.0 having been interpreted as '1.0.0 or higher' and so resolved to 1.2.0.
+Also a common logging bundle at version 1.3.1 will be deployed with the application.
diff --git a/modules/ROOT/pages/modules/async-svcs.adoc b/modules/ROOT/pages/modules/async-svcs.adoc
new file mode 100644
index 0000000..95371ac
--- /dev/null
+++ b/modules/ROOT/pages/modules/async-svcs.adoc
@@ -0,0 +1,160 @@
+:doctype: book
+
+Title: Notice:    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.
+
+Title: Asynchronous Services
+
+#Introduction The R6 OSGi specifications include support for Asynchronous programming using OSGi services.
+Apache Aries aims to provide small, compliant implementations of these specifications to enable asynchronous programming in enterprise applications.
+The two key specifications are OSGi Promises and the Async service.
+
+#OSGi Promises
+
+One of the fundamental pieces of an asynchronous programming system is the _Promise_.
+A Promise is a holder type that  represents an asynchronous calculation or computation.
+Since Java 5 the JDK has contained _java.util.concurrent.Future_ to perform this  function.
+Java's Future type is, however, fatally flawed as it has no callback to notify the user when it resolves.
+Instead the user must make a blocking call to _get()_.
+
+OSGi promises fix this problem by defining a Promise interface which allows the user to register callbacks which will be called when the promise _resolves_.
+These callbacks are lambda friendly SAM types, but the Promise API itself has no dependencies on Java 8.
+The Aries version (org.apache.aries.async.promise.api) has a minimum requirement of JDK 6.
+
+##Creating OSGi Promises
+
+Creating a Promise is easy.
+The _org.osgi.util.promise.Deferred_ type is a factory for a single promise, and can also be used to resolve or fail the promise:
+
+....
+Deferred<Integer> deferred = new Deferred<>();
+new Thread(() -> {
+		int result = calculateReallyHardSum();
+		deferred.resolve(result);
+	}).start();
+
+Promise<Integer> p = deferred.getPromise();
+...
+....
+
+But wait - what if something goes wrong?
+How do we signal to the user that there was a problem and the result is never coming?
+The answer is very easy - Promises have the concept of _failure_.
+A promise will _either_ resolve _or_ fail at most once.
+For well  written code this rule is usually the same as "A promise will either resolve or fail _exactly_ once".
+Promises are thread safe and effectively immutable, meaning they can be shared with other code.
+
+....
+Deferred<Integer> deferred = new Deferred<>();
+new Thread(() -> {
+		try {
+			int result = calculateErrorProneSum();
+			deferred.resolve(result);
+		} catch (Exception e) {
+			deferred.fail(e);
+		}
+	}).start();
+
+Promise<Integer> p = deferred.getPromise();
+...
+....
+
+##Using OSGi Promises
+
+Once you have a promise, what do you do with it?
+It's easy to get the value from a promise using the _getValue()_ method, or you can use the _getFailure()_ method to get the failure cause.
+Unfortunately both of these methods block until the promise resolves, and whilst the _isDone()_ method does tell you if the Promise has completed they really aren't the right way to use a Promise.
+
+Promises work best when you register callbacks and/or transformations.
+The Promise API has a variety of useful methods for doing work with the Promise when it resolves.
+For example we can run a task after the promise completes successfully:
+
+ Promise<Integer> promise = ...
+ promise.then(p -> {
+ 		System.out.println("The calculator returned " + p.getValue());
+ 		return null;
+ 	});
+
+We can also register callbacks to handle failures:
+
+ Promise<Integer> promise = ...
+ promise.then(p -> {
+ 		System.out.println("The calculator returned " + p.getValue());
+ 		return null;
+ 	}, p -> p.getFailure().printStackTrace());
+
+=== Chaining OSGi Promises
+
+In the previous examples our success callback returned _null_ - why?
+Well the return value from a success callback is always a promise (null is a shortcut for a promise resolved with null).
+The promise returned by the callback represents an asynchronous  execution flow in a process known as "chaining".
+The overall completion of this chain is represented by a third promise, returned to the caller of the _then()_ method.
+
+. The caller registers a success callback, and receives a "chained" promise
+. The original promise completes successfully
+. The success callback runs and returns a promise representing another piece of asynchronous work
+. The promise returned by the success callback completes successfully
+. The "chained" promise completes with the same value as the promise from step 4.
+
+##Other Promise behaviours
+
+As well as simple callbacks Promises also provide advanced mapping and recovery features.
+For example a promise can be wrapped so that if the original work fails then a new value can be supplied using a recovery function.
+
+The _org.osgi.util.promise.Promises_ utility class also provides useful functions for working with promises.
+For example helper methods to wrap an existing value or failure in a Promise, or a way of aggregating a group of promises into a single promise.
+
+#The Async service
+
+Most OSGi services have a synchronous API.
+This is usually the easiest way to think about, write, and use services.
+The main problem with this is that long running service calls can cause applications to run slowly, and making the calls asynchronous is both verbose and error-prone.
+
+The Async service is designed to take away the boilerplate code needed to invoke a service asynchronously, and to convert any synchronous API into an asynchronous API, returning promises instead of values.
+
+##Using the Async service
+
+The Async service is available in the service registry and is very easy to use - first we need to mediate the service.
+Mediating is a bit like creating a mock object, the mediator records method calls made against it so that they can be  transformed into asynchronous calls.
+Mediating can apply to a concrete object, or to a ServiceReference.
+It is better to  use a ServiceReference when one is available, as the Async service can track the availability of the backing service.
+
+ Async async = ...;
+ ServiceReference<MyService> ref = ...;
+ MyService mediator = async.mediate(ref, MyService.class);
+
+_or_
+
+ Async async = ...;
+ MyService svc = ...;
+ MyService mediator = async.mediate(svc, MyService.class);
+
+Once a service has been mediated the mediator should be called just like the real service object, and the return value passed to the Async service's _call()_ method.
+This returns a promise representing the asynchronous work.
+
+ Promise<Integer> promise =  async.call(mediator.calculateReallyHardSum());
+
+=== Void methods
+
+Void methods don't have a return value to pass to the async service, and should use the no-args version of call instead.
+
+ mediator.longRunningVoidMethod()
+ Promise<?> promise =  async.call();
+
+=== Fire and Forget calls
+
+Sometimes the user does not care when a piece of work finishes, or what value it returns, or even whether it was successful.
+These sorts of calls are called "fire and forget" calls, and are also supported by the async service using the _execute()_ method.
+
+The execute method still returns a promise, however this promise represents whether the fire and forget call successfully started or not, not whether it has completed.
+
+= Getting Started
+
+Releases of the Async implementation can be found in Maven Central http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.aries.async%22[in the org.apache.aries.async group].
+http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22org.apache.aries.async%22[This bundle] provides a convenient all-in-one download.
+
+The Asynchronous Services source code can be found in the Apache Aries codebase in the `async` directory: https://svn.apache.org/repos/asf/aries/trunk/async
diff --git a/modules/ROOT/pages/modules/blueprint-maven-plugin.adoc b/modules/ROOT/pages/modules/blueprint-maven-plugin.adoc
new file mode 100644
index 0000000..ef77f74
--- /dev/null
+++ b/modules/ROOT/pages/modules/blueprint-maven-plugin.adoc
@@ -0,0 +1,231 @@
+Title: blueprint-maven-plugin Notice:    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.
+
+Writing blueprint xml is quite verbose and large blueprint xmls are difficult to keep in sync with code changes and especially refactorings.
+So you would like to do most declarations using annoations and ideally these annotations should be standardized.
+
+== blueprint-maven-plugin
+
+The blueprint-maven-plugin allows to configure blueprint using annotations.
+It scans one or more paths for annotated classes and creates a blueprint.xml in target/generated-sources/blueprint/OSGI-INF/blueprint.
+So at runtime the bundle behaves like a normal blueprint bundle.
+The generated blueprint can also be used together with a manually created blueprint file.
+So for example cxf services can be created in xml while most of the beans are automatically generated.
+
+Usage:
+
+ <plugin>
+     <groupId>org.apache.aries.blueprint</groupId>
+     <artifactId>blueprint-maven-plugin</artifactId>
+     <version>1.10.0</version>
+     <configuration>
+         <scanPaths>
+             <scanPath>org.my.package</scanPath>
+         </scanPaths>
+     </configuration>
+     <executions>
+         <executions>
+             <execution>
+                 <goals>
+                     <goal>add-resource-dir</goal>
+                     <goal>blueprint-generate</goal>
+                 </goals>
+             </execution>
+         </executions>
+     </executions>
+ </plugin>
+
+== Goals
+
+=== add-resource-dir
+
+Creates target/generated-sources/blueprint folder and register it as a maven resource directory in generate-resources phase, so IDEs like IntelliJ IDEA could find it automatically.
+
+=== blueprint-generate
+
+Creates blueprint xml from annotations in process-classes phase and put file in target/generated-sources/blueprint/OSGI-INF/blueprint/autowire.xml.
+Destination directory (OSGI-INF/blueprint) and file name (autowire.xml) could be change via configuration properties: generatedDir and generatedFileName.
+
+== Annotations
+
+=== javax.inject (JSR 330)
+
+* @Inject Inject a bean by type and optionally further qualifiers
+* @Singleton Mark a class as being a bean
+* @Named("Myname") Names a @Singleton and qualifies an @Inject to limit it to matches with the same bean id
+* @Qualifier Annotation on your own annotation
+
+=== javax.enterprise
+
+* @Produces Create bean using factory method
+
+=== javax.transaction
+
+* @Transactional mark the class as transactional.
+
+=== javax.transaction.cdi
+
+* @Transactional mark the class as transactional.
+
+=== javax.annotation (JSR 250)
+
+* @PostConstruct Marks a method to be called after DI is finished (init-method)
+* @PreDestroy Marks a method to be called before the bean is destroyed (destroy-method)
+
+=== javax.persistence
+
+* @PersistenceContext(unitName="tasklist") inject a managed EntityManager for the given persistence unit into a field
+* @PersistenceUnit(unitName="tasklist") inject an unmanaged EntityManagerFactory for the given persistence unit into a field
+
+=== Configuration annotations (org.apache.aries.blueprint.annotation.config)
+
+* @ConfigProperty Inject value as property from property-placeholder or constant
+* @Config Creates cm:property-placehoder
+* @DefaultProperty Configure default values for properties in property-placeholder
+
+=== Collection annotations (org.apache.aries.blueprint.annotation.collection)
+
+* @CollectionInject Inject list, set or array of existing beans of provided interface
+
+=== Bean annotations (org.apache.aries.blueprint.annotation.bean)
+
+* @Bean Mark a class as a bean or method as factory of bean
+
+=== Reference listener annotations (org.apache.aries.blueprint.annotation.referencelistener)
+
+* @ReferenceListener Marks bean as reference listener
+* @Bind Method of referenence listener to be called when service registers
+* @Unbind Method of referenence listener to be called when service unregisters
+
+=== Service annotations (org.apache.aries.blueprint.annotation.service)
+
+* @Service Publishes a bean as an OSGi service with the given interfaces
+* @ServiceProperty Defines a service property
+* @Reference Creates a reference to an OSGi service
+* @ReferenceList Creates a list of references of an OSGi services
+
+=== pax-cdi (supported in version 1.x, probably dropped in next major versions)
+
+* @OsgiServiceProvider(classes={TaskService.class}) Publishes a bean as an OSGi service with the given interfaces
+* @OsgiService creates a reference to an OSGi service.
+On optional filter is also possible
+* @Properties Defines service properties for OSGiServiceProvider
+* @Property Defines a service property
+
+=== Spring (supported in version 1.x, probably dropped in next major versions)
+
+* @Autowired Inject a bean by type and optionally further qualifiers
+* @Component Creates bean witd default or given name
+* @DependsOn Make bean depending on another bean
+* @Lazy Make bean lazy
+* @Qualifier Name injected bean
+* @Transactional mark the class as transactional
+* @Value Inject value or constant
+
+== Dependencies for annotations
+
+ <dependency>
+     <groupId>javax.inject</groupId>
+     <artifactId>javax.inject</artifactId>
+     <version>1</version>
+     <optional>true</optional>
+ </dependency>
+ <dependency>
+     <groupId>javax.enterprise</groupId>
+     <artifactId>cdi-api</artifactId>
+     <version>1.2</version>
+     <optional>true</optional>
+ </dependency>
+ <dependency>
+     <groupId>javax.persistence</groupId>
+     <artifactId>persistence-api</artifactId>
+     <version>1.0.2</version>
+     <optional>true</optional>
+ </dependency>
+ <dependency>
+     <groupId>javax.transaction</groupId>
+     <artifactId>javax.transaction-api</artifactId>
+     <version>1.2</version>
+     <optional>true</optional>
+ </dependency>
+ <dependency>
+     <groupId>org.apache.aries.blueprint</groupId>
+     <artifactId>blueprint-maven-plugin-annotation</artifactId>
+     <version>1.3.0</version>
+     <optional>true</optional>
+ </dependency>
+ <dependency>
+     <groupId>org.ops4j.pax.cdi</groupId>
+     <artifactId>pax-cdi-api</artifactId>
+     <version>0.8.0</version>
+     <optional>true</optional>
+ </dependency>
+ <dependency>
+     <groupId>org.apache.servicemix.bundles</groupId>
+     <artifactId>org.apache.servicemix.bundles.spring-beans</artifactId>
+     <version>3.2.11.RELEASE_1</version>
+     <optional>true</optional>
+ </dependency>
+
+Note that the annotations are needed only during build run, so you can exclude them or mark optional in Import-Package header of your bundle.
+
+== SPI
+
+Whole plugin is written using 'plugin architecture', so your own annotations could be configured for bleuprint generation.
+All you need to do, is to implement one of interfaces from blueprint-maven-plugin-spi:
+
+ <dependency>
+     <groupId>org.apache.aries.blueprint</groupId>
+     <artifactId>blueprint-maven-plugin-spi</artifactId>
+     <version>1.1.0</version>
+ </dependency>
+
+Next add file (or files) to META-INF/services directory describing which interface implementation your artifact provides and add such artifact as plugin dependency
+
+ <plugin>
+     <groupId>org.apache.aries.blueprint</groupId>
+     <artifactId>blueprint-maven-plugin</artifactId>
+     <version>1.9.0</version>
+     ...
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.aries.blueprint.example</groupId>
+             <artifactId>blueprint-maven-plugin-my-extension</artifactId>
+             <version>1.0.0</version>
+         </dependency>
+     </dependencies>
+     ...
+ </plugin>
+
+== Artifacts scanning configuration
+
+All artifacts are scaned for bean classes by default.
+It could be limited by includeArtifacts and excludeArtifacts parameters, e.
+g.
+
+ <includeArtifacts>
+     <includeArtifact>org.my.group.id:.*</includeArtifact>
+     <includeArtifact>org.another.group.id:another.artifact.id:.*</includeArtifact>
+ </includeArtifacts>
+ <excludeArtifacts>
+     <excludeArtifact>org.my.group.id:unwanted.artifact.id:.*</excludeArtifact>
+ </excludeArtifacts>
+
+== Additional configuration
+
+Bean from factories are named by bean class nams or as defined in @Named or @Bean annotations.
+If you want to name such beans after producing method name then add configuration parameter:
+
+ <configuration>
+     <customParameters>
+         <blueprint.beanFromFactory.nameFromFactoryMethodName>true</blueprint.beanFromFactory.nameFromFactoryMethodName>
+     </customParameters>
+ </configuration>
+
+== Example
+
+For a complete example see https://github.com/cschneider/Karaf-Tutorial/tree/master/tasklist-blueprint-cdi[tasklist-blueprint-cdi] on github or http://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/[tests of blueprint-maven-plugin].
diff --git a/modules/ROOT/pages/modules/blueprint.adoc b/modules/ROOT/pages/modules/blueprint.adoc
new file mode 100644
index 0000000..ab43a76
--- /dev/null
+++ b/modules/ROOT/pages/modules/blueprint.adoc
@@ -0,0 +1,402 @@
+:doctype: book
+
+Title: Blueprint
+
++++<a name="Blueprint-Blueprint">++++++</a>+++
+
+= Blueprint
+
++++<a name="Blueprint-Introduction">++++++</a>+++
+
+== Introduction
+
+Blueprint provides a dependency injection framework for OSGi and was standardized by the OSGi Alliance in OSGi Compendium R4.2.
+It is designed to deal with the dynamic nature of OSGi, where services can become available and unavailable at any time.
+The specification is also designed to work with plain old Java objects (POJOs) enabling simple components to be written and unit tested in a JSE environment without needing to be aware of how they are assembled.
+The Blueprint XML files that define and describe the assembly of various components are key to the Blueprint programming model.
+The specification describes how the components get instantiated and wired together to form a running module.
+
+The following documentation covers the 80:20 usage of Blueprint.
+For further details, please refer to the OSGi Compendium R4.2 specification.
+
++++<a name="Blueprint-BlueprintBundles">++++++</a>+++
+
+== Blueprint Bundles
+
+The Blueprint Container specification uses an extender pattern, whereby an extender bundle monitors the state of bundles in the framework and performs actions on behalf of those bundles based on their state.
+The Blueprint extender bundle waits for the bundles to be activated and checks whether they are Blueprint bundles.
+A bundle is considered to be a Blueprint bundle when it contains one or more Blueprint XML files.
+These XML files are at a fixed location under the OSGI-INF/blueprint/ directory or are specified explicitly in the Bundle-Blueprint manifest header.
+
+Once the extender determines that a bundle is a Blueprint bundle, it creates a Blueprint Container on behalf of that bundle.
+The Blueprint Container is responsible for:
+
+* Parsing the Blueprint XML files
+* Instantiating the components
+* Wiring the components together
+* Registering services
+* Looking up service references
+
+During initialization, the Blueprint Container ensures that mandatory service references are satisfied, registers all the services into the service registry, and creates initial component instances.
+The Blueprint extender bundle also destroys the Blueprint Container for a bundle when the bundle is stopped.
+
++++<a name="Blueprint-BlueprintXML">++++++</a>+++
+
+== Blueprint XML
+
+The Blueprint XML file is identified by a top-level blueprint element, as shown below:
+
+ <?xml version="1.0" encoding="UTF-8"?>
+ <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+     ...
+ </blueprint>
+
+The XML namespace identifies the document as conforming to the Blueprint version 1.0.0.
+The top-level blueprint element identifies the document as a blueprint module definition.
+
+_TODO:_ ensure id, activation and dependsOn get documented somewhere.
+
++++<a name="Blueprint-Beans">++++++</a>+++
+
+== Beans
+
+Beans are declared using the bean element.
+The following defines a single bean called _accountOne_ implemented by the POJO _org.apache.aries.simple.Account_.
+
+ <?xml version="1.0" encoding="UTF-8"?>
+ <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+    <bean id="accountOne" class="org.apache.aries.simple.Account" />
+ </blueprint>
+
++++<a name="Blueprint-BeanConstruction">++++++</a>+++
+
+=== Bean Construction
+
+During object construction, the Blueprint Container must first find the right constructor or a factory method with a compatible set of parameters that matches the arguments specified in the XML.
+By default, the Blueprint Container uses the number and order of the argument elements in XML to find the right constructor or method.
+If the argument  elements cannot be mapped to the parameters in the order they are in, the Blueprint Container will attempt to reorder the argument elements and find the best-fitting arrangement.
+
+To help the Blueprint Container pick the right constructor, method, or parameter arrangement, additional attributes, such as index or type, can be specified on the argument element.
+For example, the type attribute specifies a class name used to match the argument element to a parameter by the exact type.
+
+A bean can be constructed using a class constructor.
+In the following example, the _class_ attribute specifies the name of the Java class to instantiate.
+The Blueprint Container will create the _Account_ object by passing _1_ as the argument to the constructor.
+
+....
+   :::java
+   public class Account {
+       public Account(long number) {
+          ...
+       }
+       ...
+   }
+
+
+
+   <bean id="accountOne" class="org.apache.aries.simple.Account">
+       <argument value="1"/>
+   </bean>
+....
+
+A bean can be constructed using a static factory method.
+In this example, the _class_ attribute specifies the name of the class that contains a static factory method.
+The name of the static factory method is specified by the _factory-method_  attribute.
+The Blueprint Container will call the _createAccount()_ static method on the _StaticAccountFactory_ class and pass 2 as the argument to create the Account object.
+
+....
+   public class StaticAccountFactory {	
+       public static Account createAccount(long number) {
+      return new Account(number);
+       }
+   }
+
+
+
+   <bean id="accountTwo"
+    class="org.apache.aries.simple.StaticAccountFactory"
+     factory-method="createAccount">
+       <argument value="2"/>
+   </bean>
+....
+
+A bean can be constructed using an instance factory method.
+In the example, the _accountFactory_ bean is the factory.
+The Blueprint Container will first create the _AccountFactory_ instance with its own arguments and properties.
+In this case, only a single argument is specified: the factory name.
+The Blueprint Container will then call the _createAccount()_ method on the _AccountFactory_ instance and pass 3 as the argument to create the Account object.
+
+public class AccountFactory {    +        public AccountFactory(String factoryName) { 	  ...
+}        public Account createAccount(long number) { 	  return new Account(number);
+}    }
+
+....
+   <bean id="accountFactory"
+    class="org.apache.aries.simple.AccountFactory">
+       <argument value="account factory"/>	
+   </bean>
+
+   <bean id="accountThree"
+     factory-ref="accountFactory"
+     factory-method="createAccount">
+       <argument value="3"/>
+   </bean>
+....
+
++++<a name="Blueprint-BeanProperties">++++++</a>+++
+
+=== Bean Properties
+
+Beans can have property values injected.
+Injection is performed immediately after the bean is constructed.
+The following example creates the Account bean and then sets the description property using the Java Beans naming convention.
+
+public class Account {    +        public Account(long number) { 	  ...
+}        public String getDescription() { 	  ...
+}    }
+
+    <bean id="accountOne" class="org.apache.aries.simple.Account">
+        <argument value="1"/>
+        <property name="description" value="#1 account"/>
+    </bean>
+
++++<a name="Blueprint-BeanWiring">++++++</a>+++
+
+==== Bean Wiring
+
+Property injection is used for wiring beans together.
+In the following example _accountOne_ is injected with a _Currency_ bean.
+
+....
+   public class Account {
+       public Account() {
+      ...
+       }
+       public void setCurrency(Currency currency) {
+      ...
+       }
+   }
+
+
+
+   public class Currency {	
+       public Currency() {
+      ...
+       }
+   }
+
+
+
+   <bean id="accountOne" class="org.apache.aries.simple.Account">
+       <property name="currency" ref="currency" />
+   </bean>
+
+   <bean id="currency" class="org.apache.aries.simple.Currency" />
+....
+
++++<a name="Blueprint-Services">++++++</a>+++
+
+== Services
+
+In Blueprint XML, a service element defines the registration of a service in the OSGi service registry.
+
+The bean that provides the service object can be referenced using the _ref_ attribute.
+The interfaces under which the service is registered can be specified using the _interface_ attribute:
+
+....
+   public class AccountImpl implements Account {
+       public Account() {
+      ...
+       }
+       public void setCurrency(Currency currency) {
+      ...
+       }
+   }
+
+
+
+   <service id="serviceOne" ref="account"
+    interface="org.apache.aries.simple.Account" />
+
+   <bean id="account" class="org.apache.aries.simple.AccountImpl" />
+....
+
+The bean that provides the service object can be inlined in the service element as follows:
+
+    <service id="serviceTwo"  interface="org.apache.aries.simple.Account">
+       <bean class="org.apache.aries.simple.AccountImpl" />
+    </service>
+
+The interfaces under which a service is registered can be determined by Blueprint using _auto-export_.
+The following registers the service under all the bean's interfaces:
+
+....
+   <service id="serviceOne" ref="account" auto-export="interfaces" />
+
+   <bean id="account" class="org.apache.aries.simple.AccountImpl" />
+....
+
+Other values for _auto-export_ are _disabled_ (the default) _class-hierarchy_ and _all-classes_.
+
++++<a name="Blueprint-ServiceProperties">++++++</a>+++
+
+=== Service Properties
+
+A service can also be registered with a set of properties that can be specified using the _service-properties_  sub-element.
+The _service-properties_ element contains multiple _entry_ sub-elements that represent the individual properties.
+The property key is specified using a _key_ attribute, but the property value can be specified as a _value_ attribute or inlined within the element.
+The service property values can be of different types, but only OSGi service property types are permitted: primitives, primitive wrapper classes, collections, or arrays of primitive types.
+
+The following is an example of a service registration with two service properties.
+The _active_ service property has type of _java.lang.Boolean_.
+The _mode_ property is of the default type, _String_.
+
+    <service id="serviceFour" ref="account" autoExport="all-classes">
+       <service-properties>
+       <entry key="active">
+           <value type="java.lang.Boolean">true</value>
+       </entry>
+       <entry key="mode" value="shared"/>
+       </service-properties>
+    </service>
+
++++<a name="Blueprint-ServiceRanking">++++++</a>+++
+
+=== Service Ranking
+
+Service ranking can be used to affect the choice of service when there are multiple matches.
+When choosing between two services, the higher ranked service will be returned ahead of the lower.
+The default ranking value is
+
+. Service ranking is specified using the _ranking_ attributes as follows:
+
+ <service id="serviceFive" ref="account" auto-export="all-classes"
+  ranking="3" />
+
++++<a name="Blueprint-References">++++++</a>+++
+
+== References
+
+Services are found in the service registry using the reference element.
+The following shows a reference named _accountRef_ to an _Account_ service.
+If a service matching this reference is found in the service registry then it is set on the _accountClient_ bean through the _account_ property.
+
+....
+   <bean id="accountClient" class="...">
+       <property name="account" ref="accountRef" />
+   </bean>
+
+   <reference id="accountRef" interface="org.apache.aries.simple.Account"
+/>
+....
+
++++<a name="Blueprint-ReferenceDynamism">++++++</a>+++
+
+=== Reference Dynamism
+
+The object that is injected for a reference is actually a proxy to the service registered in the service registry.
+A proxy enables the injected object to remain the same while the backing service can come and go or be replaced with another service.
+Calls on a proxy that does not have a backing service will block until a service becomes available or a timeout occurs at which point a ServiceUnavailableException will be thrown.
+
+    try {
+       balance = account.getBalance();
+    } catch (ServiceUnavailableException e) {
+       ...
+    }
+
+The default timeout Blueprint will wait for is 300000 milliseconds (5 minutes).
+This value can be changed on a per bundle basis using directives on the Bundle-SymbolicName.
+The following switches the timeout off completely (the default is true):
+
+    Bundle-SymbolicName: org.apache.aries.simple.account;
+     blueprint.graceperiod:=false
+
+The following sets the timeout to 10000 milliseconds (10 seconds):
+
+    Bundle-SymbolicName: org.apache.aries.simple.account;
+     blueprint.graceperiod:=false; blueprint.timeout=10000;
+
+The timeout can also be set on an individual reference using the _timeout_ attribute.
+The following sets the timeout for the account reference to 20000 milliseconds (20 seconds).
+
+    <reference id="accountRef" timeout="20000"
+     interface="org.apache.aries.simple.Account" />
+
+In all cases, a value of 0 means wait indefinitely for the reference to become satisfied.
+
++++<a name="Blueprint-ReferenceLists">++++++</a>+++
+
+=== Reference Lists
+
+Multiple matching services can be found using the _reference-list_ element.
+The _reference-list_ provides a _List_ object that contains the service proxy objects or _ServiceReference_ objects, depending on the _member-type_ setting.
+The provided _List_ object is dynamic, as it can grow and shrink as matching services are added or removed from the service registry.
+The _List_ object is read-only and only supports a subset of the _List_ API.
+
+The proxies in a _reference-list_ are different from the proxies for a reference.
+The _reference-list_ proxies target a specific service, do not have a _timeout_, and throw _ServiceUnavailableException_ immediately if their service becomes unavailable.
+
+The following example shows a reference-list that returns a list of service objects (proxies).
+This is the default value for the _member-type_ attribute
+
+    <reference-list id="accountRefs" member-type="service-object"
+     interface="org.apache.aries.simple.Account" />
+
+The following shows an example of a reference-list that returns a list of ServiceReferences:
+
+    <reference-list id="accountRefs" member-type="service-reference"
+     interface="org.apache.aries.simple.Account" />
+
+Example showing mandatory or optional references (availability)
+
+Example showing use of filter
+
++++<a name="Blueprint-BeanProperties">++++++</a>+++
+
+== Bean Properties
+
+Example showing use of bean properties
+
++++<a name="Blueprint-Scopes">++++++</a>+++
+
+== Scopes
+
+Example showing singleton scope
+
+Example showing prototype scope for beans
+
+Example showing prototype scope for services
+
++++<a name="Blueprint-ObjectValues">++++++</a>+++
+
+== Object Values
+
+Intro to Object Values
+
+Examples showing the use of the various different object value types - ref, map, props collection (list, array, set).
+
++++<a name="Blueprint-Lifecycle">++++++</a>+++
+
+== Lifecycle
+
+Example showing use of init/destroy-method
+
++++<a name="Blueprint-LazyandEagerActiviation">++++++</a>+++
+
+== Lazy and Eager Activiation
+
+Example showing lazy activiation.
+
+Example showing eager activation.
+
++++<a name="Blueprint-Dynamism">++++++</a>+++
+
+== Dynamism
+
+Example showing service-listener
+
+Example showing reference-listener
+
++++<a name="Blueprint-TypeConverters">++++++</a>+++
+
+== Type Converters
diff --git a/modules/ROOT/pages/modules/blueprintannotation.adoc b/modules/ROOT/pages/modules/blueprintannotation.adoc
new file mode 100644
index 0000000..b4d8695
--- /dev/null
+++ b/modules/ROOT/pages/modules/blueprintannotation.adoc
@@ -0,0 +1,221 @@
+:doctype: book
+
+Title: BlueprintAnnotation +++<a name="BlueprintAnnotation-Introduction">++++++</a>+++
+
+= Introduction
+
+Blueprint annotation is being prototyped in Apache Aries in trunk/blueprint.
+The blueprint annotation service is an optional service to the blueprint core and should not affect the blueprint core if annotation supported is not required.
+If the blueprint annotation service is available, the bundle contains no blueprint definition XML and the bundle contains the manifest header _Bundle-Blueprint-Annotation_ with the value set to true, the blueprint annotation service will attempt to scan the bundle for blueprint annotations, such as @Blueprint, @Bean, @Service, @Reference, @ReferenceList, etc.
+The blueprint annotation api is available in trunk/blueprint/blueprint-annotation-api module, while the blueprint implementation is available in trunk/blueprint/blueprint-annotatiom-impl module.
+A blueprint annotated sample is also provided in trunk/blueprint/blueprint-sample-annotation.
+
++++<a name="BlueprintAnnotation-OverviewofAvailableblueprintAnnotations">++++++</a>+++
+
+== Overview of Available blueprint Annotations
+
++++<a name="BlueprintAnnotation-@InjectAnnotation">++++++</a>+++
+
+=== @Inject Annotation
+
+@Inject annotation can be used to inject fields or methods.
+
+....
+@Bean(id="bar")
+public class Bar {
+
+    @Inject(value="Hello FooBar")
+    private String value;
+
+    @Inject(ref="blueprintBundleContext")
+    private BundleContext context;
+    ...
+}
+....
+
++++<a name="BlueprintAnnotation-@BeanAnnotation">++++++</a>+++
+
+=== @Bean Annotation
+
+You can annotate a bean using @Bean annotation.
+The bean id is currently required, even tho it is possible we may want to the annotation service to auto generate one in the future.
+Optionally, you can also specify activation, dependsOn, description, scope, factoryRef, factoryMethod and args of the bean.
+
+* Example of using args property for the @Bean annotation.
+
+....
+@Bean(id="accountOne", args=@Arg(value="1"))
+public class Account {
+
+    private long accountNumber;
+
+    public Account(long number) {
+    this.accountNumber = number;
+    }
+}
+....
+
+* Example of using factoryMethod and args properties for the @Bean annotation
+
+....
+@Bean(id="accountTwo",
+      factoryMethod="createAccount",
+      args = @Arg(value="2"))
+public class StaticAccountFactory {
+
+    public static Account createAccount(long number) {
+	return new Account(number);
+     }
+}
+....
+
+* Example of using factoryRef, factoryMethod, and args properties for the @Bean annotation
+
+....
+@Bean(id="accountThree",
+      factoryRef="accountFactory",
+      factoryMethod="createAccount",
+      args=@Arg(value="3"))
+public class NewAccount {
+
+    private long accountNumber;
+
+    public NewAccount(long number) {
+	this.accountNumber = number;
+    }
+    ...
+}
+....
+
++++<a name="BlueprintAnnotation-@Service,@RegistrationListener,@Register,@UnregisterAnnotations">++++++</a>+++
+
+=== @Service, @RegistrationListener, @Register, @Unregister Annotations
+
+If you want to register a bean as a service, you can use @Service annotation to do so.
+You can specify ranking, autoExport, interfaces, serviceProperties and registrationListeners for the service.
+
+ @Bean(id="foo")
+ @Service(autoExport="all-classes",
+ 	serviceProperties =
+ @ServiceProperty(key="blueprint.annotation.sample", value="true"),
+ 	registerationListeners =
+ @RegistrationListener(ref="fooRegistrationListener"),
+ 	ranking=0)
+ public class Foo implements Serializable {
+    ...
+ }
+
+To annotation a class as registration listener, you can use the @RegistrationListener annotation.
+@Register can be used to annotate the register-method for the registration listener and @Unregister annotation can be used on the unregister-method for the registration listener.
+
+....
+@Bean(id="fooRegistrationListener")
+@RegistrationListener
+public class FooRegistrationListener {
+
+    @Register
+    public void serviceRegistered(Serializable foo, Map props) {
+	System.out.println("Service registration notification: " + foo + "
+    " + props);
+    }
+
+    @Unregister
+    public void serviceUnregistered(Foo foo, Map props) {
+	System.out.println("Service unregistration notification: " + foo +
+    " " + props);
+    }
+
+}
+....
+
++++<a name="BlueprintAnnotation-@Reference,@ReferenceList,@ReferenceListenerAnnotations">++++++</a>+++
+
+=== @Reference, @ReferenceList, @ReferenceListener Annotations
+
+For a bean that you want to act as a ReferenceListener, you can use @ReferenceListener to annotate the bean class.
+
+For the service that you want to inject the reference, you can use the @Inject and @Reference annotation, with the id, serviceInterface, timeout and referenceListeners properties specified for the reference.
+
+....
+@Bean(id="bindingListener")
+@ReferenceListener
+public class BindingListener {
+
+    @Inject @Reference (id="ref2",
+	    serviceInterface = InterfaceA.class,
+	    timeout=100,
+referenceListeners=@ReferenceListener(ref="bindingListener"))
+    private InterfaceA a;
+    ...
+    @Init
+    public void init() {
+    }
+
+    @Bind
+    public void bind(InterfaceA a, Map props) {
+	this.a = a;
+	this.props = props;
+    }
+
+    @Unbind
+    public void unbind(InterfaceA a, Map props) {
+	this.a = null;
+	this.props = null;
+    }
+
+}
+....
+
+@ReferenceList is very similar as @Reference, except that the timeout property is not supported in @ReferenceList, while the memberType property is supported in @ReferenceList.
+This is same as the blueprint XML schema.
+
+....
+@Bean(id="listBindingListener")
+@ReferenceListener
+public class ListBindingListener {
+
+    @Inject @ReferenceList (id="ref-list",
+        serviceInterface = InterfaceA.class,
+
+referenceListeners=@ReferenceListener(ref="listBindingListener"))
+    private InterfaceA a;
+    ...
+}
+....
+
++++<a name="BlueprintAnnotation-@Blueprintannotation">++++++</a>+++
+
+=== @Blueprint annotation
+
+@Blueprint annotation can be used on any class to annotate the global property of the blueprint bundle, such as defaultActivation, defaultTimeout, defaultAvailability.
+
+ @Blueprint(defaultActivation="eager", defaultTimeout=300,
+ defaultAvailability="optional")
+ @Bean(id="bar")
+ public class Bar {
+     ...
+ }
+
++++<a name="BlueprintAnnotation-Typeconverters">++++++</a>+++
+
+=== Type converters
+
+If type converters are desired, you can use the @Bean annotation for it.
+The blueprint annotation service will recognize it as a type converter if it implements the _org.osgi.service.blueprint.container.Converter_ interface
+
+....
+@Bean(id="converter1")
+public class DateTypeConverter implements Converter {
+
+    @Inject(name="format", value="yyyy.MM.dd")
+    DateFormat dateFormat;
+    ...
+}
+....
+
++++<a name="BlueprintAnnotation-Limitation">++++++</a>+++
+
+=== Limitation
+
+Blueprint Annotation is still prototype work and currently only runtime annotation scanning is supported.
+While it provides some basic useful functions, there are still many things that you cannot do using annotation, such as inject a list with values, inject inline beans, etc.
diff --git a/modules/ROOT/pages/modules/blueprintnoosgi.adoc b/modules/ROOT/pages/modules/blueprintnoosgi.adoc
new file mode 100644
index 0000000..e6bf2fa
--- /dev/null
+++ b/modules/ROOT/pages/modules/blueprintnoosgi.adoc
@@ -0,0 +1,55 @@
+:doctype: book
+
+Title: BlueprintNoOSGi +++<a name="BlueprintNoOSGi">++++++</a>+++
+
+= Blueprint No-OSGi
+
+The Blueprint No-OSGi module makes it easy to use OSGi Blueprint as a dependency injection framework outside of OSGi containers such as inside any Servlet Engine.
+
+You can then use Blueprint as a small standards base alternative to the Spring Framework's XML dependency injection files.
+
++++<a name="BlueprintNoOSGi-HowToUse">++++++</a>+++
+
+== How to use Blueprint No-OSGi
+
+Just create the blueprint container giving the urls of the xml descriptors
+
+ BlueprintContainerImpl container = new BlueprintContainerImpl(classLoader, resourcePaths);
+
+You can then access the instantiated beans using the blueprint api
+
+ Foo foo = (Foo) container.getComponentInstance("foo");
+
+When you're done with the container, you need to destroy it
+
+ container.destroy();
+
++++<a name="BlueprintNoOSGi-Limitations">++++++</a>+++
+
+== Limitations
+
+The Blueprint No-OSGi module has limitations due to the fact that OSGi is not available.
+The use of +++<reference>++++++</reference>+++ and +++<reference-list>++++++</reference-list>+++ and +++<service>++++++</service>+++ elements are not supported.
+
++++<a name="BlueprintNoOSGi-Configuraiton">++++++</a>+++
+
+== Configuring blueprint through properties
+
+Blueprint beans can be configured using the variable substitutions.
+You need to declare the ext namespace and add the property placeholder bean in your blueprint xml
+
+ <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+            xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.2.0">
+ 	<ext:property-placeholder>
+     	<ext:default-properties>
+         	<ext:property name="myProperty" value="defaultValue" />
+     	</ext:default-properties>
+ 	</ext:property-placeholder>
+ 	...
+ 	<bean ...>
+ 		<property name="myProperty" value="${myProperty}" />
+ 	</bean>
+ </blueprint>
+
+Default values can be specified by passing a *Map<String,String>* object at container creation time.
+Note that the default values for system override (compared to standard blueprint use in OSGi) has been changed so that the properties passed to the container and system properties will override default values.
diff --git a/modules/ROOT/pages/modules/blueprintweb.adoc b/modules/ROOT/pages/modules/blueprintweb.adoc
new file mode 100644
index 0000000..8cfb34f
--- /dev/null
+++ b/modules/ROOT/pages/modules/blueprintweb.adoc
@@ -0,0 +1,61 @@
+:doctype: book
+
+Title: BlueprintWeb +++<a name="BlueprintWeb">++++++</a>+++
+
+= BlueprintWeb
+
+The Blueprint Web module makes it easy to use OSGi Blueprint as a dependency injection framework outside of OSGi containers such as inside any Servlet Engine.
+
+You can then use Blueprint as a small standards base alternative to the Spring Framework's XML dependency injection files.
+
++++<a name="BlueprintWeb-HowToUse">++++++</a>+++
+
+== How to use Blueprint Web
+
+Just add the following to your web.xml
+
+   <listener>
+       <listener-class>org.apache.aries.blueprint.web.BlueprintContextListener</listener-class>
+   </listener>
+
+This will then make your web application look in the classpath for all files called *META-INF/blueprint.xml*.
+Each one will then be loaded and created in a single BlueprintContainer for your web application.
+
+Then in each jar or in the web application itself, just create a file called *src/main/resources/META-INF/blueprint.xml* which will then get included into jars or into your WAR.
+
+If you wish to use a different name for the location of the blueprint files you can specify the *blueprintLocation* property as a context parameter as follows:
+
+   <context-param>
+       <param-name>blueprintLocation</param-name>
+       <param-value>META-INF/myName.xml</param-value>
+   </context-param>
+
++++<a name="BlueprintWeb-Configuraiton">++++++</a>+++
+
+== Configuring blueprint through properties
+
+Blueprint beans can be configured using the variable substitutions.
+You need to declare the ext namespace and add the property placeholder bean in your blueprint xml
+
+ <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+            xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.2.0">
+ 	<ext:property-placeholder>
+     	<ext:default-properties>
+         	<ext:property name="myProperty" value="defaultValue" />
+     	</ext:default-properties>
+ 	</ext:property-placeholder>
+ 	...
+ 	<bean ...>
+ 		<property name="myProperty" value="${myProperty}" />
+ 	</bean>
+ </blueprint>
+
+The default value can be overriden by specifying an the blueprintProperties property as a context parameter in the web.xml:
+
+ <context-param>
+ 	<param-name>blueprintProperties</param-name>
+ 	<param-value>myConfigFile.properties</param-value>
+ </context-param>
+
+The value of this parameter is a comma separated list of properties file loaded from the class loader.
+In this case, adding a file called *src/main/resources/myConfigFile.properties* will do the trick.
diff --git a/modules/ROOT/pages/modules/containers.adoc b/modules/ROOT/pages/modules/containers.adoc
new file mode 100644
index 0000000..fc81c16
--- /dev/null
+++ b/modules/ROOT/pages/modules/containers.adoc
@@ -0,0 +1,204 @@
+:doctype: book
+
+Title: Aries Containers
+
+= Aries Containers
+
+Aries Containers is an Apache Aries subproject to manage container deployments, such as docker-based microservices, from a Java API.
+
+Many technologies exist to manage container deployments.
+Examples include Kubernetes, Marathon/Mesos, Docker Swarm, Amazon ECS  and others.
+While each technology provides specific features, many of these management technologies share common behaviour.
+Aries Containers provides an abstraction that allows users to easily switch between these technologies.
+
+Benefits:
+
+* Requirements change - container deployers may find that they need to change target platforms at short notice.
+Using an abstraction API  helps making such changes without too much additional work.
+* Testing - many container management systems require cluster of machines or otherwise large setup which may make testing during development difficult.
+Aries Containers also contains a `docker.local` binding which makes it possible to run the same code with using a local docker installation on the developer's machine.
+
+Current Aries Containers modules:
+
+* `containers-api` - the API implemented by the various bindings.
+* `containers-docker-local` - Binding that uses the local docker installation.
+* `containers-marathon` - Marathon binding.
+* `containers-parent` - Parent pom.
+* `containers-examples` - Examples.
+* ...
+
+This project could influence the design process of the https://github.com/osgi/design/blob/master/rfps/rfp-0179-ComputeManagementService.pdf[OSGi RFP 179].
+
+= Source
+
+The Aries RSA source is in a separate https://git-wip-us.apache.org/repos/asf/aries-containers.git[git repository aries-containers] there is also a https://github.com/apache/aries-containers[mirror on github].
+
+To build the source, just run:
+
+`mvn install`
+
+Java 1.8 or higher is required.
+Maven 3.3.9+ is recommended.
+
+= Quick Start
+
+The easiest way to get started is with the examples and the local docker binding.
+Aries Containers work well in an OSGi  environment where bindings are provided as OSGi services.
+
+As an alternative, Aries Containers can also be used in a plain Java environment.
+Instead of obtaining the bindings from the service registry, they need to be instantiated directly in this case.
+
+== OSGi example
+
+The OSGi example uses the Felix SCR implementation to get the currently active ServiceManager injected into a simple servlet.
+The servlet provides a simple UI to perform some of the management operations.
+
+The servlet is written using OSGi Declarative Service annotations and OSGi Http Whiteboard annotations and can be found here:  https://git-wip-us.apache.org/repos/asf?p=aries-containers.git;a=blob;f=containers-examples/containers-example-osgiservlet/src/main/java/org/apache/aries/containers/examples/osgiservlet/ServiceManagerServlet.java;hb=HEAD[ServiceManagerServlet.java]
+
+Main functionality of the servlet can be summarized as follows:
+
+....
+@Component(service = Servlet.class,
+    property = {HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN + "=/manager"})
+public class ServiceManagerServlet extends HttpServlet {
+
+@Reference
+ServiceManager serviceManager;
+
+@Override
+protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+    PrintWriter pw = resp.getWriter();
+    pw.println("<BODY><H1>Service Deployments</H1>");
+
+    pw.println("<UL>");
+    for (String dep : serviceManager.listServices()) {
+        pw.println("<LI>" + dep);
+    }
+....
+
+In short - an OSGi Declarative Service Component is registered as a HTTP Whiteboard Servet.
+The Aries Containers Service Manager is injected into the `serviceManager` field and then used in the servlet to manage services.
+
+This demo can be launched in any OSGi framework that supports Declarative Services and the HTTP Whiteboard.
+For example, to run this demo  with the Apache Felix OSGi framework, add:
+
+* http://www-us.apache.org/dist//felix/org.apache.felix.scr-2.0.10.jar[The Felix SCR Declarative Services Implementation]
+* http://www-us.apache.org/dist//felix/org.apache.felix.configadmin-1.8.14.jar[Felix Configuration Admin Service Implementation]
+* http://www-us.apache.org/dist//felix/org.apache.felix.eventadmin-1.4.8.jar[Felix Event Admin Service Implementation]
+* http://www-us.apache.org/dist//felix/org.apache.felix.http.whiteboard-3.0.0.jar[Felix Http Whiteboard bundle] with http://www-us.apache.org/dist//felix/org.apache.felix.http.jetty-3.4.2.jar[Felix Jetty] and the http://www-us.apache.org/dist//felix/org.apache.felix.http.servlet-api-1.1.2.jar[Servlet API].
+
+Then add the Aries Containers implementation with the appropriate binding and their dependencies.
+To run with the Docker Local binding, add
+
+* Aries Containers API
+* Aries Containers Docker Local
+* http://repo2.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar[SLF4J API] and http://repo2.maven.org/maven2/org/slf4j/slf4j-simple/1.7.25/slf4j-simple-1.7.25.jar[implementation].
+
+Finally add the OSGi demo bundle itself.
+The resulting bundle list will look like this:
+
+ lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (5.6.4)|5.6.4
+     1|Active     |    1|jansi (1.16.0)|1.16.0
+     2|Active     |    1|JLine Bundle (3.3.0)|3.3.0
+     3|Active     |    1|Apache Felix Bundle Repository (2.0.10)|2.0.10
+     4|Active     |    1|Apache Felix Gogo Command (1.0.2)|1.0.2
+     5|Active     |    1|Apache Felix Gogo JLine Shell (1.0.6)|1.0.6
+     6|Active     |    1|Apache Felix Gogo Runtime (1.0.6)|1.0.6
+     7|Active     |    1|Apache Felix Declarative Services (2.0.10)|2.0.10
+     8|Active     |    1|Apache Felix Http Jetty (3.4.2)|3.4.2
+     9|Active     |    1|Apache Felix Servlet API (1.1.2)|1.1.2
+    10|Active     |    1|Apache Felix Http Whiteboard (3.0.0)|3.0.0
+    11|Active     |    1|Apache Felix Configuration Admin Service (1.8.14)|1.8.14
+    12|Active     |    1|Apache Felix EventAdmin (1.4.8)|1.4.8
+    13|Active     |    1|Apache Aries Containers API (0.0.1.201705261547)|0.0.1.201705261547
+    14|Active     |    1|Apache Aries Containers impl for local Docker use (0.0.1.201705291452)|0.0.1.201705291452
+    15|Active     |    1|slf4j-api (1.7.25)|1.7.25
+    16|Resolved   |    1|slf4j-simple (1.7.25)|1.7.25
+    17|Active     |    1|Container Example OSGi Servlet (0.0.1.201705291444)|0.0.1.201705291444
+
+Now you can access the servlet at http://localhost:8080/containers/manager
+
+image::containers/osgidemo.png[screenshot]
+
+After adding a container you can inspect its result by querying `docker` for its running containers:
+
+ $ docker ps
+ CONTAINER ID        IMAGE               COMMAND              STATUS              PORTS                   NAMES
+ 7cc5c753777e        httpd               "httpd-foreground"   Up 4 seconds        0.0.0.0:51467->80/tcp   myapache
+
+== Plain Java example
+
+This example launches a small Java Application to create a service deployment.
+Initially a single container is deployed.
+The user can  modify the number of replicas from within the application.
+
+The code can be found here: https://git-wip-us.apache.org/repos/asf?p=aries-containers.git;a=blob;f=containers-examples/containers-example-javaapp/src/main/java/org/apache/aries/containers/examples/javaapp/Main.java;hb=HEAD[Main.java]
+
+The main functionality is:
+
+....
+        ServiceManager sm = new LocalDockerServiceManager();
+
+        // If you want to run with Marathon, use the following line
+        // ServiceManager sm = new MarathonServiceManager("http://192.168.99.100:8080/");
+
+        ServiceConfig sc = ServiceConfig.builder("mytesthttpd", "httpd").
+            cpu(0.2).memory(32).port(80).build();
+        Service svc = sm.getService(sc);
+        // The service is now created
+....
+
+If you are running this the Docker local binding, you can see the docker container created:
+
+ $ docker ps
+ CONTAINER ID        IMAGE               COMMAND              STATUS              PORTS                   NAMES
+ 7cc5c753777e        httpd               "httpd-foreground"   Up 4 seconds        0.0.0.0:51467->80/tcp   mytesthttpd
+
+The example also allows scaling up and down of replica containers for this service.
+
+#Bindings
+
+##Docker Local
+
+This binding works by issuing `docker` commands on the local machine and is very useful for testing.
+Make sure the environment  variables normally provided via `docker-machine env <myenv>` are set.
+
+OSGi ServiceManager identifier property: `container.factory.binding = docker.local`
+
+Constructor, for use outside of OSGi: `org.apache.aries.containers.docker.local.impl.LocalDockerServiceManager`
+
+##Marathon
+
+This binding uses Marathon as the underlying container manager.
+It requires the following configuration to be set:
+
+ service.pid: org.apache.aries.containers.marathon
+   marathon.url=<the URL where marathon can be contacted>
+
+Once configured, the Marathon binding will register its OSGi service.
+
+OSGi ServiceManager identifier property: `container.factory.binding = marathon`
+
+Constructors, for use outside of OSGi: `org.apache.aries.containers.marathon.impl.MarathonServiceManager`
+
+....
+/**
+ * Create the Marathon Service Manager.
+ *
+ * @param marathonURL The Marathon URL
+ */
+public MarathonServiceManager(String marathonURL);
+
+/**
+ * Create the Marathon Service Manager for use with DC/OS.
+ *
+ * @param marathonURL The Marathon URL.
+ * @param dcosUser The DCOS user or service-user.
+ * @param passToken The password or token to use.
+ * @param serviceAcct `true` if this is a service account `false` if this is a plain user.
+ */
+public MarathonServiceManager(String marathonURL, String dcosUser, String passToken, boolean serviceAcct);
+....
diff --git a/modules/ROOT/pages/modules/ebamavenpluginproject.adoc b/modules/ROOT/pages/modules/ebamavenpluginproject.adoc
new file mode 100644
index 0000000..9353df5
--- /dev/null
+++ b/modules/ROOT/pages/modules/ebamavenpluginproject.adoc
@@ -0,0 +1,136 @@
+:doctype: book
+
+Title: EBAMavenPluginProject
+
++++<a name="EBAMavenPluginProject-EBAMavenPlugin">++++++</a>+++
+
+= EBA Maven Plugin
+
+The EBA Maven Plugin provides the ability to generate EBA archives using Maven.
+The EBA archive format is described in link:applications.html[Applications] .  An EBA archive can optionally contain an Application manifest (APPLICATION.MF).
+This can be added in one of two ways
+
+. Hand written and added into the archive.
+. Generated based on pom configuration.
+
++++<a name="EBAMavenPluginProject-UsingthePlugin">++++++</a>+++
+
+== Using the Plugin
+
+The plugin is included by as follows:
+
+     <build>
+ 	<plugins>
+ 	    <plugin>
+ 		<groupId>org.apache.aries</groupId>
+ 		<artifactId>eba-maven-plugin</artifactId>
+ 	    </plugin>
+ 	</plugins>
+     </build>
+
+By default it will not generate a manifest, so in the above example it will attempt to copy a pre-defined APPLICATION.MF from src/main/resources/META-INF.
+If that file does not exist, then no application manifest will be included.
+
++++<a name="EBAMavenPluginProject-GeneratinganAPPLICATION.MF">++++++</a>+++
+
+== Generating an APPLICATION.MF
+
+The following example shows how to get the plugin to generate an APPLICATION.MF based on the pom configuration:
+
+     <build>
+ 	<plugins>
+ 	    <plugin>
+ 		<groupId>org.apache.aries</groupId>
+ 		<artifactId>eba-maven-plugin</artifactId>
+ 		<configuration>
+ 		    <generateManifest>true</generateManifest>
+ 		</configuration>
+ 	    </plugin>
+ 	</plugins>
+     </build>
+
+The pom to application manfiest header mapping is as follows:
+
+* Pom +++<groupId>++++++</groupId>+++.+++<artifactId>++++++</artifactId>+++ \-> Application-SymbolicName
+* Pom +++<name>++++++</name>+++ \-> Application-Name
+* Pom +++<version>++++++</version>+++ \-> Application-Version (cleaned up for OSGi)
+* Pom +++<description>++++++</description>+++ \-> Application-Description
+* Pom +++<dependencies>++++++</dependencies>+++ \-> Application-Content
+
++++<a name="EBAMavenPluginProject-OverridingApplication-SymbolicName">++++++</a>+++
+
+== Overriding Application-SymbolicName
+
+The application symbolic name defaults to the ${project.groupId}.${project.artifaceId}.
+The following shows how to override this:
+
+ <configuration>
+   <instructions>
+     <Application-SymbolicName>${project.artifaceId}</Application-SymbolicName>
+   </instructions>
+ </configuration>
+
++++<a name="EBAMavenPluginProject-AddingApplication-ExportServiceandApplication-ImportServiceheaders">++++++</a>+++
+
+== Adding Application-ExportService and Application-ImportService headers
+
+The application import service and export service headers can be set as follows.
+The text inside the elements is included as-is.
+
+ <configuration>
+   <instructions>
+     <Application-ExportService>...</Application-ExportService>
+     <Application-ImportService>...</Application-ImportService>
+   </instructions>
+ </configuration>
+
++++<a name="EBAMavenPluginProject-AddingUseBundleheader">++++++</a>+++
+
+== Adding the Use-Bundle header
+
+The application Use-Bundle header can be set as follows.
+The text inside the elements is included as-is.
+
+ <configuration>
+   <instructions>
+     <Use-Bundle>...</Use-Bundle>
+   </instructions>
+ </configuration>
+
++++<a name="EBAMavenPluginProject-Includingtransitivedependencies">++++++</a>+++
+
+== Including transitive dependencies (deprecated)
+
+This configuration option is deprecated in favor of +++<archiveContent>++++++</archiveContent>+++.
+
+By default, the archive will only include the direct dependencies of the project.
+Transitive dependencies can be includes as follows:
+
+ <configuration>
+   <useTransitiveDependencies>true</useTransitiveDependencies>
+ </configuration>
+
++++<a name="EBAMavenPluginProject-Archivecontent">++++++</a>+++
+
+== Including bundles in the archive
+
+By default, the archive will only include the direct dependencies of the project.
+The `<archiveContent/>` element can be used to control the archive artifact contents.
+The following shows how to include all direct and transitive dependencies.
+
+ <configuration>
+   <archiveContent>all</archiveContent>
+ </configuration>
+
+The following shows how to exclude all dependencies from the archive.
+This is useful if you just want the application definition and will use a bundle repository to provision the bundles during deployment.
+
+ <configuration>
+   <archiveContent>none</archiveContent>
+ </configuration>
+
+The following specifies the default of including only the direct dependencies (assumes the application contents and direct dependencies are the same).
+
+ <configuration>
+   <archiveContent>applicationContent</archiveContent>
+ </configuration>
diff --git a/modules/ROOT/pages/modules/esaanttask.adoc b/modules/ROOT/pages/modules/esaanttask.adoc
new file mode 100644
index 0000000..30c51bc
--- /dev/null
+++ b/modules/ROOT/pages/modules/esaanttask.adoc
@@ -0,0 +1,45 @@
+:doctype: book
+
+Title: Notice:    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.
+
+= ESA Ant Task
+
+This ant taskdef will help you to generate the Enterprise Subsystem Archive (*.esa) bundles, this could be used in traditional ant `taskdef` way in to the existing ant build scripts.
+
+= Getting Started
+
+Check out *Aries* project and from _esa-ant-task_ project run `mvn clean install`, add the generated jar from the `target` directory to your ant classpath  e.g.
+~/.ant/lib , or $ANT_HOME/lib etc.,
+
+The following example shows how this task could be integrated into an existing ant build script,
+
+  <project name="An ant example for esa-ant" default="default">
+
+            <description>
+                         A simple build file to demonstrate the use of esa-ant task
+              </description>
+
+             <taskdef name="esa" classname="org.apache.aries.ant.taskdefs.EsaTask" />
+
+                	<target name="default" description="builds esa with supplied SUBSYSTEM.MF">
+             		<esa destfile="demo.esa" symbolicname="test-esa" manifest="${basedir}/SUBSYSTEM.MF">
+             			<fileset dir="/tmp/esa-ant-demo">
+             				<include name="*.jar" />
+             			</fileset>
+             		</esa>
+             </target>
+
+             <target name="default2" description="generates the SUSBYSTEM.MF based on esa contents">
+             		<esa destfile="demo2.esa" symbolicname="test-esa" generatemanifest="true">
+             			<fileset dir="/tmp/esa-ant-demo">
+             				<include name="*.jar" />
+             			</fileset>
+             		</esa>
+             </target>
+
+  </project>
diff --git a/modules/ROOT/pages/modules/esamavenpluginproject.adoc b/modules/ROOT/pages/modules/esamavenpluginproject.adoc
new file mode 100644
index 0000000..f709c0c
--- /dev/null
+++ b/modules/ROOT/pages/modules/esamavenpluginproject.adoc
@@ -0,0 +1,164 @@
+:doctype: book
+
+Title: Notice:    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.
+
++++<a name="ESAMavenPluginProject-ESAMavenPlugin">++++++</a>+++
+
+= ESA Maven Plugin
+
+This page describes the `esa-maven-plugin` version 1.0.0 which is available from Maven Central.
+
+The ESA Maven Plugin provides the ability to generate ESA archives using Maven.
+The ESA archive format is defined in the Subsystems Service Specification which was part of http://www.osgi.org/Specifications/HomePage[OSGi Enterprise R5].
+An ESA archive can optionally contain an Subsystem manifest (`SUBSYSTEM.MF`).
+This can be added in one of two ways
+
+. Hand written and added into the archive.
+. Generated based on pom configuration.
+
++++<a name="ESAMavenPluginProject-UsingthePlugin">++++++</a>+++
+
+== Using the Plugin
+
+The plugin is included by as follows:
+
+....
+<project>
+  ...
+  <packaging>esa</packaging> <!-- set packaging type to esa -->
+
+  <build>
+	<plugins>
+	  <plugin>
+	    <groupId>org.apache.aries</groupId>
+	    <artifactId>esa-maven-plugin</artifactId>
+	    <version>1.0.0</version>
+        <extensions>true</extensions>
+	  </plugin>
+	</plugins>
+  </build>
+</project>
+....
+
+By default it will not generate a manifest, so in the above example it will attempt to copy a pre-defined `SUBSYSTEM.MF` from `src/main/resources/META-INF`.
+If that file does not exist, then no Subsystem manifest will be included.
+
++++<a name="ESAMavenPluginProject-GeneratinganSUBSYSTEM.MF">++++++</a>+++
+
+== Generating an SUBSYSTEM.MF
+
+The following example `pom.xml` shows how to get the plugin to generate an `SUBSYSTEM.MF` based on the pom configuration:
+
+....
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.something</groupId>
+  <artifactId>esa-maven-plugin-test</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>esa</packaging>
+
+  <dependencies>
+    <!-- Put some dependencies in here -->
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.aries</groupId>
+        <artifactId>esa-maven-plugin</artifactId>
+        <version>1.0.0</version>
+        <extensions>true</extensions>
+        <configuration>
+          <generateManifest>true</generateManifest>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
+....
+
+The pom to subsystem manfiest header mapping is as follows:
+
+* Pom <groupId/>.<artifactId/> \-> Subsystem-SymbolicName
+* Pom <name/> \-> Subsystem-Name
+* Pom <version/> \-> Subsystem-Version (cleaned up for OSGi)
+* Pom <description/> \-> Subsystem-Description
+* Pom <dependencies/> \-> Subsystem-Content
+
++++<a name="ESAMavenPluginProject-OverridingSubsystem-SymbolicName">++++++</a>+++
+
+== Overriding Subsystem-SymbolicName
+
+The subsystem symbolic name defaults to the ${project.groupId}.${project.artifactId}.
+The following shows how to override this:
+
+ <configuration>
+   <instructions>
+     <Subsystem-SymbolicName>${project.artifaceId}</Subsystem-SymbolicName>
+   </instructions>
+ </configuration>
+
++++<a name="ESAMavenPluginProject-Archivecontent">++++++</a>+++
+
+== Including bundles in the archive
+
+By default, the archive will only include the direct dependencies of the project.
+The `<archiveContent/>` element can be used to control the archive artifact contents.
+The following shows how to include all direct and transitive dependencies.
+
+ <configuration>
+   <archiveContent>all</archiveContent>
+ </configuration>
+
+The following shows how to exclude all dependencies from the archive.
+This is useful if you just want the subsystem definition and will use a bundle repository to provision the bundles during deployment.
+
+ <configuration>
+   <archiveContent>none</archiveContent>
+ </configuration>
+
+The following specifies the default of including only the direct dependencies (assumes the subsystem contents and direct dependencies are the same).
+
+ <configuration>
+   <archiveContent>content</archiveContent>
+ </configuration>
+
++++<a name="ESAMavenPluginProject-StartOrder">++++++</a>+++
+
+== Content Bundle Start Ordering
+
+By default, the Subsystem runtime can start content bundles in any order.
+The OSGi start level service is not applicable to subsystems.
+You can specify the start order of the bundles based on the order in which they're expressed as dependencies in the maven pom using the following:
+
+ <configuration>
+   <startOrder>dependencies</startOrder>
+ </configuration>
+
++++<a name="ESAMavenPluginProject-ExistingSUBSYSTEM.MF">++++++</a>+++
+
+== Including an Existing Subsystem manifest
+
+If you don't wish to generate the Subsystem manifest based on the pom configuration, you can add an existing one as follows:
+
+ <configuration>
+   <subsystemManifestFile>${basedir}/src/main/resources/OSGI-INF/SUBSYSTEM.MF</subsystemManifestFile>
+ </configuration>
+
++++<a name="ESAMavenPluginProject-OtherHeaders">++++++</a>+++
+
+== Including Other Headers
+
+You can add any other headers in addition to those calculated from the pom configuration.
+For example, the following specifies the Subsystem Use-Bundle header and sets the Subsystem-Type to be a feature:
+
+ <instructions>
+     <Use-Bundle>org.apache.aries.test.Bundle;version=1.0.0-SNAPSHOT</Use-Bundle>
+     <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
+ </instructions>
diff --git a/modules/ROOT/pages/modules/jmx.adoc b/modules/ROOT/pages/modules/jmx.adoc
new file mode 100644
index 0000000..e95ed3c
--- /dev/null
+++ b/modules/ROOT/pages/modules/jmx.adoc
@@ -0,0 +1,71 @@
+Title: JMX
+
++++<a name="JMX">++++++</a>+++ #JMX#
+
+This page describes the Aries JMX component.
+
+The Aries JMX component is the Reference Implementation of the  OSGi JMX Management Model Specification, chapter 124 in the  http://www.osgi.org/Download/Release5[OSGi Enterprise Specification].
+
+##Getting Started## To use the Aries JMX component, obtain the following:
+
+* The Aries JMX bundle, e.g.
+from Maven Central: http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22org.apache.aries.jmx%22[org.apache.aries.jmx]
+* The Aries Util bundle, e.g.
+from Maven Central: http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22org.apache.aries.util%22[org.apache.aries.util]
+
+As prescribed by the OSGi JMX specification, to hook it in with an MBean Server the relevant MBean Server needs to be registered in the OSGi Service Registry.
+
+The easiest way to get things to do this is to use the platform mbean server, and register that.
+For example create a simple bundle that contains the following Bundle Activator:
+
+....
+import java.lang.management.ManagementFactory;
+import javax.management.MBeanServer;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+  public void start(BundleContext context) throws Exception {
+    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+    context.registerService(MBeanServer.class.getName(), mbs, null);
+  }
+
+  public void stop(BundleContext context) throws Exception {}
+}
+....
+
+Then install the Aries JMX Bundle and the Aries Util Bundle and start everything:
+
+ g! lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (4.2.1)
+     1|Active     |    1|Apache Felix Bundle Repository (1.6.6)
+     2|Active     |    1|Apache Felix Gogo Command (0.12.0)
+     3|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
+     4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
+     5|Active     |    1|My Glue Activator (1.0.0)
+     6|Active     |    1|Apache Aries JMX Bundle (1.1.1)
+     7|Active     |    1|Apache Aries Util (1.1.0)
+
+Now you can access the OSGi functionality through MBeans, for example via jconsole: image:http://aries.apache.org/images/modules/jmx-screenshot.png[JMX Screenshot]
+
+##Blueprint Integration## TODO
+
+##Whiteboard support## The JMX Whiteboard support bundle allows registration of JMX MBeans through the OSGi service registry.
+As a prerequisite the Apache Aries JMX Whiteboard Bundle has to be installed.
+
+Once this is installed, register your services with the `jmx.objectname` service registration property.
+This is either a JMX `ObjectName` or a single String.
+The value is used as the JMX Object Name to register the MBean.
+If the property is of some other type a message is logged and the MBean is still registered if the service implements the `MBeanRegistration` interface and the implmentation provides the actual JMX Object Name to use for the registration.
+
+The name of the service as which the MBean service is registered is ignored by the Whiteboard.
+
+The service object, though, must be a valid JMX MBean: It has to either implement the `DynamicMBean` interface or implement an interface whose name is the object's (simple) class name with the `MBean` suffix.
+
+Additional Service Properties supported:
+
+* `warning.exceptions` (String+): One or more exception class names can be specified in this service property.
+If an exception occurs during the MBean registration and the exception is of one of these types mentioned, then this exception is logged as a warning.
+Otherwise the exception is logged as an error.
diff --git a/modules/ROOT/pages/modules/jndiproject.adoc b/modules/ROOT/pages/modules/jndiproject.adoc
new file mode 100644
index 0000000..1264b74
--- /dev/null
+++ b/modules/ROOT/pages/modules/jndiproject.adoc
@@ -0,0 +1,91 @@
+:doctype: book
+
+Title: JNDIProject +++<a name="JNDIProject-Overview">++++++</a>+++
+
+= JNDI
+
+The Aries JNDI project aims to provide a fully compliant implementation of the OSGi Alliance JNDI Service Specification.
+This specification details how to advertise InitialContextFactory and ObjectFactories in an OSGi environment.
+It also defines how to obtain services from the service registry via JNDI.
+
++++<a name="JNDIProject-ServiceRegistryaccessfromJNDI">++++++</a>+++
+
+== Service Registry access from JNDI
+
+The OSGi service registry provides a centralised register/query capability for OSGi services.
+A common pattern outside of OSGi is to make use of the JNDI API to access services from a directory system.
+The OSGi service registry can be viewed as an example of such a system.
+The Aries JNDI project provides two URL lookup mechanisms via JNDI that can be used to access the service registry.
+
++++<a name="JNDIProject-osgi:service">++++++</a>+++
+
+== osgi:service
+
+The osgi:service lookup scheme is defined by the JNDI Service Specification and follows the scheme:
+
+ osgi:service/<interface>[/<filter>](/<filter>.html)
+
+The interface part is an interface name, like javax.sql.DataSource, or javax.jms.ConnectionFactory.
+The filter allows selection based on the properties of the service.
+
+This example:
+
+....
+Context ctx = new InitialContext();
+
+Runnable r = (Runnable)ctx.lookup("osgi:service/java.lang.Runnable");
+....
+
+is equivalent to this code written to the OSGi service registry API.
+
+ BundleContext ctx = getABundleContext();
+ ServiceReference ref = ctx.getServiceReference("java.lang.Runnable");
+ if (ref != null) {
+     Runnable r = ctx.getService(ref);
+ }
+
+Lets say you wanted to filter for a Runnable with a property called _fred_ which was mapped to _wilma_.
+You could write
+
+....
+Context ctx = new InitialContext();
+
+Runnable r =
+(Runnable)ctx.lookup("osgi:service/java.lang.Runnable/(fred=wilma)");
+....
+
+which is equivalent to:
+
+ BundleContext ctx = getABundleContext();
+ ServiceReference[](.html)
+  refs = ctx.getServiceReference("java.lang.Runnable", "(fred=wilma)");
+ if (refs != null) {
+   Runnable r = ctx.getService(refs[refs.length - 1](refs.length---1.html)
+ ); }
+
+The osgi:service namepsace returns proxies, so if the Runnable was unregistered the proxy would switch to an equivalent alternative.
+If no such alternative exists then an org.osgi.framework.ServiceException with a type of ServiceException.UNREGISTERED.
+
++++<a name="JNDIProject-osgi:servicelist">++++++</a>+++
+
+== osgi:servicelist
+
+It is possible that there are multiple services in the registry that match.
+In this case the osgi:servicelist lookup scheme can be used.
+It has the same format as osgi:service, but it is designed to return multiple.
+
++++<a name="JNDIProject-aries:services">++++++</a>+++
+
+== aries:services
+
+The aries:services scheme works in the same way as the osgi:service scheme, but does not perform proxying.
+You get the actual object back.
+Care must be taken with this approach as the service could be unregistered, but the client cannot tell to stop using it.
+As a result it should only be used if the service is to be used for a short period of time.
+In addition their is no way to indicate that the client is no longer using the service, so clean up cannot occur.
+
++++<a name="JNDIProject-MoreInformation">++++++</a>+++
+
+== More Information
+
+For more information, check out section "126 JNDI Services Specification Version 1.0" in the "OSGi Service Platform Enterprise Specification, Release 4, Version 4.2" available for public download from the http://www.osgi.org/Download/Release4V42[OSGi Alliance] .
diff --git a/modules/ROOT/pages/modules/jpaproject.adoc b/modules/ROOT/pages/modules/jpaproject.adoc
new file mode 100644
index 0000000..c82b6af
--- /dev/null
+++ b/modules/ROOT/pages/modules/jpaproject.adoc
@@ -0,0 +1,234 @@
+:doctype: book
+
+Title: JPAProject
+
+= Aries JPA
+
+The Aries JPA project allows allows to use container managed persistence in OSGi in a modular and clean way.
+
+The core is the jpa.container module.
+It implements the "JPA Service Specification Version 1.0" from the OSGi  Enterprise Specification available for public download from the http://www.osgi.org/Download/Release4V42[OSGi Alliance].
+The jpa.blueprint module implements container managed persistence for Aries Blueprint using a programming model like in JEE.
+The jpa.support module provides support for container managed persistence for DS and other injection frameworks using the JPATemplate interface.
+
+See how it looks like in the See the https://github.com/apache/aries-jpa/tree/master/examples[Aries JPA examples].
+
+== Source repository
+
+https://git-wip-us.apache.org/repos/asf/aries-jpa.git[Git repository aries-jpa] at apache.
+https://github.com/apache/aries-jpa[Mirror of aries-jpa at github].
+
+== Persistence bundles
+
+A bundle is regarded as a persistence bundle if it contains the header *Meta-Persistence:*  in it's Manifest.
+The value of the Meta-Persistence: header is a comma separated list of locations where JPA persistence  descriptors can be found.
+If the header value is empty then a default of META-INF/persistence.xml is used.
+The persistence bundle typically also contains the JPA entities.
+
+For example:
+
+     Meta-Persistence:
+
+means that META-INF/persistence.xml will be searched for.
+For non standard locations:
+
+     Meta-Persistence: persistence/myPu.xml, pUnit.jar!/someFolder/anotherPu.xml
+
+means that the locations "persistence/myPu.xml" (relative to the root of the bundle), and  "someFolder/anotherPu.xml" (relative to the root of pUnit.jar, which is in the root of the bundle) will be searched.
+
+== The Aries JPA 2 modules
+
+Aries JPA consists of four bundles.
+
+=== Aries JPA container (org.apache.aries.jpa.container)
+
+The Aries JPA container bundle implements the OSGi JPA service specification.
+It tracks persistence unit bundles and creates an EntityManagerFactory service as soon as all dependencies are met.
+
+==== Specifying the PersistenceProvider
+
+For each persistence unit jpa container first determines which persistence provider to use by analyzing the "provider" property of persistence.xml.
+It will track a PersistenceProvider service that matches this name.
+If no such property is defined then the first  PersistenceProvider service found will be used.
+
+==== Specifying a DataSource
+
+The next step is to configure a DataSource.
+There are two ways to do this.
+The spec conform way is to use the database properties to determine which DataSourceFactory service to use and to configure it.
+
+Additionally aries jpa supports refering to a DataSource service using the jta-datasource or non-jta-datasource properties.
+The syntax is the aries jndi syntax to search for services.
+
+==== Properties of the published EntityManagerFactory service
+
+The EntityManagerFactory services will be registered with the following properties:
+
+* osgi.unit.name: this is the name of the persistence unit
+* osgi.unit.provider: this is the class name of the JPA PersistenceProvider that was used to create the EntityManagerFactory
+* org.apache.aries.jpa.container.managed: this property will be set to true, indicating this is a managed EntityManagerFactory.
+
+==== Useful notes
+
+* If using a JTA persistence unit keep in mind that you still have to supply a javax.sql.DataSource not an XADataSource.
+This DataSource must wrap an XADataSource and provide XA resource enlistment.
+The simplest way to achieve this is to use pax-jdbc.
+* As soon as PersistenceProvider and DataSource are available the EntityManagerFactory service is created.
+Aries JPA container also supports classpath scanning and load time weaving of JPA entities.
+* You should never call close on the EntityManagerFactory service.
+This call will be made by the container when the persistence bundle is removed or refreshed.
+If you do close the EntityManagerFactory service then it will be  closed for *all* users of the service.
+
+=== Aries JPA API (org.apache.aries.jpa.api)
+
+A set of interfaces to make it easier to use JPA in OSGi.
+It contains two main interfaces:
+
+* EmSupplier (*deprecated*): Allows to get a thread safe EntityManager and mark entry and exit of blocks that access the EntityManager.
+This is rather low level and meant to be used mainly by frameworks.
+* JpaTemplate: Allows to write closures that can safely access an EntityManager and are executed inside a transaction.
+
+=== Aries JPA support(org.apache.aries.jpa.support)
+
+For each EntityManagerFactory service this bundle provides additional services not defined in the OSGi spec that make it easier to use JPA without blueprint.
+
+* EmSuppler (*deprectaed*): Use the new thread safe EntityManager instead.
+* EntityManager: Thread safe EntityManager.
+Requires to be run inside a Coordination
+* JPATemplate: Is used similar to the spring JPATemplate.
+it takes care of the EntityManager lifecycle and transaction handling
+
+==== Thread safe EntityManager
+
+The plain EntityManager provided by the PersistenceProvider may only be used by one thread at a time.
+This is ok for EJB where there is a thread pool but not for OSGi where tpyically each class is just instantiated once and meant to be used multi threaded.
+
+So Aries JPA provides a thread safe EntityManager that can be safely used.
+An OSGi Coordinator service is used to bind the EntityManager to a thread and to manage its lifecycle.
+So to use the EntityManager service you need to make sure you only call it inside a Coordination.
+The EntityManager will be created on first access and bound to the Coordination.
+When the  outermost Coordination of the current thread exits the EntityManager will be closed.
+So typically the EntityManager is created per Request.
+
+Most users will not use the EntityManager service directly and instead either use the blueprint based Annotations or the JPATemplate.
+Both of these approaches take care of the transaction and Coordination handling transparently.
+
+=== Aries JPA blueprint extension (org.apache.aries.jpa.blueprint)
+
+Provides a blueprint extension for @PersistenceUnit and @PersistenceContext injection.
+To use the extension add this namespace to your blueprint
+
+     xmlns:jpa="http://aries.apache.org/xmlns/jpa/v2.0.0"
+
+and enable annotation support using the element +++<jpa:enable>++++++</jpa:enable>+++ on top level.
+Typically this namespace is used together with the transaction namespace to also provide annoation based transactions.
+
+For more details see the https://svn.apache.org/repos/asf/aries/trunk/jpa/examples/tasklist-blueprint/[Aries JPA blueprint example].
+
+= Creation of a JPA project using Maven
+
+The first step consist in to create a maven module and make the following modifications to allow to deploy  it as OSGI bundle on the platform and reference where the persistence XML file must loaded by the classpath to  allow to the JPA container to configure the project accordingly.
+
+**Step 1 : Create a bundle **
+
+OSGi bundles are mostly regular jars but they need to contain some special OSGi headers in the Manifest.
+The two changes make sure your maven project creates  a valid OSGi bundle.
+
+ <packaging>bundle</packaging>
+
+and that you must configure the maven-bundle-plugin (http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html) to generate the MANIFEST.MF file required by OSGI platform.
+
+ <plugin>
+   <groupId>org.apache.felix</groupId>
+   <artifactId>maven-bundle-plugin</artifactId>
+   <version>2.5.4</version>
+   <extensions>true</extensions>
+   <inherited>true</inherited>
+   <configuration>
+     <instructions>
+           <!-- Only needed for the persistence bundle containing the jpa Entities -->
+       <Meta-Persistence>META-INF/persistence.xml</Meta-Persistence>
+       <!-- Needed for runtime enhancement when using hibernate -->
+           <Dynamic-Import-Package>*, org.hibernate.proxy, javassist.util.proxy</Dynamic-Import-Package>
+     </instructions>
+   </configuration>
+ </plugin>
+
+*Step 2 : Adapt the persistence file*
+
+We will cover here how to modify a persistence.xml for OSGi usage.
+For the most part only the access to the DataSource has to be adapted for OSGi.
+With J2EE applications, you simply use the jdbc key with the name of the datasource associated (jdbc/reportincidentdb).
+In OSGi jndi support is provided by aries jndi  (http://aries.apache.org/modules/jndiproject.html).
+It bridges jndi names to OSGi services.
+We must define two parameters, the "osgi:service" wich will allow to lookup OSGI services, the interface "javax.sql.DataSource" and the name of the service "osgi.jndi.service.name", which is a filter property,  with its jndi name associated.
+
+To access to the datasource, you must provide within the +++<jta-data-source>+++or +++<non-jta-data-source>+++depending if you use transaction type JTA or RESOURCE_LOCAL.+++</non-jta-data-source>++++++</jta-data-source>+++
+
+ <persistence-unit name="tasklist" transaction-type="JTA">
+ <jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/tasklist)</jta-data-source>
+
+The other elements of the xml file are defined according to JPA specification.
+
+**Step 3.1 : Inject EntityManager into a bean and make it transactional **
+
+The goal of this step is to provide a DAO layer that looks like JEE code on the java level.
+For this we need to inject a thread safe EntityManager and ensure the DAO code is run inside a transational context.
+
+Aries JPA 1.x used a xml element inside each DAO bean to inject the EntityManager.
+This syntax is not suppoerted for Aries JPA 2.x anymore.
+Instead simply enable standard @PesistenceContext and @PersistenceUnit annotation support with the xml element +++<jpa:enable>++++++</jpa:enable>+++ on top level.
+
+The transactional context is established using the xml element +++<tx:transaction>+++on the bean level.
+In the example below we enable transactions for all DAO methods.
+The scope of the transaction can be defined using the attribute value.+++</tx:transaction>+++
+
+Example blueprint follows showing the full breadth of allowable injection syntax:
+
+ <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+   xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.2.0"
+   xmlns:jpa="http://aries.apache.org/xmlns/jpa/v2.0.0">
+   <jpa:enable />
+   <service ref="taskService" interface="org.apache.aries.jpa.example.tasklist.model.TaskService"/>
+   <bean class="org.apache.aries.jpa.example.tasklist.blueprint.impl.TaskServiceImpl"/>
+     <tx:transaction method="*"/>
+   </bean>
+ </blueprint>
+
+Make sure you inject the EntityManager in your DAO class like this:
+
+ @PersistenceContext(unitName="tasklist")
+ EntityManager em;
+
+See tasklist-blueprint example for details.
+
+**Step 3.2 : Use JPATemplate to work with JPA in declarative services **
+
+Inject the JPATemplate using a service reference:
+
+ @Reference(target = "(osgi.unit.name=tasklist)")
+ public void setJpaTemplate(JpaTemplate jpa) { ... }
+
+Use the JPATemplate to work with JPA Entities inside closures.
+
+....
+// txExpr if you need to return an object
+return jpa.txExpr(TransactionType.Required, em -> em.find(Task.class, id));
+
+// tx if you just execute code
+jpa.tx(em -> em.persist(task));
+....
+
+See the tasklist-ds example for details.
+
+*Step 4 : Package the solution*
+
+To package the solution, execute a "maven clean install" instruction.
+Installing Aries JPA and Aries Transaction into arbitrary containers is beyond the scope of this document.
+
+== Example
+
+To keep the installation instructions small we only cover installation into Apache Karaf 4.x.
+Karaf provides features for Aries JPA, Aries Transaction, Hibernate and Pax-jdbc so installation is very easy.
+
+See the https://github.com/apache/aries-jpa/tree/master/examples[README of the Aries JPA examples].
diff --git a/modules/ROOT/pages/modules/rsa.adoc b/modules/ROOT/pages/modules/rsa.adoc
new file mode 100644
index 0000000..596aaf5
--- /dev/null
+++ b/modules/ROOT/pages/modules/rsa.adoc
@@ -0,0 +1,99 @@
+:doctype: book
+
+Title: Remote Service Admin
+
+= RSA (Remote Service Admin)
+
+The Aries Remote Service Admin (RSA) project allows to transparently use OSGi services for remote communication.
+OSGi services can be marked for export by adding a service property `service.exported.interfaces=*`.
+Various other properties  can be used to customize how the service is to be exposed.
+
+For more information, check out section "122 JPA Service Specification Version 1.0" in the "OSGi Service Platform Enterprise Specification, Release 4, Version 4.2" available for public download from the http://www.osgi.org/Download/Release4V43[OSGi Alliance].
+
+== Source
+
+The Aries RSA source is in a separate https://git-wip-us.apache.org/repos/asf/aries-rsa.git[git repository aries-rsa] there is also a https://github.com/apache/aries-rsa[mirror on github].
+
+== Build
+
+ mvn clean install
+
+== Architecture
+
+image::https://cwiki.apache.org/confluence/download/attachments/30739778/remote-service-admin-spec.png?version=2&modificationDate=1362365400000&api=v2[Remote Service Admin Architecture overview]
+
+=== Some definitions
+
+* EndpointDescription Describes a remote service using service interfaces, remote url and all other properties to import the remote service.
+* EndpointListener a service that is to be notified when remote Endpoints described by OSGi filters appear or disappear.
+
+=== https://github.com/apache/aries-rsa/tree/master/topology-manager[Topology Manager]
+
+* Listens to local services and decides which to expose.
+It can also add properties to change the way services are exposed.
+For the services to be exported it calls RemoteServiceAdmin.exportService to do the actual export.
+Then notifies EndpointListeners about the new Endpoint.
+* Listens for service requests from consumers and creates EndpointListeners for these interests.
+
+The TopologyManager by default exposes all suitably marked local services for export and imports all service interests with matching  remote Endpoints.
+
+It is the best place to implement system wide governance rules.
+Some examples what can be done:
+
+* Enhancing all exposed remote endpoints with SSL, basic auth, logging
+* Exporting OSGi services with annotations for JAX-WS or JAX-RS even when not specially marked for export
+
+According to its role the TopologyManager of course does not directly implement the enhancements above.
+It simply creates the necessary calls to a suitable RemoteServiceAdmin.
+
+=== https://github.com/apache/aries-rsa/tree/master/rsa[Remote Service Admin]
+
+Is called by the Topology Manager to expose local services as remote endpoints and create local proxy services as clients for  remote endpoints.
+
+Aries RSA has a custom SPI https://github.com/apache/aries-rsa/blob/master/spi/src/main/java/org/apache/aries/rsa/spi/DistributionProvider.java[DistributionProvider] that allows to easily create new transports and serializations.
+Existing providers are:
+
+* http://cxf.apache.org/distributed-osgi.html[CXF-DOSGi]
+ ** uses Apache CXF for transport
+ ** service endpoints consumable with non-java software (XML/JSON)
+* https://github.com/apache/aries-rsa/tree/master/provider/tcp[TCP]
+ ** Java serialization over TCP (one port per service)
+ ** very few dependencies
+ ** easy to comprehend blueprint for own transport implementations
+* https://github.com/apache/aries-rsa/tree/master/provider/fastbin[Fastbin]
+ ** tuned Java serialization (or Protobuf) over TCP using NIO
+ ** multiplexing over a single port
+ ** transparently handles InputSteams and OutputStreams in remote services
+ ** synchronous and asnychronous calls supported
+
+=== Discovery
+
+A discovery implementation uses EndpointListeners to listen for local Endpoints and publishs them for other containers.
+It also listens to remote Endpoints and notifies EndpointListeners about their presence.
+
+Existing implementations:
+
+* https://github.com/apache/aries-rsa/tree/master/discovery/local[Local discovery] using xml descriptors
+* https://github.com/apache/aries-rsa/tree/master/discovery/zookeeper[Zookeeper based discovery]
+
+== A simple example using Apache Karaf
+
+See https://github.com/apache/aries-rsa/tree/master/examples/echotcp[EchoTCP example].
+Follow the Readme to install the example in Apache Karaf.
+
+The EchoTCP example implements a simple echo service that can be called remotely.
+The example uses declarative services to publish and bind services.
+
+=== Modules
+
+* api : EchoService interface
+* service : EchoService implementation
+* consumer : Small consumer that uses the EchoService
+
+The example installation uses the tcp transport to do the remoting but the example code is not tied to any transport.
+
+== Example using fastbin transport
+
+A similar https://github.com/apache/aries-rsa/tree/master/examples/echofastbin[example] exists for the fastbin transport . Follow the Readme to install the example in Apache Karaf.
+
+The example implements an echo service that showcases synchronous calls, asnychronous calls and InputStream as parameter and return value.
diff --git a/modules/ROOT/pages/modules/samples.adoc b/modules/ROOT/pages/modules/samples.adoc
new file mode 100644
index 0000000..36ac4f6
--- /dev/null
+++ b/modules/ROOT/pages/modules/samples.adoc
@@ -0,0 +1,23 @@
+:doctype: book
+
+Title: Samples
+
++++<a name="Samples-Samples">++++++</a>+++
+
+= Samples
+
+[discrete]
+=== link:samples/blog-sample.html[BlogSample]
+
+Includes Blueprint, WAB and JPA concepts delivered in a EBA.
+
+[discrete]
+=== link:samples/ariestrader.html[AriesTraderSample]
+
+Includes Blueprint, WAB and JPA concepts delivered in a EBA.
+You may also know this as the https://cwiki.apache.org/GMOxDOC22/daytrader-a-more-complex-application.html[Apache Geronimo Daytrader]  application, which has been migrated from a pure Java EE environment to a OSGi Blueprint model.
+
+[discrete]
+=== link:samples/goatsample.html[GOATSample]
+
+A graphical tool for displaying the status of, and relationships between, OSGi bundles running in an OSGi framework.
diff --git a/modules/ROOT/pages/modules/samples/ariestrader.adoc b/modules/ROOT/pages/modules/samples/ariestrader.adoc
new file mode 100644
index 0000000..6ae0219
--- /dev/null
+++ b/modules/ROOT/pages/modules/samples/ariestrader.adoc
@@ -0,0 +1,123 @@
+:doctype: book
+
+Title: AriesTrader
+
++++<a name="AriesTrader-TheAriesTraderSample">++++++</a>+++
+
+= The AriesTrader Sample
+
++++<a name="AriesTrader-Prereqs">++++++</a>+++
+
+[discrete]
+=== Prereqs
+
+{blank} +
+
+'''
+
+NOTE:
+
+These instructions are for the 0.2-incubating release of Aries.
+Instructions for older releases can be found link:archiveinstructions.html[here] . In the 0.2-incubating release the AriesTrader sample was changed such that it is no longer required for you to install Derby independently.
+The Derby version included in the sample is fully leveraged internally in the sample and therefore no additional Derby installation is required.
+However, there are steps required to initialize the Database from within the sample itself (see instructions below).
+
+'''
+
++++<a name="AriesTrader-CreatingtheOSGiplatform(equinox-test-harness)forAriesTrader">++++++</a>+++
+
+[discrete]
+=== Creating the OSGi platform (equinox-test-harness) for AriesTrader
+
+Download and unzip the source zip for the link:aries:downloads.html[latest release]  of Aries Samples and build the equinox-test-harness module under ariestrader:
+
+ cd samples-0.2-incubating/ariestrader/assemblies/equinox-test-harness
+ mvn install
+
+This procedure will pull in the binaries from the latest release and its dependencies.
+
++++<a name="AriesTrader-AlternativebuildusingApacheAriestrunk.">++++++</a>+++
+
+[discrete]
+=== Alternative build using Apache Aries trunk.
+
+As an alternative to using the released version you can also choose to work with the latest, unreleased code.
+This will require the use of subversion to checkout the code followed by building the entire Apache Aries project.
+Directions are provided here:  link:aries:buildingaries.html[Building Aries instructions] .
+
++++<a name="AriesTrader-StartingtheEquinoxTestHarnesstoruntheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Starting the Equinox Test Harness to run the AriesTrader sample
+
+AriesTrader needs a test harness to run in.
+For this purpose we are using an Equinox assembly that pulls in all of the necessary dependencies.
+
+The first task is to start the Apache Aries modules in an OSGi framework using the Eclipse Equinox test harness
+
+ cd samples-0.2-incubating/ariestrader/assemblies/equinox-test-harness/target
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show the active bundles but the AriesTrader application is not yet installed (with the exception of the ariestrader derby datasource which is started with the test harness for convenience).
+
++++<a name="AriesTrader-InstallingAriesTraderintheEquinoxTestHarness">++++++</a>+++
+
+[discrete]
+=== Installing AriesTrader in the Equinox Test Harness
+
+To install the AriesTrader application simply copy the eba for AriesTrader into the target/load directory, you will need to create this directory first.
++ For convenience the AriesTraders EBAs are copied into the target directory as part of creating the OSGi Equinox test harness.
+
+When using the "JDBC" only AriesTrader configuration which supports only jdbc persistence:
+
+ cp org.apache.aries.samples.ariestrader.jdbc-*.eba load/
+
+When using the "All" AriesTrader configuration which supports all currently available persistence modes:
+
+ cp org.apache.aries.samples.ariestrader.all-*.eba load/
+
+Now the 'ss' command should show all of the AriesTrader bundles in state 'ACTIVE'.
+
+If you subsequently delete org.apache.aries.samples.ariestrader.jdbc-_.eba or org.apache.aries.samples.ariestrader.all-_.eba from the target/load directory the application will be uninstalled.
+
++++<a name="AriesTrader-AccessingandusingtheAriesTradersample">++++++</a>+++
+
+[discrete]
+=== Accessing and using the AriesTrader sample
+
+Point your browser at http://localhost:8080/ariestrader/
+
+Select the "Configuration" tab and the "Configure AriesTrader run-time parameters" choice.
+Then select from among the available runtime modes (defauls to JDBC).
+Be sure to click "update config" to save your selection.
+
+At the moment the following persistence modes are available when using the "all" EBA:
+
+* JDBC persistence
+* JPA application managed entity manager persistence
+* JPA container managed entity managers using declarative transaction support
+
+By default, the sample starts with JDBC persistence.
+To select another persistence mechanism see the directions under "Accessing and using the AriesTrader sample.
+
+After selecting the persistence mode you must create the AriesTrader Database tables and indexs.
+Select the "Configuration" tab and the "(Re)-create AriesTrader Tables and Indexes".
+
+Next, you must seed the database with test content.
+Once again go to the "Configuration" tab but this time select "(Re)-populate AriesTrader Database" from the available choices to seed the database with a default set of users and stock quotes.
+You will see a number of quotes (default is 400) and users (default is 200) created.
+
+Select the "Trading & Portfolios" tab to use the mock trade application or the "Primitives" tab to run some of the web primitive tests (PingJSPEL is not currently working).
+You can also run the "Test AriesTrader Scenario" from the "Configuration" tab which will launch a new browser window and step through a trading scenario with each reload of the page.
+
++++<a name="AriesTrader-AbouttheAriesTraderSample">++++++</a>+++
+
+[discrete]
+=== About the AriesTrader Sample
+
+The AriesTrader sample is a modified version of the Apache Geronimo DayTrader sample.
+It has been somewhat simplified and reorganized to support the Apache Aries programming model.
+
+The AriesTrader sample bundles are organized like this:
+
+image::ariesTraderOverview2.png[at2]
diff --git a/modules/ROOT/pages/modules/samples/blog-sample.adoc b/modules/ROOT/pages/modules/samples/blog-sample.adoc
new file mode 100644
index 0000000..44416b3
--- /dev/null
+++ b/modules/ROOT/pages/modules/samples/blog-sample.adoc
@@ -0,0 +1,75 @@
+:doctype: book
+
+Title: Blog Sample
+
++++<a name="BlogSample-TheBlogSample">++++++</a>+++
+
+= The Blog Sample
+
++++<a name="BlogSample-RunningtheBlogSample">++++++</a>+++
+
+== Running the Blog Sample
+
+{blank} +
+
+'''
+
+NOTE: These instructions are for the current development stream of Aries.
+Instructions for older releases can be found link:/downloads/archived-releases.html[here] Instructions for the current release of Aries can be found link:/downloads/blogsample-0.3.html[here]
+
+'''
+
++++<a name="BlogSample-CreatetheOSGiplatformfortheBlogsample">++++++</a>+++
+
+=== Create the OSGi platform for the Blog sample
+
+Download and build the development stream of Aries, see link:/development/buildingaries.html[here]
+
+ cd samples/blog/blog-assembly/target
+ mkdir load
+
+The full Aries build builds the blog sample by default, all of the platform pre-reqs will be available in the target directory.
+Create the load directory.
+This used to be done automatically by Felix file install, but in more recent versions yo have to create your own.
++++<a name="BlogSample-RunningtheBlogsample">++++++</a>+++
+
+=== Running the Blog sample
+
+Start Aries in an OSGi framework (we're using Eclipse Equinox in this case)
+
+ java -jar osgi-3.5.0.v20090520.jar -console
+
+The OSGi console should start up, the 'ss' command should show all of the platform bundles in state 'ACTIVE'.
+
+To run the blog application (.eba file) copy
+
+ samples/blog/blog-jdbc-eba/target/*.eba
+
+into the load directory.
+
+Point your browser to http://localhost:8080/blog/
+
+If you subsequently delete the .eba from the load directory the application will be uninstalled.
+
++++<a name="BlogSample-RunningthesampleusingaJPApersistencelayer">++++++</a>+++
+
+=== Running the sample using a JPA persistence layer
+
+The first blog sample application was written to use a JDBC persistence layer.
+There is a second application implemented to demonstrate the JPA capability
+
+To run the blog sample which uses the JPA persistence layer, start the OSGi framework as before, remove any previous copies of the blog sample from the target/load directory, then copy
+
+ samples/blog/blog-jpa-eba/target/*.eba
+
+into the load directory.
+
+Finally, after typing 'refresh' at the OSGi console, point your browser at http://localhost:8080/blog/ . You should see something that looks precisely the same as the blog sample running with the JDBC persistence layer, but this time running using the JPA persistence layer.
+
++++<a name="BlogSample-AbouttheBlogsample">++++++</a>+++
+
+== About the Blog sample
+
+The blog sample components can be visualised like this:
+
+image::BlogSample.png[bs]
diff --git a/modules/ROOT/pages/modules/samples/goatsample.adoc b/modules/ROOT/pages/modules/samples/goatsample.adoc
new file mode 100644
index 0000000..49435f7
--- /dev/null
+++ b/modules/ROOT/pages/modules/samples/goatsample.adoc
@@ -0,0 +1,31 @@
+:doctype: book
+
+Title: GOATSample +++<a name="GOATSample-GOATSample">++++++</a>+++
+
+= GOAT Sample
+
+The Graphical OSGi Analysis Tool gives a way of displaying the status of bundles running in an OSGi framework.
+
++++<a name="GOATSample-GOATArchitecture">++++++</a>+++
+
+== GOAT Architecture
+
+See charts here: https://svn.apache.org/repos/asf/incubator/aries/documentation/samples/goat/
+
++++<a name="GOATSample-Model-assumptionsandconstraints">++++++</a>+++
+
+== Model - assumptions and constraints
+
++++<a name="GOATSample-Developmentto-dolist">++++++</a>+++
+
+== Development to-do list
+
+* Add RelationshipInfoListener to ServerSideClass.
+Should be similar to ComponenInfoListener (Done)
+* Move the ComponentInfoImpl and RelationshipInfoImpl classes out of Web bundle into API bundle.
+They don't really belong in the web bundle but had to be put here because DWR didn't work when they were in the info-provider bundle (Done).
+* Work out why the info-enhancer bundle doesn't start and fix it.(Done)
+* TwistieSection and TwistieAggregation need to merge to form one class (under elements) (Done)
+* We need to implement a loading dialog for first load.
+* Minor bug fix needed save coords (saving default doesn't work)
+* Investgate/recreate DWR bug
diff --git a/modules/ROOT/pages/modules/spi-fly.adoc b/modules/ROOT/pages/modules/spi-fly.adoc
new file mode 100644
index 0000000..5df07f3
--- /dev/null
+++ b/modules/ROOT/pages/modules/spi-fly.adoc
@@ -0,0 +1,233 @@
+Title: SPI Fly
+
+#SPI Fly#
+
+This page describes the SPI Fly component.
+The SPI Fly component is aimed at providing OSGi support for JRE SPI mechanisms, including the usage of +++<tt>+++java.util.ServiceLoader+++</tt>+++,  +++<tt>+++META-INF/services+++</tt>+++ and similar methods.
+
+SPI Fly is the Reference Implementation of the OSGi ServiceLoader Mediator specification, chapter 133 in the http://www.osgi.org/Download/Release5[OSGi  Enterprise Specification], available from version 5.
+
+##The Problem## Java's +++<tt>+++java.util.ServiceLoader.load()+++</tt>+++, other similar methods such as  +++<tt>+++sun.misc.Service.providers()+++</tt>+++ and also other static finder methods such as the  +++<tt>+++FactoryFinder.find()+++</tt>+++ methods try to locate 'service' implementations by looking for  resources in the META-INF/services directory of all the jars visible to the  *_Thread Context ClassLoader_* (TCCL).
+
+There are a number of issues with the above mechanisms when used in OSGi:
+
+. The Thread Context ClassLoader is not defined in general in an OSGi context.
+It can and has to be set by the caller and OSGi cannot generally enforce that.
+. A bundle can't Import-Package META-INF/services as potentially many bundles will contain this pseudo-package and the OSGi framework will only bind a single exporter to an importer for a given package.
+. Instantiating an SPI provider generally requires access to internal implementation classes, by exporting these classes an implementing bundle would break its encapsulation.
+. Even if an implementation class was exported, importing this class in a consumer bundle would bind it to the specific implementation package provided, which violates the principle of loose coupling.
+. Bundles have a dynamic life-cycle which means that provided services could disappear when a bundle is updated or uninstalled.
+The java.util.ServiceLoader API does not provide a mechanism to inform service consumers of such an event.
+
+The SPI Fly project makes it possible to use existing code that uses  +++<tt>+++ServiceLoader.load()+++</tt>+++ and similar mechanisms under OSGi.
+
+##Making it Work## In order to make ServiceLoader (and other similar SPI or plugin mechanisms) work under OSGi, calling code can be woven to set the TCCL to the appropriate providers very briefly, only for the duration of the call.
+The SPI Fly component does precisely this.
+
+SPI Fly supports two modes of operation:
+
+* OSGi Specification compliant configuration.
+This is based on OSGi generic requirements and capabilities and  provides portability across implementations of this specification.
+However, it only covers +++<tt>+++java.util.ServiceLoader+++</tt>+++.
+<<specconf,Find it here>>.
+* If you need to handle cases other than +++<tt>+++java.util.ServiceLoader+++</tt>+++, such as the various FactoryFinders,  +++<tt>+++javax.imageio.spi.ServiceRegistry+++</tt>+++, +++<tt>+++javax.sound.sampled.AudioSystem+++</tt>+++ or others that use the TCCL to find an implementation, you can use the <<specificconf,SPI Fly-specific configuration>>.
+
+Additionally, services found in the META-INF/services location in opted-in bundles will be registered in the OSGi Service  Registry so that OSGi-aware consumers can simply find them there.
+This is supported in both the spec-compliant as  well as the proprietary configuration modes.
+Each such service is registered in the OSGi Service Registry with  the _serviceloader.mediator_ service registration property set.
+
+##Getting SPI Fly##
+
+###+++<a id="releases">++++++</a>+++Releases### The latest release of the SPI-Fly components http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.aries.spifly%22[can be found on Maven Central].
+It can be obtained from Maven  Central using the links below.
+
+To use SPI Fly you need to decide whether to use the dynamic or static weaving version.
+More information about this can be found in the <<usage,usage section>>.
+
+*For use with dynamic weaving:*
+
+* http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22org.apache.aries.spifly.dynamic.bundle%22[SPI Fly Dynamic Weaving Bundle]
+
+Dependencies:
+
+* http://repo1.maven.org/maven2/org/apache/aries/org.apache.aries.util/1.1.1/org.apache.aries.util-1.1.1.jar[Aries Util 1.1.1]
+* http://repo1.maven.org/maven2/org/ow2/asm/asm-all/5.0.4/asm-all-5.0.4.jar[ASM 5.0.4]
+
+*For use with static weaving:*
+
+* http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22org.apache.aries.spifly.static.tool%22[SPI Fly Static Weaving command-line tool] (take the executable jar with dependencies)
+* http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22org.apache.aries.spifly.static.bundle%22[SPI Fly Static Weaving Bundle]
+
+Dependencies:
+
+* http://repo1.maven.org/maven2/org/apache/aries/org.apache.aries.util/1.1.1/org.apache.aries.util-1.1.1.jar[Aries Util 1.1.1]
+
+###Building the code### The code can be found in http://svn.apache.org/repos/asf/aries/trunk/spi-fly.
+
+To build, use Maven 3.x and run +++<tt>+++mvn install+++</tt>+++
+
+#+++<a id="specconf">++++++</a>+++Configuration: OSGi Spec-compliant# All the details surrounding this type of configuration are covered in the  http://www.osgi.org/Download/Release5[OSGi Enterprise Specification] (from version 5) chapter 133.
+This section provides a short overview.
+
+##Providers## SPI provider bundles opt in to being registered by specifying a requirement on the  +++<tt>+++osgi.serviceloader.registrar+++</tt>+++ extender.
+This is done by adding the following Bundle Manifest header.
+Without this they will not be considered by SPI Fly:
+
++++<tt>+++&nbsp;&nbsp;Require-Capability: osgi.extender;
+filter:="(osgi.extender=osgi.serviceloader.registrar)"+++</tt>+++
+
+Additionally, they need to provide capabilities for all the APIs that are exposed through this mechanism, for example:
+
++++<tt>+++&nbsp;&nbsp;Provide-Capability: osgi.serviceloader;
+osgi.serviceloader=org.apache.aries.spifly.mysvc.MySPIProvider+++</tt>+++
+
+While this example omits it, it is advisable to specify +++<tt>+++uses+++</tt>+++ constraints on the Provide-Capability header, to  ensure consistent class spaces.
+
+See the <<examples,+++<tt>+++spi-fly-example-provider2-bundle+++</tt>+++>> for an example of a spec-compliant provider.
+
+##Consumers##
+
+An SPI consumer (i.e.
+a bundle using the +++<tt>+++java.util.ServiceLoader.load()+++</tt>+++ API) needs to specify required capabilities in the Required-Capability Manifest header.
+Two different types of requirements must be specified:
+
+* A requirement on the SPI Fly processing mechanism.
+This is stated as follows + +++<tt>+++&nbsp;&nbsp;osgi.extender;
+filter:="(osgi.extender=osgi.serviceloader.processor)"+++</tt>+++ + without this requirement the bundle will not be considered for processing.
+* A requirement on the SPI that needs to be provided through this mechanism, for example + +++<tt>+++&nbsp;&nbsp;osgi.serviceloader;
+filter:="(osgi.serviceloader=org.apache.aries.spifly.mysvc.MySPIProvider)";cardinality:=multiple+++</tt>+++ + Note that the +++<tt>+++cardinality+++</tt>+++ directive is specified to allow multiple bundles to provide the requested capability, allowing provided services to come from more than one provider bundle.
+
+All requirements are combined into a single Require-Capability header:
+
++++<tt>+++&nbsp;&nbsp;Require-Capability: osgi.serviceloader;
+filter:="(osgi.serviceloader=org.apache.aries.spifly.mysvc.MySPIProvider)";cardinality:=multiple,osgi.extender;
+filter:="(osgi.extender=osgi.serviceloader.processor)"+++</tt>+++
+
+See the <<examples,+++<tt>+++spi-fly-example-client2-bundle+++</tt>+++>> for an example of a spec-compliant consumer.
+
+#+++<a id="specificconf">++++++</a>+++Configuration: SPI Fly-specific# This section describes how to use SPI Fly's proprietary configuration mechanism.
+It provides more features, but doesn't provide the  portability that spec-compliance configuration gives.
+If you  are only using SPI Fly with +++<tt>+++java.util.ServiceLoader+++</tt>+++ or you are only using the provided  services through the OSGi Service Registry, then consider using the <<specconf,spec-compliant>> configuration for portability.
+
+##Providers## First for all, SPI Fly needs to be made aware of any bundles that provide the services.
+These bundles are made visible through the TCCL for the duration of the +++<tt>+++ServiceLoader.load()+++</tt>+++ (or similar) call.
+
+To mark a bundle as a Provider, set the *+++<tt>+++SPI-Provider+++</tt>+++* manifest header:
+
+* _*SPI-Provider: **_ will consider all providers found in the META-INF/services directory and register them.
+* *SPI-Provider: org.acme.MySvc1, org.acme.MySvc2* will only consider MySvc1 and MySvc2.
+
+Additionally services found in META-INF/services are registered in the OSGi Service  Registry.
+
+The +++<tt>+++SPI-Provider+++</tt>+++ header can either be set in the providing bundle itself or in a wrapper bundle that holds the original unmodified jar containing the provider internally as a  on the +++<tt>+++Bundle-ClassPath+++</tt>+++.
+
+See the <<examples,+++<tt>+++spi-fly-example-provider1-bundle+++</tt>+++>> for an example of a provider using this type of configuration.
+
+##Consumers## Service consumers also need to opt in to the process.
+
+To specify a consumer, add the +++<tt>+++SPI-Consumer+++</tt>+++ manifest header to the client bundle.
+This header  will opt-in the bundle to the weaving process where for the duration of the specified call the TCCL will be set to the matching provider bundle(s).
+Some example SPI-Consumer headers are:
+
+* _*SPI-Consumer: **_ This is a shorthand for  +++<tt>+++java.util.ServiceLoader#load(java.lang.Class)+++</tt>+++ and will  automatically weave all +++<tt>+++ServiceLoader.load(Class)+++</tt>+++ calls.
+* *SPI-Consumer: java.util.ServiceLoader#load(java.lang.Class[org.apache.aries.mytest.MySPI])* Only process calls to +++<tt>+++ServiceLoader.load(Class)+++</tt>+++ when it is called with  +++<tt>+++MySPI.class+++</tt>+++ as argument.
+* *SPI-Consumer: javax.xml.parsers.DocumentBuilderFactory#newInstance()* weave clients that call +++<tt>+++DocumentBuilderFactory.newInstance()+++</tt>+++.
+* *SPI-Consumer: org.foo.Foo#someMthd(),org.bar.Bar#myMethod()* weave calls to +++<tt>+++Foo.someMthd()+++</tt>+++ and  +++<tt>+++Bar.myMethod()+++</tt>+++.
+
+See the <<examples,+++<tt>+++spi-fly-example-client1-bundle+++</tt>+++>> for an example of a consumer using this type of configuration.
+
+###Special Cases### SPI Fly can be used for most SPI provider/lookup systems that use the TCCL pattern to obtain implementations.
+However, some cases some _special treatment_ is needed.
+This special treatment is often needed when the API itself does not  match the name of the resources in META-INF/services, java.util.ServiceLoader is such a case, however SPI-Fly has built-in knowledge of ServiceLoader.
+Known APIs that require special treatment are listed below:
+
+* *javax.imageio.spi.ServiceRegistry*: This class is very much like java.util.ServiceLoader in that it can load any kind of API implementation.
+While SPI Fly knows about ServiceLoader and treats it specially, the ServiceRegistry class currently does not have special treatment.
+It can still be made to work but this requires the following header in the provider bundle: +++<tt>+++SPI-Provider:&nbsp;javax.imageio.spi.ServiceRegistry+++</tt>+++ on the client side you can use +++<tt>+++SPI-Consumer:&nbsp;javax.imageio.spi.ServiceRegistry#lookupProviders(java.lang.Class)+++</tt>+++  or +++<tt>+++SPI-Consumer:&nbsp;javax.imageio.spi.ServiceRegistry#lookupProviders+++</tt>+++
+* *javax.sound.sampled.AudioSystem*: This class uses sun.misc.Service under the covers (via com.sun.media.sound.JDK13Services)  which is a predecessor to java.util.ServiceLoader.
+There is no special treatment for sun.misc.Service in SPI Fly (yet), but the AudioSystem.getAudioInputStream() API can be made to work by explicitly listing it in the provider bundle  (the one that contains the relevant META-INF/services resources): +++<tt>+++SPI-Provider:&nbsp;javax.sound.sampled.AudioSystem+++</tt>+++ on the consumer side you can use +++<tt>+++SPI-Consumer:&nbsp;javax.sound.sampled.AudioSystem#getAudioInputStream +++</tt>+++
+
+#+++<a id="usage">++++++</a>+++Usage# There are currently two ways to use the SPI Fly component.
+If you have an OSGi  4.3 (or higher) compliant framework that supports WeavingHooks you can use the dynamic weaving approach.
+
+If you have an pre-4.3 OSGi framework or don't want to use bytecode weaving at runtime you  can use the static weaving approach.
+
+##Use with Dynamic Weaving## Install and start the <<releases,+++<tt>+++org.apache.aries.spifly.dynamic.bundle+++</tt>+++>> into the system.
+This bundle  has a dependency on +++<tt>+++http://search.maven.org/#artifactdetails%7Corg.ow2.asm%7Casm-all%7C5.0.4%7Cjar[org.objectweb.asm]+++</tt>+++ version 4.0 or newer and on the Aries  Util bundle.
+
+ g! lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (5.0.1)
+ ... bundles 1-4 are framework/console internal ones ...
+     5|Active     |    1|ASM all classes (5.0.4)
+     6|Active     |    1|Apache Aries Util (1.1.1)
+     7|Active     |    1|Apache Aries SPI Fly Dynamic Weaving Bundle
+
+Note that, as with any OSGi Bundle that uses the OSGi 4.3 WeavingHooks, the weaver bundle (+++<tt>+++org.apache.aries.spifly.dynamic.bundle+++</tt>+++ in the SPI Fly case) needs to  be active before any bundles that need to be dynamically woven.
+OSGi Start Levels can provide a mechanism to control this.
+
+##Use with Static Weaving## For static use, you need to weave the client bundle before installing it into the system.
+The modification changes the byte code around +++<tt>+++java.util.ServiceLoader.load()+++</tt>+++ or other calls in the  bundle and inserts calls to set the correct ThreadContextClassLoader around it.
+Provider bundles are still handled dynamically.
+
+###To statically weave a bundle### The easiest way to invoke the static weaver is to take the <<releases,+++<tt>+++org.apache.aries.spifly.static.tool+++</tt>+++>> jar with dependencies.
+
+Then run the static tool on any bundle that needs processing:
+
+....
+
+java -jar org.apache.aries.spifly.static.tool-1.0.2-jar-with-dependencies.jar mybundle.jar
+....
+
+This will produce a second bundle with the same name with the _spifly suffix appended, so  in this case the generated bundle will be called mybundle_spifly.jar.
+
+At runtime, install the <<releases,+++<tt>+++org.apache.aries.spifly.static.bundle+++</tt>+++>> into the system, like the dynamic weaving bundle it has a dependency on the Aries Util bundle:
+
+ g! lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (5.0.1)
+ ... bundles 1-4 are framework/console internal ones ...
+     5|Active     |    1|Apache Aries Util (1.1.1)
+     6|Active     |    1|Apache Aries SPI Fly Static Weaving Bundle
+
+Then install and start the statically woven bundle into the system.
+
+##+++<a id="examples">++++++</a>+++Examples## The +++<tt>+++spi-fly-examples+++</tt>+++ directory contains a number of example bundles that can be  used for testing or experimenting.
+
+The following modules can be found in this directory:
+
+* *spi-fly-example-spi-bundle* - a bundle providing an SPI interface used by the other example bundles.
+http://search.maven.org/remotecontent?filepath=org/apache/aries/spifly/examples/org.apache.aries.spifly.examples.spi.bundle/1.0.0/org.apache.aries.spifly.examples.spi.bundle-1.0.0.jar[osgi-bundle] http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-spi-bundle/[source]
+* *spi-fly-example-provider1-jar* - a plain jar file providing an implementation of the SPI (via +++<tt>+++META-INF/services+++</tt>+++).
+http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-provider1-jar/[source]
+* *spi-fly-example-provider1-bundle* - a bundle that wraps the jar file from the previous bullet and specifies it in its Bundle-ClassPath.
+This example represents the common case where an existing SPI provider is wrapped as-is in an OSGi bundle.
+This example uses the SPI Fly proprietary configuration.
+http://search.maven.org/remotecontent?filepath=org/apache/aries/spifly/examples/org.apache.aries.spifly.examples.provider1.bundle/1.0.0/org.apache.aries.spifly.examples.provider1.bundle-1.0.0.jar[osgi-bundle] http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-provider1-bundle/[source]
+* *spi-fly-example-provider2-bundle* - a bundle that directly provides an SPI service (via +++<tt>+++META-INF/services+++</tt>+++).
+This example uses OSGi  specification compliant configuration.
+http://search.maven.org/remotecontent?filepath=org/apache/aries/spifly/examples/org.apache.aries.spifly.examples.provider2.bundle/1.0.0/org.apache.aries.spifly.examples.provider2.bundle-1.0.0.jar[osgi-bundle] http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-provider2-bundle/[source]
+* *spi-fly-example-client1-jar* - a plain jar using java.util.ServiceLoader.load() to obtain and invoke all services provided of a certain SPI.
+http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-client1-jar/[source]
+* *spi-fly-example-client1-bundle* - a bundle that wraps the jar file from the previous bullet and lists it in its Bundle-ClassPath.
+This example represents the common case where an existing SPI consumer is wrapped as-is in an OSGi bundle.
+This example uses SPI Fly proprietary configuration.
+http://search.maven.org/remotecontent?filepath=org/apache/aries/spifly/examples/org.apache.aries.spifly.examples.client1.bundle/1.0.0/org.apache.aries.spifly.examples.client1.bundle-1.0.0.jar[osgi-bundle] http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-client1-bundle/[source]
+* *spi-fly-example-client2-bundle* - a bundle that has code that invokes +++<tt>+++java.util.ServiceLoader.load()+++</tt>+++ directly.
+This example uses OSGi specification compliant configuration.
+http://search.maven.org/remotecontent?filepath=org/apache/aries/spifly/examples/org.apache.aries.spifly.examples.client2.bundle/1.0.0/org.apache.aries.spifly.examples.client2.bundle-1.0.0.jar[osgi-bundle] http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-client2-bundle/[source]
+* *spi-fly-example-provider-consumer-bundle* - a bundle that is both a provider and a consumer at the same time.
+http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-provider-consumer-bundle/[source]
+* *spi-fly-example-resource-provider-bundle* and *spi-fly-example-resource-client-bundle* - these bundles show that SPI Fly can be used to control the TCCL in OSGi for any situation, in this case applied to resource loading via the TCCL.
+The provider bundle provides a resource used by the Foo.doit() API.
+The client bundle contains Foo.doit() and in there calls Thread.getContextClassLoader().getResource() to obtain the resource.
+The TCCL has visibility of the provider bundle because both bundles have the appropriate values set in the SPI-Provider and SPI-Consumer headers.
+Source http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-resource-provider-bundle/[here] and http://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-examples/spi-fly-example-resource-client-bundle/[here].
+
+##More Information## More information can be found at the following resources:
+
+* OSGi Service Loader Mediator specification.
+http://www.osgi.org/Download/Release5[OSGi Enterprise specification], Chapter 133.
+* OSGi Blog article: http://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html
diff --git a/modules/ROOT/pages/modules/subsystems.adoc b/modules/ROOT/pages/modules/subsystems.adoc
new file mode 100644
index 0000000..9870e19
--- /dev/null
+++ b/modules/ROOT/pages/modules/subsystems.adoc
@@ -0,0 +1,141 @@
+Title: Subsystems
+
+#OSGi Subsystems
+
+##Introduction
+
+Apache Aries Subsystems is the Reference Implementation of the OSGi Subsystems Specification, chapter 134 of the  http://www.osgi.org/Specifications/HomePage[OSGi Enterprise specifications].
+The Aries 1.x components implement the 1.0 version of the Subsystem spec.
+Aries 2.x and newer implement the 1.1 version of OSGi Subsystems.
+
+##Getting started
+
+This section shows the bundles to install to get the Subsystems implementation running in your favourite OSGi Framework.
+
+The Aries Subsystem implementation uses the OSGi Coordination service, the OSGi Resolver service, the OSGi Repository service and integrates with the OSGi Configuration Admin service.
+Additional  dependencies are the Aries Util bundle, the Equinox Region bundle and SLF4J for logging.
+
+The following are downloadable links (from Maven central) that  provide all the required components to get subsystems up and running with Apache Felix.
+Note that the Felix Framework distribution comes with OSGi Repository and Resolver implementations so these  do not need to be added.
+(When running Aries Subsystems with another OSGi Framework these must be provided.)
+
+* https://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.api/2.0.6/org.apache.aries.subsystem.api-2.0.6.jar[org.apache.aries.subsystem.api]
+* https://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.core/2.0.6/org.apache.aries.subsystem.core-2.0.6.jar[org.apache.aries.subsystem.core]
+* http://repo1.maven.org/maven2/org/apache/aries/org.apache.aries.util/1.1.1/org.apache.aries.util-1.1.1.jar[org.apache.aries.util]
+* https://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.configadmin/1.8.8/org.apache.felix.configadmin-1.8.8.jar[org.apache.felix.configadmin]
+* http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.coordinator/1.0.0/org.apache.felix.coordinator-1.0.0.jar[org.apache.felix.coordinator]
+* http://repo1.maven.org/maven2/org/eclipse/equinox/org.eclipse.equinox.region/1.2.101.v20150831-1342/org.eclipse.equinox.region-1.2.101.v20150831-1342.jar[org.eclipse.equinox.region]
+* http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar[slf4j-api]
+* http://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.12/slf4j-simple-1.7.12.jar[slf4j-simple] (or another slf4j binding)
+
+After installing and starting all these components the Felix runtime looks like this:
+
+ g! lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (5.4.0)|5.4.0
+     1|Active     |    1|Apache Felix Bundle Repository (2.0.6)|2.0.6
+     2|Active     |    1|Apache Felix Gogo Command (0.16.0)|0.16.0
+     3|Active     |    1|Apache Felix Gogo Runtime (0.16.2)|0.16.2
+     4|Active     |    1|Apache Felix Gogo Shell (0.10.0)|0.10.0
+     5|Active     |    1|Apache Aries Subsystem API (2.0.6)|2.0.6
+     6|Active     |    1|Apache Aries Subsystem Core (2.0.6)|2.0.6
+     7|Active     |    1|Apache Aries Util (1.1.1)|1.1.1
+     8|Active     |    1|Apache Felix Configuration Admin Service (1.8.8)|1.8.8
+     9|Active     |    1|Apache Felix Coordinator Service (1.0.0)|1.0.0
+    10|Resolved   |    1|Region Digraph (1.2.101.v20150831-1342)|1.2.101.v20150831-1342
+    11|Active     |    1|slf4j-api (1.7.12)|1.7.12
+    12|Resolved   |    1|slf4j-simple (1.7.12)|1.7.12
+    13|Active     |    1|org.osgi.service.subsystem.region.context.0 (1.0.0)|1.0.0
+
+The Region Digraph and slf4j-simple bundles are fragments, so they can not be started.
+You can see that the Subsystems implementation is operational as it created a synthesized bundle (13) to represent the root context.
+The subsystems implementation sometimes synthesizes a bundle to represent a subsystem.
+Whether or not this happens depends on  the isolation model of a subsystem.
+
+You can also see that the Subsystem service for the root subsystem has been registered by looking at the services registered by the Subsystem Core bundle (6):
+
+ g! inspect cap service 6
+ org.apache.aries.subsystem.core [6] provides:
+ ---------------------------------------------
+ service; org.osgi.service.subsystem.Subsystem, org.apache.aries.subsystem.AriesSubsystem with properties:
+    org.apache.aries.subsystem.service.regions = [org.eclipse.equinox.region.kernel]
+    subsystem.id = 0
+    subsystem.state = ACTIVE
+    subsystem.symbolicName = org.osgi.service.subsystem.root
+    subsystem.type = osgi.subsystem.application
+    subsystem.version = 1.0.0
+    ... other properties and services
+
+Each installed subsystem is represented by a serparate service.
+
+##Tools
+
+The Apache Aries community provides a number of tools that facilitate working with OSGi Subsystems:
+
+* Subsystem Gogo Command - a Gogo command to work with subsystems, for more info see below.
+* http://aries.apache.org/modules/esaanttask.html[esa-ant-task] - an Ant task to create .esa archives.
+* http://aries.apache.org/modules/esamavenpluginproject.html[eas-maven-plugin] - a Maven plugin to create .esa archives.
+
+=== Subsystem Gogo Command
+
+https://svn.apache.org/repos/asf/aries/trunk/subsystem/subsystem-gogo-command contains a simple bundle with Gogo commands to control subsystems.
+This bundle can also be downloaded from https://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.gogo-command/1.0.0/org.apache.aries.subsystem.gogo-command-1.0.0.jar[Maven Central here].
+
+After installing the gogo command bundle you can execute subsystem commands, for example:
+
+ g! subsystem:list
+ 0	ACTIVE	org.osgi.service.subsystem.root 1.0.0
+
+Use `subsystem:install` to install additional subsystems, for example one that is part of the `subsystem-itests` module:
+
+ g! subsystem:install file:/checkouts/aries/subsystem/subsystem-itests/target/feature1.esa
+ ...
+ Subsystem successfully installed: org.apache.aries.subsystem.feature1; id: 1
+
+This subsystem embeds another subsystem which automatically gets installed too.
+When you list all subsystems you can see both:
+
+ g! subsystem:list
+ 0	ACTIVE	org.osgi.service.subsystem.root 1.0.0
+ 1	INSTALLED	org.apache.aries.subsystem.feature1 1.0.0
+ 2	INSTALLED	org.apache.aries.subsystem.feature2 1.0.0
+
+Together, these subsystems contain 3 bundles:
+
+ g! lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (5.0.1)
+    ...
+    16|Installed  |    1|TB3 (1.0.0)
+    17|Installed  |    1|TB1 (1.0.0)
+    18|Installed  |    1|TB2 (2.0.0)
+
+Use `subsystem:start` to start a subsystem.
+This will start all its bundles and all the bundles of dependent subsystems.
+So the  following single command, starts 3 bundles:
+
+ g! subsystem:start 1
+ g! lb
+ START LEVEL 1
+    ID|State      |Level|Name
+     0|Active     |    0|System Bundle (5.0.1)
+     ...
+    16|Active     |    1|TB3 (1.0.0)
+    17|Active     |    1|TB1 (1.0.0)
+    18|Active     |    1|TB2 (2.0.0)
+
+=== Subsystem gogo commands
+
+The following commands are available from the subsystem-gogo-command bundle:
+
+* `subsystem:install <url>` - Install and resolve a subsystem.
+* `subsystem:list <subsystemId>` - List installed subsystems.
+* `subsystem:start <subsystemId>` - Start a subsystem and its dependencies.
+* `subsystem:stop <subsystemId>` - Stop a subsystem and its dependencies.
+* `subsystem:uninstall <subsystemId>` - Uninstall a subsystem and its dependencies.
+
+Note that, following the OSGi Subsystem specification, dependent subsystems are only stopped and uninstalled when the last using subsystem is stopped/uninstalled.
+
+##Development The Aries Subsystems code base can be found at the following location: https://svn.apache.org/repos/asf/aries/trunk/subsystem
diff --git a/modules/ROOT/pages/modules/transactioncontrol.adoc b/modules/ROOT/pages/modules/transactioncontrol.adoc
new file mode 100644
index 0000000..2d231a6
--- /dev/null
+++ b/modules/ROOT/pages/modules/transactioncontrol.adoc
@@ -0,0 +1,73 @@
+Title: Aries Transaction Control Service
+
+== OSGi Transaction Control Service
+
+This set of modules is an implementation of the proposed OSGi Transaction Control Service and related  services, such as JDBC and JPA resource providers.
+
+The Transaction Control Service (RFC-221) is an in-progress RFC publicly available from the OSGi  Alliance: https://github.com/osgi/design/blob/master/rfcs/rfc0221/rfc-0221-TransactionControl.pdf
+
+Given that the RFC is non-final the OSGi API declared in this project is subject to change at any time up  to its official release.
+Also the behaviour of this implementation may not always be up-to-date with the  latest wording in the RFC.
+The project maintainers will, however try to keep pace with the RFC, and to  ensure that the implementations are compliant with any OSGi specifications that result from the RFC.
+
+#Getting started
+
+The current released version of Transaction Control is 0.0.1, and it is available in https://mvnrepository.com/artifact/org.apache.aries.tx-control[Maven Central]
+
+If you're new to the Transaction Control service then we recommend that you read the  link:tx-control/quickstart.html[quickstart documentation first].
+
+More detailed documentation is available in the link:tx-control/index.html[Aries Transaction Control Project]
+
+== Why use the Transaction Control service?
+
+Simply put the Transaction Control service makes resource access easy!
+There's no need to worry about transaction lifecycle or closing connections, and there's built in support for useful features like  connection pooling.
+
+In addition to being simple the Transaction Control service also makes transaction management explicit.
+As a result it is easier to follow the transactions flowing throughout your code, and it protects you from the  link:tx-control/spring-tx.html[proxy problem] that declarative transaction strategies often suffer from.
+
+== Modules
+
+The following modules are available for use in OSGi
+
+. link:tx-control/localTransactions.html[tx-control-service-local] :- A purely local transaction control service implementation.
+This can be  used with any resource-local capable ResourceProvider
+. link:tx-control/xaTransactions.html[tx-control-service-xa] :- An XA-capable transaction control service implementation based on the  Geronimo Transaction Manager.
+This can be used with XA capable resources, or with local resources.
+Local resources will make use of the last-participant gambit.
+. link:tx-control/localJDBC.html[tx-control-provider-jdbc-local] :- A JDBC resource provider that provides connection pooling and that can integrate with local transactions.
+The JDBCConnectionProviderFactory service may be used  directly, or a service may be configured using the _org.apache.aries.tx.control.jdbc.local_ pid
+. link:tx-control/xaJDBC.html[tx-control-provider-jdbc-xa] :- A JDBC resource provider that provides connection pooling and  that can integrate with local or XA transactions.
+The JDBCConnectionProviderFactory service may be  used directly, or a service may be configured using the _org.apache.aries.tx.control.jdbc.xa_ pid
+. link:tx-control/localJPA.html[tx-control-provider-jpa-local] :- A JPA resource provider that can integrate with local transactions.
+The JPAEntityManagerProviderFactory service may be used directly, or a service may be configured using  the _org.apache.aries.tx.control.jpa.local_ pid.
+The implementation can also provide connection pooling  if required
+. link:tx-control/xaJPA.html[tx-control-provider-jpa-xa] :- A JDBC resource provider that integrates with XA transactions.
+The JPAEntityManagerProviderFactory service may be used directly, or a service may be configured using  the _org.apache.aries.tx.control.jpa.xa_ pid.
+The implementation can also provide connection pooling  if required
+
+=== Which modules should I use?
+
+If you wish to use entirely lightweight, resource-local transactions then it is best to pair the  tx-control-service-local and tx-control-provider-jdbc-local or tx-control-provider-jpa-local bundles.
+This will give transactional behaviour, but the result is _not guaranteed to be ACID if more than one  resource is used_.
+
+If ACID behaviour is needed across multiple resources then the tx-control-service-xa _must_ be used.
+This service also provides an XA enabled two-phase commit algorithm, and also allows for ACID  behaviour when _one_ of the resources only supports local transactions by using the last participant gambit.
+
+When using the XA Transaction control service then the tx-control-provider-jdbc-xa or  tx-control-provider-jpa-xa resource provider bundles should be used.
+
+*IT IS NOT RECOMMENDED* to use both tx-control-service-xa and tx-control-service-local at  the same time.
+This will be confusing, and may lead to problems if different parts of the application  bind to different service implementations.
+
+*NOTE:* There is also no reason to use the tx-control-provider-jdbc-local in addition to the  tx-control-provider-jdbc-xa service.
+Using both together is not typically harmful, however the  tx-control-provider-jdbc-xa bundle supports all of the same features as the  tx-control-provider-jdbc-local bundle.
+The same is *not* true of the JPA provider implementations.
+
+##Pre-release APIs
+
+As part of the Aries Transaction Control implementations pre-release versions of the OSGi Transaction Control API are provided.
+Rather than putting the API into the wrong package namespace, or outputting them at the wrong version, they will be exported with a mandatory attribute of `api.status=aries.prerelease`.
+
+By setting this attribute on their API imports users accept that the API may change without a change to the package version(s).
+These changes may, or may not, be binary compatible.
+Once the specification is final the attribute will be removed from the export.
diff --git a/modules/ROOT/pages/modules/transactionsproject.adoc b/modules/ROOT/pages/modules/transactionsproject.adoc
new file mode 100644
index 0000000..7ae764f
--- /dev/null
+++ b/modules/ROOT/pages/modules/transactionsproject.adoc
@@ -0,0 +1,7 @@
+Title: TransactionsProject
+
+The Aries JTA project focuses on making container managed transactions available as OSGi services.
+
+For more information, check out section "123 JTA Transaction Services Specification 1.0" in the "OSGi Service Platform Enterprise Specification, Release 4, Version 4.2" available for public download from the http://www.osgi.org/Download/Release4V42[OSGi Alliance]
+
+Some of the aspects of working with Aries JTA are already covered in the link:jpaproject.html[JPA module].
diff --git a/modules/ROOT/pages/modules/tx-control/advancedResourceProviders.adoc b/modules/ROOT/pages/modules/tx-control/advancedResourceProviders.adoc
new file mode 100644
index 0000000..a631767
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/advancedResourceProviders.adoc
@@ -0,0 +1,127 @@
+Title: Notice:    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.
+
+#Making your own Resource Provider
+
+The `TransactionControl` service is based around the use of `ResourceProvider` instances.
+When combined the client receives a thread-safe resource instance that they can use.
+
+Resource Provider implementations already exist for link:localJDBC.html[JDBC], link:xaJDBC.html[XA JDBC], link:localJPA.html[JPA] and link:xaJPA.html[XA JPA]
+
+##Create an interface
+
+If you need to create your own Resource Provider then you should define a sub-interface which declares the type of the resource.
+This allows clients type-safe access to the resources, and makes it easier to identify the right Resource Provider at runtime.
+
+ public interface MyCustomResourceProvider extends
+                     ResourceProvider<MyCustomResource> {}
+
+== Create an implementation
+
+The implementation of a ResourceProvider should return a thread-safe delegating proxy.
+This may be a dynamic proxy or a static one.
+The proxy delegates to the real resource, and is responsible for ensuring that the thread consistently accesses the same physical resource throughout the scope.
+Note that even  when multiple proxies are created they should share the same physical resource throughout the life of the context.
+
+=== Lifecycle - first access
+
+Whenever the resource is accessed then it must check to see whether it has already been accessed  within the current scope.
+If not then a resource should be selected and associated with the scope.
+This physical resource must then be used for the rest of the scope.
+
+Note that if there is no active scope when the resource is accessed then the resource access should  fail with a TransactionException.
+
+....
+/**
+ *  A resource method
+ */
+@Override
+public boolean doSomething() {
+    if(!txControl.activeScope()) {
+        throw new TransactionException("There is no scope currently active");
+    }
+
+    // Locate, or create and associate
+    MyCustomResource delegate = locateDelegate(txControl.getCurrentContext());
+
+    return delegate.doSomething();
+}
+....
+
+=== Lifecycle - enlisting
+
+If a transaction is active then the resource should enlist with it when it is first used.
+If the resource is usable with XA transactions then it should register an XAResource.
+
+....
+private MyCustomResource locateDelegate(TransactionContext context) {
+    MyCustomResource resource = findExisting(context);
+
+    if(resource != null) {
+        resource = getNewDelegate(context);
+
+        if(context.activeTransaction()) {
+            if(context.supportsXA()) {
+                context.registerXAResource(resource.getXAResource());
+            } else {
+                throw new TransactionException("The transaction does not support XA resources");
+            }
+        }
+        // Other resource preparation
+        ...
+    }
+
+    return resource;
+}
+....
+
+Local resources are similar, but they register a LocalResource, not an XAResource.
+
+....
+private MyCustomResource locateDelegate(TransactionContext context) {
+    MyCustomResource resource = findExisting(context);
+
+    if(resource != null) {
+        resource = getNewDelegate(context);
+
+        if(context.activeTransaction()) {
+            if(context.supportsLocal()) {
+                context.registerLocalResource(resource.getLocalesource());
+            } else {
+                throw new TransactionException("The transaction does not support Local resources");
+            }
+        }
+        // Other resource preparation
+        ...
+    }
+
+    return resource;
+}
+....
+
+=== Lifecycle - Tidying up
+
+In addition to registering with an active transaction the resource should also register for cleanup at the end of the scope.
+This may involve closing the physical resource, or returning it to a pool.
+
+....
+// Other resource preparation
+
+context.postCompletion(s -> resource.release());
+....
+
+##Other things to look out for...
+
+. A client must have a friendly way to access the ResourceProvider.
+This may be directly via the OSGi Service  Registry or via a factory service of some kind.
+. A resource must remain valid throughout a scope, therefore clients should not be able to close or return the resource by making calls on the thread-safe proxy.
+Typically calls to close should be a silent no-op (the actual close will occur when the scope ends).
+. When a transaction is active clients must not be able to manually commit or rollback the resource.
+Methods like `commit`, `rollback` and `setRollbackOnly` must fail with a TransactionException indicating the incorrect usage.
+This is different from `close` behaviour because unlike deferring a `close` ignoring a `rollback` results in a  different overall result from the client's perspective.
+. Resources must not rely on the Transaction Control service recognising duplicate enlistments.
+A resource should be enlisted at most once.
diff --git a/modules/ROOT/pages/modules/tx-control/advancedScopes.adoc b/modules/ROOT/pages/modules/tx-control/advancedScopes.adoc
new file mode 100644
index 0000000..73d8c64
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/advancedScopes.adoc
@@ -0,0 +1,57 @@
+Title: Notice:    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.
+
+#Advanced Scope control
+
+There are a number of useful ways to interact with the scopes created by the Transaction Control Service
+
+== Determining the current scope
+
+The Transaction Control Service has methods which can be used to work out whether a scope is in effect:
+
+* `txControl.activeScope();` - When `true` there is a scope in effect and resources can be  accessed.
+The scope may, or may not, be transactional.
+When false there is no current scope and `txControl.getCurrentContext();` will return `null`.
+* `txControl.activeTransaction()` - When `true` there is a transactional scope in  effect and resources can be accessed transactionally.
+When false there may, or may not, be a "No Transaction" scope in effect.
+
+Note that `assert txControl.activeTransaction();` can be used to enforce the presence of a transaction.
+This is equivalent to a "Mandatory" transaction in Spring or Java EE.
+
+== Avoiding rollback
+
+When setting up a transaction certain exception types can be marked as not triggering rollback:
+
+ txControl.build()
+     .noRollbackFor(MyCustomException.class)
+     .required(() -> {
+             // A MyCustomException thrown here will not trigger rollback
+         });
+
+== Nesting a transaction
+
+Nesting a Transaction can easily be managed using `requiresNew()`
+
+ txControl.required(() -> {
+         // Do some work...
+
+         return txControl.requiresNew(() -> {
+                 // Do some more work
+             });
+     });
+
+== Suspending a transaction
+
+Suspending a Transaction can easily be managed using `notSupported()`
+
+ txControl.required(() -> {
+         // Do some work...
+
+         return txControl.notSupported(() -> {
+                 // Do some more work
+             });
+     });
diff --git a/modules/ROOT/pages/modules/tx-control/coordinator.adoc b/modules/ROOT/pages/modules/tx-control/coordinator.adoc
new file mode 100644
index 0000000..605910c
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/coordinator.adoc
@@ -0,0 +1,109 @@
+Title: Using the Coordinator to optimise Transactions Notice:    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.
+
+#Using the Coordinator to optimise Transactions
+
+The transaction control service provides a transactional scope around resource access, but sometimes it makes sense to delay doing this work until it can be batched efficiently together in a single transaction:
+
+##Bulk resource access
+
+In this case we simply do each insert in a separate transaction:
+
+ public void persistMessage(String message) {
+     txControl.required(() -> {
+             PreparedStatement ps = connection.prepareStatement(
+                     "Insert into TEST_TABLE values ( ? )");
+             ps.setString(1, message);
+             return ps.executeUpdate();
+         });
+ }
+
+If called a large number of times from an external service:
+
+....
+List<String> messages = getMessages();
+
+messages.stream()
+        .forEach(svc::persistMessage);
+....
+
+Then this code can be quite slow as the message list becomes large
+
+== The naive approach
+
+The obvious way to reduce overhead is to batch all of the inserts into a single transaction:
+
+....
+List<String> messages = getMessages();
+
+txControl.required(() -> {
+        messages.stream()
+            .forEach(svc::persistMessage);
+        return null;
+    });
+....
+
+This reuses the same physical connection each time, and it avoids repeated commits, so it should be faster right?
+
+Actually it turns out that this approach can be slower for some databases.
+By building up a very large  transaction it can actually slow down the rate at which data can be insterted.
+
+== Using the coordinator
+
+By adding in the Coordinator we can *dramatically* improve our performance:
+
+....
+public void persistMessage(String message) {
+    if(coordinator.addParticipant(this)) {
+        ((List<String>)coordinator.peek().getVariables()
+            .computeIfAbsent(getClass(), k -> new ArrayList<String>()))
+            .add(message);
+    } else {
+        txControl.required(() -> {
+                PreparedStatement ps = connection.prepareStatement(
+                        "Insert into TEST_TABLE values ( ? )");
+                ps.setString(1, message);
+                return ps.executeUpdate();
+            });
+    }
+}
+
+@Override
+public void ended(Coordination coord) throws Exception {
+    txControl.required(() -> {
+            List<String> l = (List<String>) coord.getVariables()
+                            .get(getClass());
+
+            PreparedStatement ps = connection.prepareStatement(
+                    "Insert into TEST_TABLE values ( ? )");
+
+            l.stream().forEach(s -> {
+            	 	try {
+                        ps.setString(1, s);
+                        ps.addBatch();
+            	 	} catch (SQLException sqle) {
+            	 		throw new RuntimeException(sqle);
+            	 	}
+                });
+
+            return ps.executeBatch();
+        });
+}
+....
+
+Now, if we do our bulk add inside a coordination:
+
+ coordinator.begin("foo", MINUTES.toMillis(5));
+ try {
+     messages.stream()
+             .forEach(this::persistMessage);
+ } finally {
+     coordinator.peek().end();
+ }
+
+Then we find that it is *much* faster!
+This is because we can make use of more efficient JDBC API, and because we can batch up a suitable number of inserts in a single transaction.
diff --git a/modules/ROOT/pages/modules/tx-control/exceptionManagement.adoc b/modules/ROOT/pages/modules/tx-control/exceptionManagement.adoc
new file mode 100644
index 0000000..c7594a8
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/exceptionManagement.adoc
@@ -0,0 +1,72 @@
+Title: Exception Management Notice:    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.
+
+#Exception Management
+
+Managing Exceptions should not be a core part of your business logic.
+In fact with the Transaction Control  Service is doing its job you shouldn't need to worry about exceptions at all!
+A key design goal for the Transaction Control Service is to avoid the need for try/catch/finally blocks as far as possible.
+
+##Throwing Exceptions from scoped work
+
+Resources can be tempramental sometimes, and usually have defined exceptions that are thrown in certain error cases.
+These can be generic, like `SQLException` or `JMSException`,  or specific like `EntityNotFoundException`.
+
+In any event - exceptions indicate that a problem has occurred.
+By default an exception thrown from inside a  transactional scope will cause the transaction to roll back.
+This means that the code can safely ignore any updates that were made.
+Furthermore, because a piece of scoped work is defined as a `Callable` it is not necessary to catch or wrap an Exception raised in a scope.
+
+ // An SQLException may be raised by the query,
+ // but we don't need to catch it
+ txControl.required(() -> connection.createStatement()
+     .executeQuery("Insert into TEST_TABLE values ( 'Hello World!' )"));
+
+##Catching Exceptions thrown from scoped work
+
+In general Exceptions should not form part of your client API, so catching an Exception from a piece of scoped  work is rarely necessary.
+Usually exceptions generated by scoped work are eventually handled by catch all  collectors at the incoming request point (for example a servlet) and do not require special handling.
+
+Sometimes, however, we have to work within an existing API that _does_ use an Exception as a type of  return value.
+In that case it is important to know what happened to the Exception.
+
+=== The `ScopedWorkException`
+
+Scoped work is free to throw checked or unchecked Exceptions, however these Exceptions cannot be directly thrown on by the TransactionControl implementation.
+The primary reason for this is that directly rethrowing the Exception would force users of the Transaction Control Service to either _always_ declare  `throws Exception` on their methods or to add try/catch blocks around every call.
+
+Exceptions generated as part of Scoped Work are therefore wrapped by the Transaction Control Service in a  `ScopedWorkException`.
+`ScopedWorkException` is an _unchecked exception_ and so can be ignored by your component if it does not require special handling (the typical case).
+
+=== Unwrapping the `ScopedWorkException`
+
+As mentioned above, sometimes it is necessary for an API to throw a particular type of Exception as a return value.
+
+This model can be supported by unwrapping the ScopedWorkException.
+
+ try {
+     txControl.required(() -> connection.createStatement()
+         .executeQuery("Insert into TEST_TABLE values ( 'Hello World!' )"));
+ } catch (ScopedWorkException swe) {
+     // This line throws the cause of the ScopedWorkException as
+     // an SQLException or as a RuntimeException if appropriate
+     throw swe.as(SQLException.class);
+ }
+
+This mechanism also supports multiple Exception types:
+
+ try {
+     txControl.required(() -> connection.createStatement()
+         .executeQuery("Insert into TEST_TABLE values ( 'Hello World!' )"));
+ } catch (ScopedWorkException swe) {
+     // This line throws the cause of the ScopedWorkException
+     // as one of the two SQLException types or as a
+     // RuntimeException if appropriate
+     throw swe.asOneOf(SQLRecoverableException.class, SQLTransientException.class);
+ }
+
+Note that if you unwrap a `ScopedWorkException` into a checked exception then you will have to list that Exception in your `throws` clause.
diff --git a/modules/ROOT/pages/modules/tx-control/index.adoc b/modules/ROOT/pages/modules/tx-control/index.adoc
new file mode 100644
index 0000000..5145d2d
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/index.adoc
@@ -0,0 +1,45 @@
+Title: The Aries Transaction Control Service Notice:    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.
+
+#The Transaction Control service
+
+If you're new to the Transaction Control service then we suggest that you read the link:quickstart.html[Quick Start Page] first.
+
+== Why use the Transaction Control service?
+
+Simply put the Transaction Control service makes resource access easy!
+There's no need to worry about transaction lifecycle or closing connections, and there's built in support for useful features like  connection pooling.
+
+###The Aries Transaction Control implementations
+
+These modules provide implementations of the TransactionControl service
+
+* link:localTransactions.html[The Local Transaction Control Service]
+* link:xaTransactions[The XA Transaction Control Service and Last Participant support]
+
+###Configuring JDBC access
+
+These modules provide portable JDBC resource providers with built in connection pooling and  transactional resource access
+
+* link:localJDBC.html[JDBC with Local Transactions]
+* link:xaJDBC.html[JDBC with XA Transactions]
+
+###Configuring JPA access
+
+These modules provide portable JPA resource providers for transactional resource access
+
+* link:localJPA.html[JPA with Local Transactions]
+* link:xaJPA.html[JPA with XA Transactions]
+
+###Advanced topics
+
+* link:coordinator.html[Using the Coordinator to optimise Transactions]
+* link:lastResourceGambit.html[Making use of the Last Resource Gambit]
+* link:advancedResourceProviders.html[Custom Resource Providers]
+* link:advancedScopes.html[Advanced Scope control]
+* link:exceptionManagement.html[Exception Management]
+* link:spring-tx.html[Migrating from Spring and Java EE Declarative Transactions]
diff --git a/modules/ROOT/pages/modules/tx-control/lastResourceGambit.adoc b/modules/ROOT/pages/modules/tx-control/lastResourceGambit.adoc
new file mode 100644
index 0000000..56e8fdb
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/lastResourceGambit.adoc
@@ -0,0 +1,55 @@
+Title: Using the Last Resource Gambit Notice:    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.
+
+#Using the Last Resource Gambit
+
+The Last Resource Gambit is a technique by which a non-XA capable resource may be (relatively) safely included in a two-phase commit transaction containing multiple resources.
+
+Importantly:
+
+* The transaction must be 2-phase (typically XA)
+* All but one of the resources must be XA capable
+* The Transaction Manager must support the Last Resource Gambit
+
+##How does it work?
+
+In a two phase commit/rollback the Transaction Manager prepares all of the resources before calling commit.
+This means that the resources have the opportunity to do any constraint checking and buffer flushing before committing, so that they know that a commit will succeed.
+If any of the prepare calls fail then all of the resources (including the ones that were already prepared) may be rolled back to ensure consistency.
+
+If a "local" (i.e.
+one phase) resource is included in the transaction then this model breaks.
+It is not possible to prepare a one-phase resource, so typically a transaction manager must "commit and hope" expecting that all other resources will commit successfully.
+
+In the case of the Last Resource Gambit this possiblity can be reduced to near zero by including the local resource as the "last resource".
+Specifically all of the XA resources are prepared, and if the prepare succeeds then the local resource is committed.
+If the commit succeeds then all of the XA resources are committed, otherwise the XA resources are rolled back.
+This model means that the overall transaction is robust to  resource failures.
+
+##Taking advantage of the Last Resource Gambit
+
+The link:xaTransactions.html[Aries XA Transaction Control service] implements the last resource gambit automatically, so there is nothing that needs to be explicitly done by the client to enable the behaviour, other than to use a local resource alongside XA resources.
+
+For example, if one database in use is HSQLDB, which does not support XA, but two others use H2,  which does support XA, then the following configurations would be used:
+
+_org.apache.aries.tx.control.jdbc.xa_
+
+ osgi.jdbc.driver.class=org.h2.Driver
+ url=jdbc:h2:tcp://192.168.1.31:12345/path/to/db
+
+_org.apache.aries.tx.control.jdbc.xa_
+
+ osgi.jdbc.driver.class=org.h2.Driver
+ url=jdbc:h2:tcp://192.168.1.63:23456/path/to/another/db
+
+_org.apache.aries.tx.control.jpa.local_
+
+ osgi.jdbc.driver.class=org.hsqldb.jdbc.JDBCDriver
+ url=jdbc:hsqldb:hsql://192.168.1.127/xdb"
+ osgi.unit.name=jpa-workspace
+
+If these three resource providers are used in the same transaction then the Last Resource Gambit will ensure that the one-phase resource is committed reliably.
diff --git a/modules/ROOT/pages/modules/tx-control/localJDBC.adoc b/modules/ROOT/pages/modules/tx-control/localJDBC.adoc
new file mode 100644
index 0000000..70358fb
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/localJDBC.adoc
@@ -0,0 +1,176 @@
+:doctype: book
+
+Title: Local JDBC Configuration Provider Notice:    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.
+
+#Aries OSGi Transaction Control JDBC Provider (Local)
+
+The Aries Local JDBC provider implementation is available at the following maven coordinates:
+
+     <dependency>
+         <groupId>org.apache.aries.tx-control</groupId>
+         <artifactId>tx-control-provider-jdbc-local</artifactId>
+         <version>${aries.tx.control.version}</version>
+     </dependency>
+
+This module is a prototype implementation of the OSGi Transaction Control JDBC resource provider.
+It supports Local transactions only.
+The provider also has built-in support for Database connection pooling using Hikari CP.
+
+== When should I use this module?
+
+If you wish to use entirely lightweight, resource-local transactions then it is best to pair this module  with the Aries Local Transaction Control service bundle.
+
+If two-phase commit is needed across multiple resources then an XA capable Resource Provider should be  used instead if possible.
+
+##Quick Start
+
+A configured JDBCConnectionProvider can be created quickly using Configuration Admin and the OSGi JDBC Service.
+
+. Find and install a JDBC Service implementation for your chosen database (e.g.
+the org.h2 bundle for H2)
+. Create a factory configuration using the factory pid `org.apache.aries.tx.control.jdbc.local`  and add the following properties:
+ ** _osgi.jdbc.driver.class_ :- The driver class name (e.g.
+org.h2.Driver)
+ ** _url_ :- The JDBC URL to use to connect to the database
+
+When the DataSourceFactory for the named `osgi.jdbc.driver.class` becomes available the Local JDBC Resource Provider will create a JDBCConnectionProvider and register it in the OSGi service registry.
+All configuration properties (apart from the database password) will be registered as  properties of the JDBCConnectionProvider service.
+These properties can be used to select a ResourceProvider if more than one is present in the Service Registry.
+
+= Using the Local JDBC Provider bundle (details)
+
+This Resource Provider is used in conjunction with a TransactionControl service to provide scoped  access to a JDBC connection with support for Local Transactions.
+
+When using local transactions the JDBC API is used to commit or rollback the Database connection.
+There is no need for client code to call commit, rollback, or close on the connection.
+
+== Creating a resource programmatically
+
+Preparing a resource for use is very simple.
+Create a `JDBCConnectionProvider` using the  `JDBCConnectionProviderFactory` service from the service registry, then connect that  provider to a `TransactionControl` service.
+This will return a thread-safe JDBC connection  that can then be used in any ongoing scoped work.
+
+The normal inputs to a JDBCConnectionProviderFactory are a DataSourceFactory, some JDBC  properties to connect to the database with, and some properties to control the resource provider  (such as connection pooling).
+
+###Declarative Services Example
+
+....
+@Component
+public class TransactionalJDBCComponent {
+    @Reference
+    TransactionControl txControl;
+
+    @Reference
+    DataSourceFactory dsf;
+
+    @Reference
+    JDBCConnectionProviderFactory providerFactory;
+
+    Connection conn;
+
+    @Activate
+    void start(Config config) {
+
+        Properties jdbcProps = new Properties();
+        jdbcProps.put(JDBC_URL, config.url());
+        jdbcProps.put(JDBC_USER, config.user());
+        jdbcProps.put(JDBC_PASSWORD, config._password());
+
+        Map<String, Object> providerProps = new HashMap<>();
+        providerProps.put(MAX_POOL_SIZE, 8);
+
+        conn = providerFactory.getProviderFor(dsf,
+        jdbcProps, providerProps).getResource(txControl);
+    }
+
+    public void findUserName(String id) {
+        txControl.required(() -> {
+                // Use the connection in here
+            });
+    }
+}
+....
+
+If a JDBC DataSource/Driver is already configured then it can be passed in to the  JDBCConnectionProviderFactory instead of a DataSourceFactory and JDBC configuration.
+
+== Creating a resource using a factory configuration
+
+Whilst it is simple to use a `JDBCConnectionProviderFactory` it does require some  lifecycle code to be written.
+It is therefore possible to directly create JDBC resources using factory  configurations.
+When created, the factory service will listen for an applicable DataSourceFactory.
+Once a suitable DataSourceFactory is available then a JDBCConnectionProvider service will be published.
+
+Configuration properties (except the JDBC password) are set as service properties for the registered  `JDBCConnectionProvider`.
+These properties may therefore be used in filters to select  a particular provider.
+
+###Declarative Services Example
+
+....
+@Component
+public class TransactionalJDBCComponent {
+
+    @Reference
+    TransactionControl control;
+
+    Connection conn;
+
+    @Reference(target="(dataSourceName=myDataSource)")
+    void setProvider(JDBCConnectionProvider provider) {
+         conn = provider.getResource(control);
+    }
+
+    public void findUserName(String id) {
+        control.required(() -> {
+                // Use the connection in here
+            });
+    }
+}
+....
+
+The factory pid is _org.apache.aries.tx.control.jdbc.local_ and it may use the following properties (all optional):
+
+=== Resource Provider properties
+
+* _aries.dsf.target.filter_ : The target filter to use when searching for a DataSourceFactory.
+If not specified then _osgi.jdbc.driver.class_ must be specified.
+* _aries.jdbc.property.names_ : The names of the properties to pass to the DataSourceFactory when creating the JDBC resources
+* _osgi.jdbc.driver.class_ : Used to locate the DataSourceFactory service if the _aries.dsf.target.filter_ is not set.
+* _osgi.local.enabled_ : Defaults to true.
+If false then resource creation will fail
+* _osgi.xa.enabled_ : Defaults to false.
+If true then resource creation will fail
+* _osgi.connection.pooling.enabled_ : Defaults to true.
+If true then the Database connections will be pooled.
+* _osgi.connection.max_ : Defaults to 10.
+The maximum number of connections that should be kept in the pool
+* _osgi.connection.min_ : Defaults to 10.
+The minimum number of connections that should be kept in the pool
+* _osgi.connection.timeout_ : Defaults to 30,000 (30 seconds).
+The maximum time in milliseconds to block when waiting for a database connection
+* _osgi.idle.timeout_ : Defaults to 180,000 (3 minutes).
+The time in milliseconds before an idle connection is eligible to be closed.
+* _osgi.connection.timeout_ : Defaults to 10,800,000 (3 hours).
+The maximum time in milliseconds that a connection may remain open before being closed.
+* _osgi.use.driver_ : Defaults to false.
+If true then use the createDriver method to connect to the database.
+
+=== JDBC properties
+
+The following properties will automatically be passed to the DataSourceFactory if they are present.
+The list of properties may be overridden using the _aries.jdbc.property.names_ property if necessary.
+
+* _databaseName_ : The name of the database
+* _dataSourceName_ : The name of the dataSource that will be created
+* _description_ : A description of the dataSource being created
+* _networkProtocol_ : The network protocol to use.
+* _portNumber_ : The port number to use
+* _roleName_ : The name of the JDBC role
+* _serverName_ : The name of the database server
+* _url_ : The JDBC url to use (often used instead of other properties such as _serverName_, _portNumber_ and _databaseName_).
+* _user_ : The JDBC user
+* _password_ : The JDBC password
diff --git a/modules/ROOT/pages/modules/tx-control/localJPA.adoc b/modules/ROOT/pages/modules/tx-control/localJPA.adoc
new file mode 100644
index 0000000..c97761d
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/localJPA.adoc
@@ -0,0 +1,209 @@
+:doctype: book
+
+Title: Aries Transaction Control JPA Provider (Local) Notice:    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.
+#Aries Transaction Control JPA Provider (Local)
+
+The Aries Local JPA provider implementation is available at the following maven coordinates:
+
+ <dependency>
+     <groupId>org.apache.aries.tx-control</groupId>
+     <artifactId>tx-control-provider-jpa-local</artifactId>
+     <version>${aries.tx.control.version}</version>
+ </dependency>
+
+This module is a prototype implementation of the OSGi Transaction Control JPA resource provider  using Local transactions.
+It supports JPA 2.1, and is tested against Hibernate 5.0.9 and EclipseLink 2.6.0.
+It also supports JPA 2.0, and is tested against OpenJPA 2.4.1.
+
+##Quick Start
+
+A configured `JPAEntityManagerProvider` can be created quickly using Configuration Admin, the OSGi JPA Service, and the OSGi JDBC Service.
+
+. Package the persistence unit in a persistence bundle
+. Find and install a JPA provider (for example Hibernate)
+. Find and install a JDBC Service implementation for your chosen database (e.g.
+the org.h2 bundle for H2)
+. Install a JPA service extender, such as the Apache Aries JPA container
+. Create a factory configuration using the factory pid `org.apache.aries.tx.control.jpa.local`  and add the following properties:
+ ** _osgi.jdbc.driver.class_ :- The driver class name for your database(e.g.
+org.h2.Driver)
+ ** _url_ :- The JDBC URL to use to connect to the database
+ ** _osgi.unit.name_ :- The name of the persistence unit
+
+When the DataSourceFactory for the named `osgi.jdbc.driver.class` and the  `EntityManagerFactoryBuilder` for the named `osgi.unit.name` become  available the Local JPA Resource Provider will create a JPAEntityManagerProvider and register it in the OSGi service registry.
+All configuration properties (apart from the database password) will be registered as  properties of the JPAEntityManagerProvider service.
+These properties can be used to select a ResourceProvider if more than one is present in the Service Registry.
+
+== When should I use this module?
+
+If you wish to use entirely lightweight, resource-local transactions then it is best to pair this module  with the `tx-control-service-local` bundle.
+
+If two-phase commit is needed across multiple resources then the `tx-control-service-xa` and  `tx-control-provider-jpa-xa` bundles should be used.
+
+= Using the JPA Provider bundle
+
+This Resource Provider is used in conjunction with a TransactionControl service to provide scoped  access to a JPA EntityManager.
+
+== Prerequisites
+
+In order to use scoped JPA access the runtime must contain a JPA provider (for example Hibernate),  an implementation of the OSGi JPA service (e.g.
+Aries JPA), and a persistence bundle.
+
+=== Suitable Persistence bundles
+
+OSGi Persistence bundles contain the persistence descriptor (typically an XML file called  META-INF/persistence.xml), all of the JPA Entities, and a Meta-Persistence header  pointing at the persistence descriptor.
+(See the JPA service specification for more details).
+
+Unlike "normal" JPA it is usually best not to fully declare the persistence unit in the persistence descriptor.
+In particular it is a good idea to avoid putting any database configuration in the persistence unit.
+By not configuring the database inside the bundle the persistence unit remains decoupled,  and can be reconfigured for any database at runtime.
+
+For example the following persistence unit:
+
+ <persistence-unit name="test-unit"/>
+
+can be reconfigured to use any database and to create/drop tables as appropriate.
+Configuration  for the persistence unit can be provided using Configuration Admin and the EntityManagerFactoryBuilder.
+
+== Creating a resource programmatically
+
+Preparing a resource for use is very simple.
+Create a JPAEntityManagerProvider using the the  JPAEntityManagerProviderFactory, then connect the provider to a TransactionControl service.
+This will return a thread-safe JPA EntityManager that can then be used in any ongoing scoped work.
+
+The normal inputs to a JPAEntityManagerProviderFactory are an EntityManagerFactoryBuilder,  some JPA properties to connect to the database with, and some properties to control the resource provider.
+
+=== Declarative Services Example
+
+....
+@Component
+public class TransactionalJPAComponent {
+    @Reference
+    TransactionControl txControl;
+
+    @Reference
+    DataSourceFactory dsf;
+
+    @Reference
+    EntityManagerFactoryBuilder emfb;
+
+    @Reference
+    JPAEntityManagerProviderFactory providerFactory;
+
+    EntityManager em;
+
+    @Activate
+    void start(Config config) {
+
+        Properties jdbcProps = new Properties();
+        jdbcProps.put(JDBC_URL, config.url());
+        jdbcProps.put(JDBC_USER, config.user());
+        jdbcProps.put(JDBC_PASSWORD, config._password());
+
+        Map<String, Object> jpaProps = new HashMap<>();
+        jpaProps.put("javax.persistence.nonJtaDataSource",
+                    dsf.createDataSource(jdbcProps));
+
+        em = providerFactory.getProviderFor(emfb, jpaProps,
+                    null).getResource(txControl);
+    }
+
+    public void findUserName(String id) {
+        txControl.required(() -> {
+                // Use the EntityManager in here
+            });
+    }  }
+....
+
+If the JPA EntityManagerFactory is already configured then it can be passed into the  JPAEntityManagerProviderFactory instead of an EntityManagerFactoryBuilder and JPA configuration.
+
+== Creating a resource using a factory configuration
+
+Whilst it is simple to use a EntityManagerFactoryBuilder it does require some lifecycle code to be written.
+It is therefore possible to directly create JPA resources using factory configurations.
+When created,  the factory service will listen for an applicable EntityManagerFactoryBuilder and potentially also a  DataSourceFactory.
+Once suitable services are available then a JPAEntityManagerProvider service  will be published.
+
+Configuration properties (except the JPA/JDBC password) are set as service properties for the registered  JPAEntityManagerProvider.
+These properties may therefore be used in filters to select a particular provider.
+
+....
+@Component
+public class TransactionalJDBCComponent {
+    @Reference
+    TransactionControl control;
+
+    EntityManager em;
+
+    @Reference(target="(osgi.unit.name=test-unit)")
+    void setProvider(JPAEntityManagerProvider provider) {
+        em = provider.getResource(control);
+    }
+
+    public void findUserName(String id) {
+        txControl.required(() -> {
+                // Use the connection in here
+            });
+    }  }
+....
+
+The factory pid is _org.apache.aries.tx.control.jpa.local_ and it may use the following properties  (all optional aside from _osgi.unit.name_):
+
+=== Resource Provider properties
+
+* _osgi.unit.name_ : The name of the persistence unit that this configuration relates to.
+* _aries.emf.builder.target.filter_ : The target filter to use when searching for an EntityManagerFactoryBuilder.
+If not specified then any builder for the named persistence unit will be used.
+* _aries.jpa.property.names_ : The names of the properties to pass to the EntityManagerFactoryBuilder when creating the EntityManagerFactory.
+By default all properties are copied.
+* _aries.dsf.target.filter_ : The target filter to use when searching for a DataSourceFactory.
+If not specified then _osgi.jdbc.driver.class_ must be specified.
+* _aries.jdbc.property.names_ : The names of the properties to pass to the DataSourceFactory when creating the JDBC resources.
+* _osgi.jdbc.driver.class_ : Used to locate the DataSourceFactory service if the _aries.dsf.target.filter_ is not set.
+* _osgi.local.enabled_ : Defaults to true.
+If false then resource creation will fail
+* _osgi.xa.enabled_ : Defaults to false.
+If true then resource creation will fail
+* _osgi.connection.pooling.enabled_ : Defaults to true.
+If true then the Database connections will be pooled.
+* _osgi.connection.max_ : Defaults to 10.
+The maximum number of connections that should be kept in the pool
+* _osgi.connection.min_ : Defaults to 10.
+The minimum number of connections that should be kept in the pool
+* _osgi.connection.timeout_ : Defaults to 30,000 (30 seconds).
+The maximum time in milliseconds to block when waiting for a database connection
+* _osgi.idle.timeout_ : Defaults to 180,000 (3 minutes).
+The time in milliseconds before an idle connection is eligible to be closed.
+* _osgi.connection.timeout_ : Defaults to 10,800,000 (3 hours).
+The maximum time in milliseconds that a connection may remain open before being closed.
+* _osgi.use.driver_ : Defaults to false.
+If true then use the createDriver method to connect to the database.
+
+=== JDBC properties
+
+The following properties will automatically be passed to the DataSourceFactory if they are present.
+The list of properties may be overridden using the _aries.jdbc.property.names_ property if necessary.
+
+* _databaseName_ : The name of the database
+* _dataSourceName_ : The name of the dataSource that will be created
+* _description_ : A description of the dataSource being created
+* _networkProtocol_ : The network protocol to use.
+* _portNumber_ : The port number to use
+* _roleName_ : The name of the JDBC role
+* _serverName_ : The name of the database server
+* _url_ : The JDBC url to use (often used instead of other properties such as _serverName_, _portNumber_ and _databaseName_).
+* _user_ : The JDBC user
+* _password_ : The JDBC password
+
+=== JPA properties
+
+The following properties are potentially useful when configuring JPA:
+
+_javax.persistence.schema-generation.database.action_ : May be used to automatically create the database tables (see the OSGi spec)
+
+* Other provider specific properties, for example configuring second-level caching.
diff --git a/modules/ROOT/pages/modules/tx-control/localTransactions.adoc b/modules/ROOT/pages/modules/tx-control/localTransactions.adoc
new file mode 100644
index 0000000..13790ef
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/localTransactions.adoc
@@ -0,0 +1,38 @@
+Title: Aries Local Transaction Control implementation Notice:    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.
+
+#Aries Local Transaction Control implementation
+
+The Aries Local Transaction control implementation is available at the following maven coordinates:
+
+     <dependency>
+         <groupId>org.apache.aries.tx-control</groupId>
+         <artifactId>tx-control-service-local</artifactId>
+         <version>${aries.tx.control.version}</version>
+     </dependency>
+
+== Using the Transaction Control Service
+
+For the basics of using the Transaction Control Service see the link:quickstart.html[Quick Start Documentation]
+
+As per the Transaction Control specification the Aries Local implementation registers a  TransactionControl service in the OSGi Service Registry with the `osgi.local.enabled` property set to `true`
+
+== Local Transactions
+
+Local transactions occur purely in-memory, and do not coordinate between resources.
+
+This means that Local Transactions are _not recoverable_ in the event of failure, and also that Local Transactions are _not_ atomic across multiple resources.
+In particular, if two  resources are accessed in a transaction (for example two different databases are modified) then it is possible that one resource will be committed and the other rolled back.
+
+Local transactions are therefore best suited to scenarios where only a single resource is accessed within the transaction, or where consistency between resources is not important.
+
+== Working with local transactions
+
+The Local Transaction Control Service supports participants in ongoing transactions via the  `registerLocalResource(LocalResource)` method.
+It does not support XA resources and will throw an `IllegalStateException` if `registerXAResource(XAResource)` is called.
+
+Lifecycle callbacks can be registered against the current scope using the  `preCompletion(Runnable)` and `postCompletion(Consumer)</code> methods.`
diff --git a/modules/ROOT/pages/modules/tx-control/quickstart.adoc b/modules/ROOT/pages/modules/tx-control/quickstart.adoc
new file mode 100644
index 0000000..48a50b8
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/quickstart.adoc
@@ -0,0 +1,108 @@
+Title: Notice:    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.
+
+#Getting started with the Transaction Control Service
+
+To make use of scoped resources and transactions using the transaction control service you need two things:
+
+* A `org.osgi.service.transaction.control.TransactionControl` implementation  (found in the service registry).
+You may want to start with link:localTransactions.html[local transactions].
+* A `org.osgi.service.transaction.control.ResourceProvider` for each of the  resources that you want to use.
+You may want to start with link:localJDBC.html[local JDBC].
+
+##Scoping Work using TransactionControl
+
+The Transaction Control Service defines three different scopes:
+
+* Unscoped - There is no scope associated with the current thread
+* _No Transaction Scope_ - There is a scope associated with the current thread, but no ongoing transaction
+* _Transactional Scope_ - There is an ongoing transaction associated with the current thread
+
+Scoped resources have different behaviours in each of these three scopes:
+
+* Unscoped - The resource is generally not usable and will throw exceptions
+* _No Transaction_ Scope - The same physical resource will be used throughout the scope,  and will be automatically tidied up at the end of the scope (e.g.
+closed or returned to a pool)
+* _Transactional Scope_ - The same physical resource will be used throughout the scope, will be  automatically committed or rolled back up at the end of the transaction, and then tidied up afterwards
+
+###Starting and Finishing scopes
+
+A scope is defined using a piece of work wrapped in a `Callable`.
+This means that it is lambda-friendly.
+
+ Integer result = txControl.required(() -> {
+         //Work goes in here
+         return 42;
+     });
+
+The scope starts immediately before the work is executed, and finishes immediately afterwards.
+The  `required` and `requiresNew` methods can be used to ensure that a  _Transactional_ scope has been started.
+The `supports` and `notSupported` methods can be used to ensure that a _No Transaction_ scope has been started.
+
+Simple scope management is perfect in most situations, but you may also wish to read about link:advancedScopes.html[more advanced scope control techniques] or link:exceptionManagement.html[exception management] once you've mastered the basics.
+There are also some things to consider if you're link:spring-tx.html[migrating from Spring or Java EE].
+
+##Accessing Resources
+
+A `ResourceProvider` is a generic factory for scoped resources.
+Typically you will use a more  specific interface for type safety.
+For example the Transaction Control specification defines  `JDBCConnectionProvider` and `JPAEntityManagerProvider` interfaces.
+If needed you can link:advancedResourceProviders.html[make your own ResourceProvider].
+
+To create your scoped resource you make one call to `getResource` passing in the  `TransactionControl` service that the resource should integrate with.
+The returned object is thread-safe, and can be cached for use in any scope.
+
+###Declarative Services Example
+
+The following component provides read and write access using JDBC to a list of messages created by a user.
+The transactionality and lifecycle of the database resources is automatically managed.
+
+....
+@Component
+public class MyDaoImpl implements MyDao {
+
+    @Reference
+    TransactionControl control;
+
+    Connection dbConn;
+
+    @Reference
+    void setResource(JDBCConnectionProvder provider) {
+        dbConn = provider.getResource(control);
+    }
+
+    @Override
+    public void saveMessage(String user, String message) {
+        txControl.required(() -> {
+                PreparedStatement ps = connection.prepareStatement(
+                        "Insert into MESSAGES values ( ?, ? )");
+                ps.setString(1, user);
+                ps.setString(2, message);
+                return ps.executeUpdate();
+            });
+    }
+
+    @Override
+    public void getMessagesForUser(String user) {
+        return txControl.supports(() -> {
+                PreparedStatement ps = connection.prepareStatement(
+                        "Select MESSAGE FROM MESSAGES WHERE USER = ?");
+                ps.setString(1, user);
+
+                List<String> result = new ArrayList<>();
+
+                ResultSet rs = ps.executeQuery();
+
+                while(rs.next()) {
+                    result.add(rs.getString(1));
+                }
+
+                return result;
+            });
+    }
+}
+....
diff --git a/modules/ROOT/pages/modules/tx-control/spring-tx.adoc b/modules/ROOT/pages/modules/tx-control/spring-tx.adoc
new file mode 100644
index 0000000..c89c867
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/spring-tx.adoc
@@ -0,0 +1,212 @@
+Title: Notice:    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.
+
+#Migrating from declarative transactions
+
+Many popular application containers, such as Spring or Java EE, offer declarative transaction management.
+Specifically, the container offers a model where transaction boundaries are defined using metadata, usually as annotations on public methods.
+
+== The Basics
+
+A typical transactional method in a declarative model might look like this:
+
+ @Transactional
+ public Long getCustomerId(String email) {
+     // Some business logic in here...
+ }
+
+Using Transaction control the same thing would look like:
+
+ public Long getCustomerId(String email) {
+     txControl.required(() -> {
+             // Some business logic in here...
+         });
+ }
+
+The main change is that the transactions have moved from being metadata defined, and started by the container, to being code defined and started by the Transaction Control service.
+This gives several significant advantages.
+
+== The Scoping Problem
+
+When using method-level metadata to define transaction boundaries it is not possible to manage transactions on a finer level.
+This makes it difficult to suspend or nest transactions unless you create a new method to hold the extra logic.
+
+=== A Simple Example
+
+If we want to write an audit message it usually needs to occur in a new transaction, as typically it should persist even if the overall action fails.
+In a declarative model this requires a separate method with a new boundary, even if the audit function is a private implementation detail of the Object.
+
+....
+@Transactional
+public void changePassword(String email, String password) {
+
+    auditPasswordChangeAttempt(email);
+
+    // Some business logic in here...
+}
+
+@Transactional(REQUIRES_NEW)
+public void auditPasswordChangeAttempt(String email) {
+    // One line to write the audit message
+}
+....
+
+With transaction control there is no need to create a method just for the internal audit function.
+
+@Transactional     public void changePassword(String email, String password) {
+
+....
+    txControl.required(() -> {
+
+            txControl.requiresNew(() -> {
+                    // One line to write the audit message
+                });
+
+            // Some business logic in here...
+        });
+}
+....
+
+== The Proxy Problem
+
+The Proxy problem is a rather insidious issue that affects declarative transactions, and it is a result of how they are implemented.
+If bytecode weaving is used to directly add transactional behaviour to an object then it will always work the same way.
+Most solutions, however, do not use bytecode weaving, but instead use a proxy pattern.
+When a call is made on the proxy the proxy will perform any necessary transaction management before and after delegating the call to the real object.
+This works well, except if the object makes any internal method calls.
+
+In the general case proxying is unsafe because you cannot rely on a method's metadata to decide what  transaction state will exist when it is called!
+
+=== Examples of the Proxy Problem
+
+The following examples are all based on real code migrated from Spring to Transaction Control.
+
+==== A Simple Example
+
+....
+AbstractPersistenceDataManagerImpl {
+
+    @Transactional(propagation = SUPPORTS, readOnly = true)
+    public <T> T search(Class<T> entityClass, Object pk, Object params) {
+        return (T) find(entityClass, pk, params);
+    }
+
+    @Transactional(readOnly = true)
+    public UniWorksSuperDBEntity find(Class entityClass, Object pk, Object params) {
+        return (UniWorksSuperDBEntity) em.find(entityClass, pk);
+    }
+}
+....
+
+In this case the `search` method does not require a transaction, but delegates to the  `find` method which does.
+If proxying is used then the `find` method will sometimes run in a transaction and sometimes not.
+On the other hand, if weaving is used then the `find` method will _always_ run under a transaction This may seem innocuous, but it  can cause big problems.
+We always want to be certain about where a transaction will start and stop!
+
+==== Extending the Simple Example
+
+The following type is part of the same project as the previous example, and interacts with it.
+
+....
+AbstractDataManager {
+
+    @Transactional(propagation = NOT_SUPPORTED, readOnly = true)
+    public UniWorksSuperDTO search(Object pk, Object params) {
+
+        UniWorksSuperDBEntity entity = persistenceDataManager
+                .search(getEntityClass(), createNewPKFromDTOPK(pk), null);
+
+        loadLinkedTablesTop(entity, params);
+    }
+
+    protected final void loadLinkedTablesTop(UniWorksSuperDBEntity entity, Object params) {
+        loadLinkedTables(entity, params);
+    }
+
+    @Transactional(readOnly = true)
+    public void loadLinkedTables(UniWorksSuperDBEntity entity, Object params) {
+        loadLinkedTablesGenerated(entity, params);
+        loadLinkedTransients(entity, params);
+    }
+}
+....
+
+Now lets imagine that a call comes in to the `search` method of this class from some client.
+
+===== Proxied
+
+. The container proxy for the data manager halts any ongoing transaction due to the  `NOT_SUPPORTED` metadata, entering an undefined scope.
+. The code calls search on the persistenceDataManager
+. The container proxy for the persistence data manager does not start or stop a transaction due to the `SUPPORTS` scope.
+. The code calls `find` on the persistenceDataManager, but without touching the proxy.
+. The code accesses the entity outside a transaction
+. The code returns the entity, and no transaction change is necessary
+. The code calls loadLinkedTablesTop, which calls loadLinkedTables.
+No proxy is touched therefore no  transaction is started.
+. The Tables are populated with data from the entity.
+Lazy loading is possible as the entity is still attached.
+
+===== Woven
+
+. The weaving code for the data manager halts any ongoing transaction due to the  `NOT_SUPPORTED` metadata, entering an undefined scope.
+. The code calls search on the persistenceDataManager
+. The weaving code for the persistence data manager does not start or stop a transaction due to the `SUPPORTS` scope.
+. The code calls `find` on the persistenceDataManager, at this point the weaving code starts a transaction.
+. The code accesses the entity inside the transaction
+. The code returns the entity, and the transaction completes.
+This detaches the entity and prevents lazy loading.
+. The code calls loadLinkedTablesTop, which calls loadLinkedTables.
+The weaving code starts a new  transaction.
+. The Code fails as the entity is not able to access its lazily loaded data.
+
+=== Strategies for Managing Transaction States
+
+Ensuring consistency is vital when writing code that uses transactions.
+It is therefore usually a good idea to  ensure that any reused code is captured in a private method, and that it asserts the correct transaction state before it begins.
+
+....
+AbstractDataManager {
+
+    public UniWorksSuperDTO search(Object pk, Object params) {
+
+        txControl.build().readOnly().notSupported(() -> {
+                UniWorksSuperDBEntity entity = persistenceDataManager
+                        .search(getEntityClass(), createNewPKFromDTOPK(pk), null);
+
+                loadLinkedTablesTop(entity, params);
+                return entity;
+        }
+    }
+
+    protected final void loadLinkedTablesTop(UniWorksSuperDBEntity entity, Object params) {
+        loadLinkedTables(entity, params);
+    }
+
+    public void loadLinkedTables(UniWorksSuperDBEntity entity, Object params) {
+        txControl.build().readOnly().required(() -> {
+                loadLinkedTables(entity, params);
+            });
+    }
+
+    /**
+     * This method does not need a transaction, but does need a scope
+     */
+    private void loadLinkedTablesInternal(UniWorksSuperDBEntity entity, Object params) {
+        assert txControl.activeScope();
+
+        loadLinkedTablesGenerated(entity, params);
+        loadLinkedTransients(entity, params);
+    }
+}
+....
+
+Writing code in this way ensures that even when a mixture of transactional and non transactional actions are needed, there will always be a consistent expectation of the transaction scope in each method.
+
+== Exception management
+
+The final significant difference between declarative models and the Transaction Control Service is in how much work your application code needs to do when managing exceptions.
+More detail about managing exceptions link:exceptionManagement.html[is available here].
diff --git a/modules/ROOT/pages/modules/tx-control/xaJDBC.adoc b/modules/ROOT/pages/modules/tx-control/xaJDBC.adoc
new file mode 100644
index 0000000..1a13c83
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/xaJDBC.adoc
@@ -0,0 +1,180 @@
+:doctype: book
+
+Title: Aries OSGi Transaction Control JDBC Provider (XA) Notice:    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.
+
+#Aries OSGi Transaction Control JDBC Provider (XA)
+
+The Aries Local JDBC provider implementation is available at the following maven coordinates:
+
+     <dependency>
+         <groupId>org.apache.aries.tx-control</groupId>
+         <artifactId>tx-control-provider-jdbc-xa</artifactId>
+         <version>${aries.tx.control.version}</version>
+     </dependency>
+
+This module is a prototype implementation of the OSGi Transaction Control JDBC resource provider.
+It supports both XA transactions and Local Transactions.
+The provider also has built-in support for Database connection pooling using Hikari CP.
+
+== When should I use this module?
+
+If two-phase commit is needed across multiple resources then it is best to pair this module with  the tx-control-service-xa bundle.
+
+If you wish to use entirely lightweight, resource-local transactions then then the  tx-control-service-local and tx-control-provider-jdbc-local bundles can be used instead.
+
+##Quick Start
+
+A configured JDBCConnectionProvider can be created quickly using Configuration Admin and the OSGi JDBC Service.
+
+. Find and install a JDBC Service implementation for your chosen database (e.g.
+the org.h2 bundle for H2)
+. Create a factory configuration using the factory pid `org.apache.aries.tx.control.jdbc.xa`  and add the following properties:
+ ** _osgi.jdbc.driver.class_ :- The driver class name (e.g.
+org.h2.Driver)
+ ** _url_ :- The JDBC URL to use to connect to the database
+
+When the DataSourceFactory for the named `osgi.jdbc.driver.class` becomes available the Local JDBC Resource Provider will create a JDBCConnectionProvider and register it in the OSGi service registry.
+All configuration properties (apart from the database password) will be registered as  properties of the JDBCConnectionProvider service.
+These properties can be used to select a ResourceProvider if more than one is present in the Service Registry.
+
+= Using the XA JDBC Provider bundle (details)
+
+This Resource Provider is used in conjunction with a TransactionControl service to provide scoped  access to a JDBC connection with support for XA Transactions and Local Transactions.
+
+When using XA transactions the XAResource from the Database provider is used to integrate with an ongoing XA transaction.
+When using local transactions the JDBC API is used to commit or rollback the Database connection.
+
+== Creating a resource programmatically
+
+Preparing a resource for use is very simple.
+Create a `JDBCConnectionProvider` using the  `JDBCConnectionProviderFactory` service from the service registry, then connect that  provider to a `TransactionControl` service.
+This will return a thread-safe JDBC connection  that can then be used in any ongoing scoped work.
+The JDBCConnectionProviderFactory service is registered with the `osgi.xa.enabled` property set to `true`.
+
+The normal inputs to a JDBCConnectionProviderFactory are a DataSourceFactory, some JDBC  properties to connect to the database with, and some properties to control the resource provider  (such as connection pooling).
+
+###Declarative Services Example
+
+....
+@Component
+public class TransactionalJDBCComponent {
+    @Reference
+    TransactionControl txControl;
+
+    @Reference
+    DataSourceFactory dsf;
+
+    @Reference
+    JDBCConnectionProviderFactory providerFactory;
+
+    Connection conn;
+
+    @Activate
+    void start(Config config) {
+
+        Properties jdbcProps = new Properties();
+        jdbcProps.put(JDBC_URL, config.url());
+        jdbcProps.put(JDBC_USER, config.user());
+        jdbcProps.put(JDBC_PASSWORD, config._password());
+
+        Map<String, Object> providerProps = new HashMap<>();
+        providerProps.put(MAX_POOL_SIZE, 8);
+
+        conn = providerFactory.getProviderFor(dsf,
+        jdbcProps, providerProps).getResource(txControl);
+    }
+
+    public void findUserName(String id) {
+        txControl.required(() -> {
+                // Use the connection in here
+            });
+    }
+}
+....
+
+If a JDBC DataSource/Driver is already configured then it can be passed in to the  JDBCConnectionProviderFactory instead of a DataSourceFactory and JDBC configuration.
+
+== Creating a resource using a factory configuration
+
+Whilst it is simple to use a `JDBCConnectionProviderFactory` it does require some  lifecycle code to be written.
+It is therefore possible to directly create JDBC resources using factory  configurations.
+When created, the factory service will listen for an applicable DataSourceFactory.
+Once a suitable DataSourceFactory is available then a JDBCConnectionProvider service will be published.
+
+Configuration properties (except the JDBC password) are set as service properties for the registered  `JDBCConnectionProvider`.
+These properties may therefore be used in filters to select  a particular provider.
+
+###Declarative Services Example
+
+....
+@Component
+public class TransactionalJDBCComponent {
+
+    @Reference
+    TransactionControl control;
+
+    Connection conn;
+
+    @Reference(target="(dataSourceName=myDataSource)")
+    void setProvider(JDBCConnectionProvider provider) {
+         conn = provider.getResource(control);
+    }
+
+    public void findUserName(String id) {
+        control.required(() -> {
+                // Use the connection in here
+            });
+    }
+}
+....
+
+The factory pid is _org.apache.aries.tx.control.jdbc.xa_ and it may use the following properties (all optional):
+
+=== Resource Provider properties
+
+* _aries.dsf.target.filter_ : The target filter to use when searching for a DataSourceFactory.
+If not specified then _osgi.jdbc.driver.class_ must be specified.
+* _aries.jdbc.property.names_ : The names of the properties to pass to the DataSourceFactory when creating the JDBC resources
+* _osgi.jdbc.driver.class_ : Used to locate the DataSourceFactory service if the _aries.dsf.target.filter_ is not set.
+* _osgi.local.enabled_ : Defaults to true.
+If false then this resource will not participate in local transactions, and will fail if used within one.
+One of _osgi.local.enabled_ and _osgi.xa.enabled_ must be true.
+* _osgi.xa.enabled_ : Defaults to true.
+If false then this resource will not participate in xa transactions, and will fail if used within one.
+One of _osgi.local.enabled_ and _osgi.xa.enabled_ must be true.
+* _osgi.connection.pooling.enabled_ : Defaults to true.
+If true then the Database connections will be pooled.
+* _osgi.connection.max_ : Defaults to 10.
+The maximum number of connections that should be kept in the pool
+* _osgi.connection.min_ : Defaults to 10.
+The minimum number of connections that should be kept in the pool
+* _osgi.connection.timeout_ : Defaults to 30,000 (30 seconds).
+The maximum time in milliseconds to block when waiting for a database connection
+* _osgi.idle.timeout_ : Defaults to 180,000 (3 minutes).
+The time in milliseconds before an idle connection is eligible to be closed.
+* _osgi.connection.timeout_ : Defaults to 10,800,000 (3 hours).
+The maximum time in milliseconds that a connection may remain open before being closed.
+* _osgi.use.driver_ : Defaults to false.
+If true then use the createDriver method to connect to the database.
+Cannot be true if _osgi.xa.enabled_ is true.
+
+=== JDBC properties
+
+The following properties will automatically be passed to the DataSourceFactory if they are present.
+The list of properties may be overridden using the _aries.jdbc.property.names_ property if necessary.
+
+* _databaseName_ : The name of the database
+* _dataSourceName_ : The name of the dataSource that will be created
+* _description_ : A description of the dataSource being created
+* _networkProtocol_ : The network protocol to use.
+* _portNumber_ : The port number to use
+* _roleName_ : The name of the JDBC role
+* _serverName_ : The name of the database server
+* _url_ : The JDBC url to use (often used instead of other properties such as _serverName_, _portNumber_ and _databaseName_).
+* _user_ : The JDBC user
+* _password_ : The JDBC password
diff --git a/modules/ROOT/pages/modules/tx-control/xaJPA.adoc b/modules/ROOT/pages/modules/tx-control/xaJPA.adoc
new file mode 100644
index 0000000..c02f0e4
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/xaJPA.adoc
@@ -0,0 +1,212 @@
+:doctype: book
+
+Title: Aries Transaction Control JPA Provider (XA) Notice:    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.
+
+#Aries Transaction Control JPA Provider (XA)
+
+The Aries XA JPA provider implementation is available at the following maven coordinates:
+
+ <dependency>
+     <groupId>org.apache.aries.tx-control</groupId>
+     <artifactId>tx-control-provider-jpa-xa</artifactId>
+     <version>${aries.tx.control.version}</version>
+ </dependency>
+
+This module is a prototype implementation of the OSGi Transaction Control JPA resource provider  using XA transactions.
+It supports JPA 2.1, and is tested against Hibernate 5.0.9 and EclipseLink 2.6.0.
+It also supports JPA 2.0, and is tested against OpenJPA 2.4.1.
+
+##Quick Start
+
+A configured `JPAEntityManagerProvider` can be created quickly using Configuration Admin, the OSGi JPA Service, and the OSGi JDBC Service.
+
+. Package the persistence unit in a persistence bundle
+. Find and install a JPA provider (for example Hibernate)
+. Find and install a JDBC Service implementation for your chosen database (e.g.
+the org.h2 bundle for H2)
+. Install a JPA service extender, such as the Apache Aries JPA container
+. Create a factory configuration using the factory pid `org.apache.aries.tx.control.jpa.local`  and add the following properties:
+ ** _osgi.jdbc.driver.class_ :- The driver class name for your database(e.g.
+org.h2.Driver)
+ ** _url_ :- The JDBC URL to use to connect to the database
+ ** _osgi.unit.name_ :- The name of the persistence unit
+
+When the DataSourceFactory for the named `osgi.jdbc.driver.class` and the  `EntityManagerFactoryBuilder` for the named `osgi.unit.name` become  available the Local JPA Resource Provider will create a JPAEntityManagerProvider and register it in the OSGi service registry.
+All configuration properties (apart from the database password) will be registered as  properties of the JPAEntityManagerProvider service.
+These properties can be used to select a ResourceProvider if more than one is present in the Service Registry.
+
+== When should I use this module?
+
+If you wish to use entirely lightweight, resource-local transactions then it is best to pair this module  with the `tx-control-service-local` bundle.
+
+If two-phase commit is needed across multiple resources then the `tx-control-service-xa` and  `tx-control-provider-jpa-xa` bundles should be used.
+
+Note that when using the JDBC Service to obtain a database connection this implementation must be able to create an XADataSource.
+
+= Using the JPA Provider bundle
+
+This Resource Provider is used in conjunction with an XA TransactionControl service to provide scoped  access to a JPA EntityManager.
+
+== Prerequisites
+
+In order to use scoped JPA access the runtime must contain a JPA provider (for example Hibernate),  an implementation of the OSGi JPA service (e.g.
+Aries JPA), and a persistence bundle.
+
+=== Suitable Persistence bundles
+
+OSGi Persistence bundles contain the persistence descriptor (typically an XML file called  META-INF/persistence.xml), all of the JPA Entities, and a Meta-Persistence header  pointing at the persistence descriptor.
+(See the JPA service specification for more details).
+
+Unlike "normal" JPA it is usually best not to fully declare the persistence unit in the persistence descriptor.
+In particular it is a good idea to avoid putting any database configuration in the persistence unit.
+By not configuring the database inside the bundle the persistence unit remains decoupled,  and can be reconfigured for any database at runtime.
+
+For example the following persistence unit:
+
+ <persistence-unit name="test-unit"/>
+
+can be reconfigured to use any database and to create/drop tables as appropriate.
+Configuration  for the persistence unit can be provided using Configuration Admin and the EntityManagerFactoryBuilder.
+
+== Creating a resource programmatically
+
+Preparing a resource for use is very simple.
+Create a JPAEntityManagerProvider using the the  JPAEntityManagerProviderFactory, then connect the provider to a TransactionControl service.
+This will return a thread-safe JPA EntityManager that can then be used in any ongoing scoped work.
+
+The normal inputs to a JPAEntityManagerProviderFactory are an EntityManagerFactoryBuilder,  some JPA properties to connect to the database with, and some properties to control the resource provider.
+
+=== Declarative Services Example
+
+....
+@Component
+public class TransactionalJPAComponent {
+    @Reference
+    TransactionControl txControl;
+
+    @Reference
+    DataSourceFactory dsf;
+
+    @Reference
+    EntityManagerFactoryBuilder emfb;
+
+    @Reference
+    JPAEntityManagerProviderFactory providerFactory;
+
+    EntityManager em;
+
+    @Activate
+    void start(Config config) {
+
+        Properties jdbcProps = new Properties();
+        jdbcProps.put(JDBC_URL, config.url());
+        jdbcProps.put(JDBC_USER, config.user());
+        jdbcProps.put(JDBC_PASSWORD, config._password());
+
+        Map<String, Object> jpaProps = new HashMap<>();
+        jpaProps.put("javax.persistence.nonJtaDataSource",
+                    dsf.createDataSource(jdbcProps));
+
+        em = providerFactory.getProviderFor(emfb, jpaProps,
+                    null).getResource(txControl);
+    }
+
+    public void findUserName(String id) {
+        txControl.required(() -> {
+                // Use the EntityManager in here
+            });
+    }  }
+....
+
+If the JPA EntityManagerFactory is already configured then it can be passed into the  JPAEntityManagerProviderFactory instead of an EntityManagerFactoryBuilder and JPA configuration.
+
+== Creating a resource using a factory configuration
+
+Whilst it is simple to use a EntityManagerFactoryBuilder it does require some lifecycle code to be written.
+It is therefore possible to directly create JPA resources using factory configurations.
+When created,  the factory service will listen for an applicable EntityManagerFactoryBuilder and potentially also a  DataSourceFactory.
+Once suitable services are available then a JPAEntityManagerProvider service  will be published.
+
+Configuration properties (except the JPA/JDBC password) are set as service properties for the registered  JPAEntityManagerProvider.
+These properties may therefore be used in filters to select a particular provider.
+
+....
+@Component
+public class TransactionalJDBCComponent {
+    @Reference
+    TransactionControl control;
+
+    EntityManager em;
+
+    @Reference(target="(osgi.unit.name=test-unit)")
+    void setProvider(JPAEntityManagerProvider provider) {
+        em = provider.getResource(control);
+    }
+
+    public void findUserName(String id) {
+        txControl.required(() -> {
+                // Use the connection in here
+            });
+    }  }
+....
+
+The factory pid is _org.apache.aries.tx.control.jpa.local_ and it may use the following properties  (all optional aside from _osgi.unit.name_):
+
+=== Resource Provider properties
+
+* _osgi.unit.name_ : The name of the persistence unit that this configuration relates to.
+* _aries.emf.builder.target.filter_ : The target filter to use when searching for an EntityManagerFactoryBuilder.
+If not specified then any builder for the named persistence unit will be used.
+* _aries.jpa.property.names_ : The names of the properties to pass to the EntityManagerFactoryBuilder when creating the EntityManagerFactory.
+By default all properties are copied.
+* _aries.dsf.target.filter_ : The target filter to use when searching for a DataSourceFactory.
+If not specified then _osgi.jdbc.driver.class_ must be specified.
+* _aries.jdbc.property.names_ : The names of the properties to pass to the DataSourceFactory when creating the JDBC resources.
+* _osgi.jdbc.driver.class_ : Used to locate the DataSourceFactory service if the _aries.dsf.target.filter_ is not set.
+* _osgi.local.enabled_ : Defaults to false.
+If true then resource creation will fail
+* _osgi.xa.enabled_ : Defaults to true.
+If false then resource creation will fail
+* _osgi.connection.pooling.enabled_ : Defaults to true.
+If true then the Database connections will be pooled.
+* _osgi.connection.max_ : Defaults to 10.
+The maximum number of connections that should be kept in the pool
+* _osgi.connection.min_ : Defaults to 10.
+The minimum number of connections that should be kept in the pool
+* _osgi.connection.timeout_ : Defaults to 30,000 (30 seconds).
+The maximum time in milliseconds to block when waiting for a database connection
+* _osgi.idle.timeout_ : Defaults to 180,000 (3 minutes).
+The time in milliseconds before an idle connection is eligible to be closed.
+* _osgi.connection.timeout_ : Defaults to 10,800,000 (3 hours).
+The maximum time in milliseconds that a connection may remain open before being closed.
+* _osgi.use.driver_ : Defaults to false.
+If true then use the createDriver method to connect to the database.
+
+=== JDBC properties
+
+The following properties will automatically be passed to the DataSourceFactory if they are present.
+The list of properties may be overridden using the _aries.jdbc.property.names_ property if necessary.
+
+* _databaseName_ : The name of the database
+* _dataSourceName_ : The name of the dataSource that will be created
+* _description_ : A description of the dataSource being created
+* _networkProtocol_ : The network protocol to use.
+* _portNumber_ : The port number to use
+* _roleName_ : The name of the JDBC role
+* _serverName_ : The name of the database server
+* _url_ : The JDBC url to use (often used instead of other properties such as _serverName_, _portNumber_ and _databaseName_).
+* _user_ : The JDBC user
+* _password_ : The JDBC password
+
+=== JPA properties
+
+The following properties are potentially useful when configuring JPA:
+
+_javax.persistence.schema-generation.database.action_ : May be used to automatically create the database tables (see the OSGi spec)
+
+* Other provider specific properties, for example configuring second-level caching.
diff --git a/modules/ROOT/pages/modules/tx-control/xaTransactions.adoc b/modules/ROOT/pages/modules/tx-control/xaTransactions.adoc
new file mode 100644
index 0000000..8e2e1d6
--- /dev/null
+++ b/modules/ROOT/pages/modules/tx-control/xaTransactions.adoc
@@ -0,0 +1,58 @@
+Title: Aries XA Transaction Control implementation Notice:    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.
+
+#Aries XA Transaction Control implementation
+
+The Aries XA Transaction control implementation is available at the following maven coordinates:
+
+     <dependency>
+         <groupId>org.apache.aries.tx-control</groupId>
+         <artifactId>tx-control-service-xa</artifactId>
+         <version>${aries.tx.control.version}</version>
+     </dependency>
+
+It is based on the JTA transaction manager provided by Apache Geronimo.
+
+== Using the Transaction Control Service
+
+For the basics of using the Transaction Control Service see the link:quickstart.html#TODO[Quick Start Documentation]
+
+As per the Transaction Control specification the Aries XA implementation registers a  TransactionControl service in the OSGi Service Registry.
+
+The Aries XA Transaction Control implementation is able to support the use of both XA  and Local Resources within the same transaction.
+The service is therefore registered  with the `osgi.local.enabled` _and_ `osgi.xa.enabled` properties set to `true`.
+
+== XA Transactions
+
+The XA transactions created by the XA Transaction Control implementation are not configured to create a transaction log.
+Therefore the XA Transactions are _not recoverable_ in the event of failure.
+This may change in the future if transaction log support is added to the implementation.
+
+The primary difference between XA and Local Transactions is that XA transactions _are_ atomic across multiple resources.
+In particular, if two  resources.
+This means that all resources in the transaction will be committed or rolled back together.
+
+XA transactions are therefore best suited to scenarios where multiple resources are accessed within the transaction, particularly if consistency between the resources is important.
+
+== Working with XA transactions
+
+The XA Transaction Control Service supports participants in ongoing transactions via the  `registerXAResource(XAResource)` method.
+
+Lifecycle callbacks can be registered against the current scope using the  `preCompletion(Runnable)` and `postCompletion(Consumer)</code> methods.`
+
+##Local Resources and the Last Participant Gambit
+
+In addition to supporting XA resources the XA Aries Transaction Control implementation also supports  Local Resources which can be added using the `registerLocalResource(LocalResource)`  method.
+
+When local resources are added to the XA transaction they are processed in a special way.
+When the two-phase commit is preparing resources it first prepares all of the registered `XAResources`,  then the Local resources are committed or rolled back as appropriate, then the XAResources are completed.
+This is known as the _Last Resource Gambit_.
+
+The value of the Last Resource Gambit is highest when there is exactly one Local resource in the transaction.
+In this case the Local resource is effectively doing a prepare and commit/rollback in one step, but as all of the other resources have been prepared already there is _almost_ no risk of inconsistency across the resources.
+As the number of Local Resources involved in the transaction rises the risk of inconsistency becomes much greater.
+It is therefore recommended that XA transactions contain _zero_ or _one_ Local resources, although any number may be registered.
