You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by bu...@apache.org on 2015/03/04 16:30:20 UTC
svn commit: r942316 - in /websites/staging/aries/trunk/content: ./
modules/blueprint-maven-plugin.html
Author: buildbot
Date: Wed Mar 4 15:30:20 2015
New Revision: 942316
Log:
Staging update by buildbot for aries
Added:
websites/staging/aries/trunk/content/modules/blueprint-maven-plugin.html
Modified:
websites/staging/aries/trunk/content/ (props changed)
Propchange: websites/staging/aries/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Mar 4 15:30:20 2015
@@ -1 +1 @@
-1659572
+1664043
Added: websites/staging/aries/trunk/content/modules/blueprint-maven-plugin.html
==============================================================================
--- websites/staging/aries/trunk/content/modules/blueprint-maven-plugin.html (added)
+++ websites/staging/aries/trunk/content/modules/blueprint-maven-plugin.html Wed Mar 4 15:30:20 2015
@@ -0,0 +1,386 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+ <head>
+ <link rel="shortcut icon" href="http://aries.apache.org/images/favicon.ico"></link>
+ <link type="text/css" rel="stylesheet" href="http://aries.apache.org/resources/site.css"></link>
+ </script><script src="http://aries.apache.org/resources/menus.js" language="javascript" type="text/javascript"></script>
+ <meta name="keywords" content="..."/>
+ <meta name="description" content="..." />
+ <title>
+ Apache Aries - blueprint-maven-plugin
+ </title>
+ </head>
+<body onload="SetMenu()">
+
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr width="100%">
+ <td id="cell-0-0" colspan="2"> </td>
+ <td id="cell-0-1"> </td>
+ <td id="cell-0-2" colspan="2"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-1-0"> </td>
+ <td id="cell-1-1"> </td>
+ <td id="cell-1-2">
+ <div style="padding: 5px;">
+ <div id="banner">
+ <!-- Banner -->
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr>
+ <td align="left" class="topbardiv" nowrap="">
+ <a href="http://aries.apache.org/" title="Apache Aries"> <img border="0" src="http://aries.apache.org/images/Arieslogo_Horizontal.gif"> </a>
+ </td>
+ <td align="right" nowrap="">
+ <a href="http://www.apache.org/" title="The Apache Software Foundation"> <img border="0" src="http://aries.apache.org/images/apache_feather.png"> </a>
+ </td>
+ </tr>
+ </table>
+ <!-- Banner -->
+ </div>
+ </div>
+ <div id="top-menu">
+ <table border="0" cellpadding="1" cellspacing="0" width="100%">
+ <tr>
+ <td>
+ <div align="left">
+ <!-- Breadcrumbs -->
+ <!-- Breadcrumbs -->
+ </div>
+ </td>
+ <td>
+ <div align="right">
+ <!-- Quicklinks -->
+ <DIV style="padding: 5px 5px 0px 25px;">
+ <FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
+ <A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A>
+ <INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
+ <INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
+ <INPUT maxlength="255" name="q" size="15" type="text" value></INPUT>
+ <INPUT name="btnG" type="submit" value="Search"></INPUT>
+ <INPUT name="domains" type="hidden" value="aries.apache.org"></INPUT>
+ <INPUT name="sitesearch" type="hidden" value="aries.apache.org"></INPUT>
+ </FORM>
+ </DIV>
+ <!-- Quicklinks -->
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ <td id="cell-1-3"> </td>
+ <td id="cell-1-4"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-2-0" colspan="2"> </td>
+ <td id="cell-2-1">
+ <table>
+ <tr height="100%" valign="top">
+ <td height="100%">
+ <div id="wrapper-menu-page-right">
+ <div id="wrapper-menu-page-top">
+ <div id="wrapper-menu-page-bottom">
+ <div id="menu-page">
+ <!-- NavigationBar -->
+ <div onclick="SwitchMenu('overview')" id="overviewTitle" class="menutitle">Overview</div>
+
+<div id="overview" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="/overview/boardreports.html">Board Reports</a>
+ </div>
+ <div class="menuitem">
+ <a href="/overview/news.html">News</a>
+ </div>
+</div>
+
+<div onclick="SwitchMenu('documentation')" id="documentationTitle" class="menutitle">Documentation</div>
+
+<div id="documentation" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="/documentation/ariesprogrammingmodel.html">Programming Model</a>
+ </div>
+ <div class="menuitem">
+ <a href="/documentation/pointerstoosgispecifications.html">Pointers to OSGi specs</a>
+ </div>
+ <div class="menuitem">
+ <a href="/documentation/integrators-guide.html">Integrators Guide</a>
+ </div>
+ <div class="menuitem">
+ <a href="/documentation/articles.html">Articles</a>
+ </div>
+ <div class="menuitem">
+ <a href="https://svn.apache.org/repos/asf/aries/slides/">Slides</a>
+ </div>
+ <div class="menuitem">
+ <a href="/documentation/tutorials.html">Tutorials</a>
+ </div>
+ <div class="menuitem">
+ <a href="/documentation/tools.html">Tools</a>
+ </div>
+</div>
+
+<div onclick="SwitchMenu('downloads')" id="downloadsTitle" class="menutitle">Downloads</div>
+
+<div id="downloads" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="/downloads/currentrelease.html">Current Release</a>
+ </div>
+ <div class="menuitem">
+ <a href="/downloads/testresults.html">Compliance Tests</a>
+ </div>
+ <div class="menuitem">
+ <a href="/downloads/archived-releases.html">Archived Releases</a>
+ </div>
+</div>
+
+<div onclick="SwitchMenu('community')" id="communityTitle" class="menutitle">Community</div>
+
+<div id="community" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="/community/overview.html">Community</a>
+ </div>
+ <div class="menuitem">
+ <a href="/community/gettinginvolved.html">Getting Involved</a>
+ </div>
+ <div class="menuitem">
+ <a href="/community/people.html">Who we are</a>
+ </div>
+ <div class="menuitem">
+ <a href="/community/mailinglists.html">Mailing lists</a>
+ </div>
+ <div class="menuitem">
+ <a href="/community/logos.html">Logos for Users</a>
+ </div>
+</div>
+
+<div onclick="SwitchMenu('development')" id="developmentTitle" class="menutitle">Development</div>
+
+<div id="development" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="https://svn.apache.org/repos/asf/aries/">Source Control</a>
+ </div>
+ <div class="menuitem">
+ <a href="https://issues.apache.org/jira/browse/ARIES">Bug Tracking</a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/buildingaries.html">Building Aries </a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/maven-best-practice-in-aries.html">Maven best practice</a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/moduledependencies.html">Module Dependencies</a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/releasingaries.html">Releasing Aries </a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/verifyingrelease.html">Verifying Release artifacts</a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/compliancetesting.html">OSGi Compliance Tests </a>
+ </div>
+ <div class="menuitem">
+ <a href="https://builds.apache.org/hudson/">Build System</a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/maintainingthewebpages.html">Web Site Maintenance </a>
+ </div>
+ <div class="menuitem">
+ <a href="/development/versionpolicy.html">OSGi Version Policy </a>
+ </div>
+</div>
+
+<div onclick="SwitchMenu('modules')" id="modulesTitle" class="menutitle">Modules</div>
+
+<div id="modules" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="/modules/samples.html">Samples</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/blueprint.html">Blueprint</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/blueprintannotation.html">Blueprint Annotations</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/blueprintnoosgi.html">Blueprint No-OSGi</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/blueprintweb.html">Blueprint Web</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/jmx.html">JMX</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/jndiproject.html">JNDI</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/jpaproject.html">JPA</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/applications.html">Applications</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/transactionsproject.html">Transactions</a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/ebamavenpluginproject.html">EBA Maven Plugin </a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/esamavenpluginproject.html">ESA Maven Plugin </a>
+ </div>
+ <div class="menuitem">
+ <a href="/modules/spi-fly.html">SPI Fly</a>
+ </div>
+</div>
+
+<div onclick="SwitchMenu('sponsorship')" id="sponsorshipTitle" class="menutitle">Sponsorship</div>
+
+<div id="sponsorship" class="menuitemgroup">
+ <div class="menuitem">
+ <a href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+ </div>
+ <div class="menuitem">
+ <a href="http://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a>
+ </div>
+</div>
+ <!-- NavigationBar -->
+ </div>
+ </div>
+ </div>
+ </div>
+ </td>
+ <td height="100%" width="100%">
+ <!-- Content -->
+ <div class="wiki-content"><p>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.</p>
+<h2 id="maven-blueprint-plugin">Maven-blueprint-plugin</h2>
+<p>The maven-blueprint-plugin allows to configure blueprint using annotations. It scans one or more paths for annotated classes and creates a blueprint.xml in target/generated-resources. 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 property placeholder configurations
+or cxf services can be created in xml while most of the beans are automatically generated.</p>
+<p>Usage:</p>
+<div class="codehilite"><pre><span class="nt"><plugin></span>
+ <span class="nt"><groupId></span>org.apache.aries.blueprint<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>blueprint-maven-plugin<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.1.0<span class="nt"></version></span>
+ <span class="nt"><configuration></span>
+ <span class="nt"><scanPaths></span>
+ <span class="nt"><scanPath></span>org.my.package<span class="nt"></scanPath></span>
+ <span class="nt"></scanPaths></span>
+ <span class="nt"></configuration></span>
+ <span class="nt"><executions></span>
+ <span class="nt"><execution></span>
+ <span class="nt"><goals></span>
+ <span class="nt"><goal></span>blueprint-generate<span class="nt"></goal></span>
+ <span class="nt"></goals></span>
+ <span class="nt"><phase></span>process-classes<span class="nt"></phase></span>
+ <span class="nt"></execution></span>
+ <span class="nt"></executions></span>
+<span class="nt"></plugin></span>
+</pre></div>
+
+
+<h2 id="annotations">Annotations</h2>
+<h3 id="javaxinject-jsr-330">javax.inject (JSR 330)</h3>
+<ul>
+<li>@Inject Inject a bean by type and optionally further qualifiers</li>
+<li>@Singleton Mark a class as being a bean</li>
+<li>@Named("Myname") Names a @Singleton and qualifies an @Inject to limit it to matches with the same bean id</li>
+</ul>
+<h3 id="javaxannotation-jsr-250">javax.annotation (JSR 250)</h3>
+<ul>
+<li>@PostConstruct Marks a method to be called after DI is finished (init-method)</li>
+<li>@PreDestroy Marks a method to be called before the bean is destroyed (destroy-method)</li>
+</ul>
+<h3 id="pax-cdi">pax-cdi</h3>
+<ul>
+<li>@OsgiServiceProvider(classes={TaskService.class}) Publishes a bean as an OSGi service with the given interfaces</li>
+<li>@OsgiService creates a reference to an OSGi service. On optional filter is also possible</li>
+<li>@Properties Defines service properties for OSGiServiceProvider</li>
+<li>@Property Defines a service property</li>
+</ul>
+<h3 id="javaxpersistence">javax.persistence</h3>
+<ul>
+<li>@PersistenceContext(unitName="tasklist") inject a managed EntityManager for the given persistence unit into a field</li>
+<li>@PersistenceUnit(unitName="tasklist") inject an unmanaged EntityManagerFactory for the given persistence unit into a field</li>
+</ul>
+<h3 id="javaxtransaction">javax.transaction</h3>
+<ul>
+<li>@Transactional mark the class as transactional. Individual methods are not yet supported</li>
+</ul>
+<h2 id="dependencies-for-annotations">Dependencies for annotations</h2>
+<div class="codehilite"><pre><span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>javax.inject<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>javax.inject<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>1<span class="nt"></version></span>
+ <span class="nt"><optional></span>true<span class="nt"></optional></span>
+<span class="nt"></dependency></span>
+<span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>org.ops4j.pax.cdi<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>pax-cdi-api<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>0.5.0<span class="nt"></version></span>
+ <span class="nt"><optional></span>true<span class="nt"></optional></span>
+<span class="nt"></dependency></span>
+<span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>org.hibernate.javax.persistence<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>hibernate-jpa-2.1-api<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.0.0.Final<span class="nt"></version></span>
+<span class="nt"></dependency></span>
+<span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>javax.transaction<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>javax.transaction-api<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.2<span class="nt"></version></span>
+<span class="nt"></dependency></span>
+</pre></div>
+
+
+<p>Example</p>
+<p>For a complete example see <a href="https://github.com/cschneider/Karaf-Tutorial/tree/master/tasklist-blueprint-cdi">tasklist-blueprint-cdi</a> on github.</p></div>
+ <!-- Content -->
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td id="cell-2-2" colspan="2"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-3-0"> </td>
+ <td id="cell-3-1"> </td>
+ <td id="cell-3-2">
+ <div id="footer">
+ <!-- Footer -->
+ <div id="site-footer">
+ <a href="http://aries.apache.org/privacy-policy.html";>Privacy
+Policy</a>
+ </div>
+ <!-- Footer -->
+ </div>
+ </td>
+ <td id="cell-3-3"> </td>
+ <td id="cell-3-4"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-4-0" colspan="2"> </td>
+ <td id="cell-4-1"> </td>
+ <td id="cell-4-2" colspan="2"> </td>
+ </tr>
+</table>
+</body>
+</html>