You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by al...@apache.org on 2016/09/22 06:08:38 UTC

svn commit: r1761855 - in /aries/trunk/blueprint: blueprint-maven-plugin-spi/ blueprint-maven-plugin-spi/src/ blueprint-maven-plugin-spi/src/main/ blueprint-maven-plugin-spi/src/main/java/ blueprint-maven-plugin-spi/src/main/java/org/ blueprint-maven-p...

Author: alien11689
Date: Thu Sep 22 06:08:38 2016
New Revision: 1761855

URL: http://svn.apache.org/viewvc?rev=1761855&view=rev
Log:
[ARIES-1606] Extract SPI from blueprint maven plugin to external project; This closes #54

Added:
    aries/trunk/blueprint/blueprint-maven-plugin-spi/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/pom.xml
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/Activation.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanAnnotationHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanEnricher.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BlueprintConfiguration.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextEnricher.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextInitializationHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomDependencyAnnotationHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomFactoryMethodAnnotationHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FieldAnnotationHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/InjectLikeHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/MethodAnnotationHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/NamedLikeHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/QualifingAnnotationFinder.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ValueInjectionHandler.java
    aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/XmlWriter.java
Removed:
    aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/
Modified:
    aries/trunk/blueprint/blueprint-maven-plugin/pom.xml

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/pom.xml?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/pom.xml (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/pom.xml Thu Sep 22 06:08:38 2016
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.aries</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.0.1</version>
+        <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.apache.aries.blueprint</groupId>
+    <artifactId>blueprint-maven-plugin-spi</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/blueprint/blueprint-maven-plugin-spi</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/blueprint/blueprint-maven-plugin-spi</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi</url>
+    </scm>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <target>1.7</target>
+                    <source>1.7</source>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/Activation.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/Activation.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/Activation.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/Activation.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+public enum Activation {
+    EAGER,
+    LAZY;
+
+    @Override
+    public String toString() {
+        return name().toLowerCase();
+    }
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanAnnotationHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanAnnotationHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanAnnotationHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanAnnotationHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,28 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+
+public interface BeanAnnotationHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+
+    void handleBeanAnnotation(AnnotatedElement annotatedElement, String id, ContextEnricher contextEnricher, BeanEnricher beanEnricher);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanEnricher.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanEnricher.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanEnricher.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanEnricher.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,24 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+public interface BeanEnricher {
+    void addAttribute(String key, String value);
+    void addBeanContentWriter(String id, XmlWriter blueprintWriter);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+
+public interface BeanFinder<A extends Annotation> {
+    Class<A> beanAnnotation();
+
+    boolean isSingleton();
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BlueprintConfiguration.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BlueprintConfiguration.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BlueprintConfiguration.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/BlueprintConfiguration.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,10 @@
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.util.Map;
+import java.util.Set;
+
+public interface BlueprintConfiguration {
+    Set<String> getNamespaces();
+    Activation getDefaultActivation();
+    Map<String, String> getCustomParameters();
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextEnricher.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextEnricher.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextEnricher.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextEnricher.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,25 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+public interface ContextEnricher {
+    void addBean(String id, Class<?> clazz);
+    void addBlueprintContentWriter(String id, XmlWriter blueprintWriter);
+    BlueprintConfiguration getBlueprintConfiguration();
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextInitializationHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextInitializationHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextInitializationHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ContextInitializationHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,5 @@
+package org.apache.aries.blueprint.plugin.spi;
+
+public interface ContextInitializationHandler {
+    void initContext(ContextEnricher contextEnricher);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomDependencyAnnotationHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomDependencyAnnotationHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomDependencyAnnotationHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomDependencyAnnotationHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,30 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+
+public interface CustomDependencyAnnotationHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+
+    String handleDependencyAnnotation(AnnotatedElement annotatedElement, String name, ContextEnricher contextEnricher);
+
+    String handleDependencyAnnotation(Class<?> clazz, A annotation, String name, ContextEnricher contextEnricher);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomFactoryMethodAnnotationHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomFactoryMethodAnnotationHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomFactoryMethodAnnotationHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/CustomFactoryMethodAnnotationHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,28 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+
+public interface CustomFactoryMethodAnnotationHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+
+    void handleFactoryMethodAnnotation(AnnotatedElement annotatedElement, String id, ContextEnricher contextEnricher);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,25 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+
+public interface FactoryMethodFinder<A extends Annotation> {
+    Class<A> factoryMethodAnnotation();
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FieldAnnotationHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FieldAnnotationHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FieldAnnotationHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/FieldAnnotationHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,29 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.util.List;
+
+public interface FieldAnnotationHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+
+    void handleMethodAnnotation(Class<?> clazz, List<Field> fields, ContextEnricher contextEnricher, BeanEnricher beanEnricher);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/InjectLikeHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/InjectLikeHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/InjectLikeHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/InjectLikeHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,25 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+
+public interface InjectLikeHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/MethodAnnotationHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/MethodAnnotationHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/MethodAnnotationHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/MethodAnnotationHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,29 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.List;
+
+public interface MethodAnnotationHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+
+    void handleMethodAnnotation(Class<?> clazz, List<Method> methods, ContextEnricher contextEnricher, BeanEnricher beanEnricher);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/NamedLikeHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/NamedLikeHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/NamedLikeHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/NamedLikeHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.reflect.AnnotatedElement;
+
+public interface NamedLikeHandler {
+    Class getAnnotation();
+
+    String getName(Class clazz, AnnotatedElement annotatedElement);
+
+    String getName(Object annotation);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/QualifingAnnotationFinder.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/QualifingAnnotationFinder.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/QualifingAnnotationFinder.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/QualifingAnnotationFinder.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,25 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+
+public interface QualifingAnnotationFinder<A extends Annotation> {
+    Class<A> getAnnotation();
+}
\ No newline at end of file

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ValueInjectionHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ValueInjectionHandler.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ValueInjectionHandler.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/ValueInjectionHandler.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,30 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.blueprint.plugin.spi;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+
+public interface ValueInjectionHandler<A extends Annotation> {
+    Class<A> getAnnotation();
+
+    String getValue(Class clazz, AnnotatedElement annotatedElement);
+
+    String getValue(Object annotation);
+}

Added: aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/XmlWriter.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/XmlWriter.java?rev=1761855&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/XmlWriter.java (added)
+++ aries/trunk/blueprint/blueprint-maven-plugin-spi/src/main/java/org/apache/aries/blueprint/plugin/spi/XmlWriter.java Thu Sep 22 06:08:38 2016
@@ -0,0 +1,8 @@
+package org.apache.aries.blueprint.plugin.spi;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+public interface XmlWriter {
+    void write(XMLStreamWriter xmlStreamWriter) throws XMLStreamException;
+}

Modified: aries/trunk/blueprint/blueprint-maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/pom.xml?rev=1761855&r1=1761854&r2=1761855&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin/pom.xml (original)
+++ aries/trunk/blueprint/blueprint-maven-plugin/pom.xml Thu Sep 22 06:08:38 2016
@@ -118,6 +118,12 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>blueprint-maven-plugin-spi</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.apache.maven.plugin-tools</groupId>
             <artifactId>maven-plugin-annotations</artifactId>
             <version>3.4</version>