aries-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alien11...@apache.org
Subject svn commit: r1775333 - /aries/site/trunk/content/modules/blueprint-maven-plugin.mdtext
Date Tue, 20 Dec 2016 18:04:08 GMT
Author: alien11689
Date: Tue Dec 20 18:04:08 2016
New Revision: 1775333

URL: http://svn.apache.org/viewvc?rev=1775333&view=rev
Log:
Update blueprint maven plugin page for version 1.5.0

Modified:
    aries/site/trunk/content/modules/blueprint-maven-plugin.mdtext

Modified: aries/site/trunk/content/modules/blueprint-maven-plugin.mdtext
URL: http://svn.apache.org/viewvc/aries/site/trunk/content/modules/blueprint-maven-plugin.mdtext?rev=1775333&r1=1775332&r2=1775333&view=diff
==============================================================================
--- aries/site/trunk/content/modules/blueprint-maven-plugin.mdtext (original)
+++ aries/site/trunk/content/modules/blueprint-maven-plugin.mdtext Tue Dec 20 18:04:08 2016
@@ -21,16 +21,15 @@ So you would like to do most declaration
 
 ## 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-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.
+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.4.0</version>
+        <version>1.5.0</version>
         <configuration>
             <scanPaths>
                 <scanPath>org.my.package</scanPath>
@@ -40,6 +39,7 @@ Usage:
             <executions>
                 <execution>
                     <goals>
+                        <goal>add-resource-dir</goal>
                         <goal>blueprint-generate</goal>
                     </goals>
                 </execution>
@@ -47,12 +47,32 @@ Usage:
         </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)
@@ -68,8 +88,19 @@ Usage:
   - @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
 
-### javax.transaction ###
-  - @Transactional mark the class as transactional. Individual methods are not yet supported
+### 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
+
+### 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 ##
 
@@ -82,23 +113,63 @@ Usage:
     <dependency>
         <groupId>org.ops4j.pax.cdi</groupId>
         <artifactId>pax-cdi-api</artifactId>
-        <version>0.5.0</version>
+        <version>0.8.0</version>
         <optional>true</optional>
     </dependency>
     <dependency>
-        <groupId>org.hibernate.javax.persistence</groupId>
-        <artifactId>hibernate-jpa-2.1-api</artifactId>
-        <version>1.0.0.Final</version>
+        <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.0.0</version>
     </dependency>
 
+## 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.0.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.5.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>
+
 ## Example ##
 
-For a complete example see [tasklist-blueprint-cdi][1] on github.
+For a complete example see [tasklist-blueprint-cdi][1] on github or [tests of blueprint-maven-plugin][2].
 
 
-  [1]: https://github.com/cschneider/Karaf-Tutorial/tree/master/tasklist-blueprint-cdi
\ No newline at end of file
+  [1]: https://github.com/cschneider/Karaf-Tutorial/tree/master/tasklist-blueprint-cdi
+  [2]: http://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/
\ No newline at end of file



Mime
View raw message