Author: alien11689
Date: Sun Aug 6 10:53:10 2017
New Revision: 1804230
URL: http://svn.apache.org/viewvc?rev=1804230&view=rev
Log:
[ARIES-1735] Detect beans with the same id, but different classes
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/invoker.properties
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/pom.xml
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T1.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T2.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p2/
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p2/T1.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/verify.groovy
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ConflictDetected.java
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-annotation/pom.xml
aries/trunk/blueprint/plugin/blueprint-maven-plugin-spi/pom.xml
aries/trunk/blueprint/plugin/blueprint-maven-plugin/pom.xml
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRefStore.java
Modified: aries/trunk/blueprint/plugin/blueprint-maven-plugin-annotation/pom.xml
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-annotation/pom.xml?rev=1804230&r1=1804229&r2=1804230&view=diff
==============================================================================
--- aries/trunk/blueprint/plugin/blueprint-maven-plugin-annotation/pom.xml
(original)
+++ aries/trunk/blueprint/plugin/blueprint-maven-plugin-annotation/pom.xml Sun
Aug 6 10:53:10 2017
@@ -47,6 +47,6 @@
</aries.osgi.export.pkg>
<aries.osgi.import.pkg />
<aries.osgi.private.pkg />
- <lastReleaseVersion>1.0.0</lastReleaseVersion>
+ <lastReleaseVersion>1.1.0</lastReleaseVersion>
</properties>
</project>
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/invoker.properties
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/invoker.properties?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/invoker.properties
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/invoker.properties
Sun Aug 6 10:53:10 2017
@@ -0,0 +1 @@
+invoker.buildResult = failure
\ No newline at end of file
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/pom.xml
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/pom.xml?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/pom.xml
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/pom.xml
Sun Aug 6 10:53:10 2017
@@ -0,0 +1,54 @@
+<!--
+ 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.
+-->
+<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>
+
+ <groupId>org.apache.aries.blueprint.plugin.itest</groupId>
+ <artifactId>simple-project</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.aries.blueprint</groupId>
+ <artifactId>blueprint-maven-plugin</artifactId>
+ <version>@blueprint-maven-plugin.version@</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>add-resource-dir</goal>
+ <goal>blueprint-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T1.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T1.java?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T1.java
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T1.java
Sun Aug 6 10:53:10 2017
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * <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 p1;
+
+import javax.inject.Singleton;
+
+@Singleton
+public class T1 {
+
+}
\ No newline at end of file
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T2.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T2.java?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T2.java
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p1/T2.java
Sun Aug 6 10:53:10 2017
@@ -0,0 +1,22 @@
+/**
+ * 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 p1;
+
+public class T2 {
+}
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p2/T1.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p2/T1.java?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p2/T1.java
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/src/main/java/p2/T1.java
Sun Aug 6 10:53:10 2017
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * <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 p2;
+
+import javax.inject.Singleton;
+
+@Singleton
+public class T1 {
+
+}
\ No newline at end of file
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/verify.groovy
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/verify.groovy?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/verify.groovy
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin-itest/src/it/fail-on-conflict/verify.groovy
Sun Aug 6 10:53:10 2017
@@ -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
+ *
+ * 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.
+ */
+
+def file = new File(basedir,
'target/generated-sources/blueprint/OSGI-INF/blueprint/autowire.xml')
+assert !file.exists()
+def log = new File(basedir, 'build.log')
+log.text.contains('Found two beans with id `t1`, but different classes:
[p1.T1, p2.T1]')
+
Modified: aries/trunk/blueprint/plugin/blueprint-maven-plugin-spi/pom.xml
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin-spi/pom.xml?rev=1804230&r1=1804229&r2=1804230&view=diff
==============================================================================
--- aries/trunk/blueprint/plugin/blueprint-maven-plugin-spi/pom.xml (original)
+++ aries/trunk/blueprint/plugin/blueprint-maven-plugin-spi/pom.xml Sun Aug 6
10:53:10 2017
@@ -30,6 +30,7 @@
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>blueprint-maven-plugin-spi</artifactId>
<version>1.0.1-SNAPSHOT</version>
+ <name>Apache Aries Blueprint Maven Plugin SPI</name>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin-spi</connection>
@@ -49,5 +50,4 @@
</plugins>
</build>
- <name>Apache Aries Blueprint Maven Plugin SPI</name>
</project>
Modified: aries/trunk/blueprint/plugin/blueprint-maven-plugin/pom.xml
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/pom.xml?rev=1804230&r1=1804229&r2=1804230&view=diff
==============================================================================
--- aries/trunk/blueprint/plugin/blueprint-maven-plugin/pom.xml (original)
+++ aries/trunk/blueprint/plugin/blueprint-maven-plugin/pom.xml Sun Aug 6
10:53:10 2017
@@ -17,7 +17,8 @@
specific language governing permissions and limitations
under the License.
-->
-<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">
+<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>
@@ -25,7 +26,7 @@
<groupId>org.apache.aries</groupId>
<artifactId>parent</artifactId>
<version>2.0.1</version>
- <relativePath />
+ <relativePath/>
</parent>
<groupId>org.apache.aries.blueprint</groupId>
@@ -40,14 +41,38 @@
<properties>
<maven.version>3.0.5</maven.version>
<aether.version>1.11</aether.version>
+ <maven-plugin-plugin.version>3.4</maven-plugin-plugin.version>
+ <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
+
+
<blueprint-maven-plugin-spi.version>1.0.1-SNAPSHOT</blueprint-maven-plugin-spi.version>
+
<blueprint-maven-plugin-spring-handlers.version>1.0.0</blueprint-maven-plugin-spring-handlers.version>
+
<blueprint-maven-plugin-annotation.version>1.1.1-SNAPSHOT</blueprint-maven-plugin-annotation.version>
+
+ <javax.inject.version>1</javax.inject.version>
+ <javax.transaction-api.version>1.2</javax.transaction-api.version>
+
<javax.transaction.cdi-api.version>1.2-b03</javax.transaction.cdi-api.version>
+ <cdi-api.version>1.2</cdi-api.version>
+ <persistence-api.version>1.0.2</persistence-api.version>
+ <pax-cdi-api.version>0.8.0</pax-cdi-api.version>
+
+ <wagon-http-lightweight.version>2.6</wagon-http-lightweight.version>
+ <slf4j-jdk14.version>1.7.7</slf4j-jdk14.version>
+ <maven-filtering.version>1.0-beta-4</maven-filtering.version>
+ <plexus-build-api.version>0.0.7</plexus-build-api.version>
+ <plexus-utils.version>3.0</plexus-utils.version>
+ <osgi.cmpn.version>6.0.0</osgi.cmpn.version>
+ <xbean-finder-shaded.version>4.5</xbean-finder-shaded.version>
+
+
<org.apache.aries.blueprint.api.version>1.0.1</org.apache.aries.blueprint.api.version>
+
<org.apache.aries.blueprint.core.version>1.7.1</org.apache.aries.blueprint.core.version>
+
<org.apache.aries.transaction.blueprint.version>1.1.1</org.apache.aries.transaction.blueprint.version>
+
<org.apache.aries.jpa.blueprint.aries.version>1.0.2</org.apache.aries.jpa.blueprint.aries.version>
+
<org.apache.aries.blueprint.cm.version>1.0.9</org.apache.aries.blueprint.cm.version>
</properties>
<scm>
-
<connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin
- </connection>
- <developerConnection>
-
scm:svn:https://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin
- </developerConnection>
+
<connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin</connection>
+
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/blueprint/plugin/blueprint-maven-plugin</developerConnection>
<url>http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin</url>
</scm>
@@ -62,7 +87,7 @@
</plugin>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
- <version>3.4</version>
+ <version>${maven-plugin-plugin.version}</version>
<executions>
<execution>
<id>default-descriptor</id>
@@ -107,7 +132,7 @@
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
+ <version>${lifecycle-mapping.version}</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
@@ -127,7 +152,7 @@
</goals>
</pluginExecutionFilter>
<action>
- <ignore />
+ <ignore/>
</action>
</pluginExecution>
</pluginExecutions>
@@ -143,54 +168,54 @@
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>blueprint-maven-plugin-spi</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>${blueprint-maven-plugin-spi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>blueprint-maven-plugin-spring-handlers</artifactId>
- <version>1.0.0</version>
+
<version>${blueprint-maven-plugin-spring-handlers.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
- <version>3.4</version>
+ <version>${maven-plugin-plugin.version}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
- <version>1</version>
+ <version>${javax.inject.version}</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
- <version>1.2</version>
+ <version>${javax.transaction-api.version}</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
- <version>1.2</version>
+ <version>${cdi-api.version}</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
- <version>1.0.2</version>
+ <version>${persistence-api.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.cdi</groupId>
<artifactId>pax-cdi-api</artifactId>
- <version>0.8.0</version>
+ <version>${pax-cdi-api.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.cmpn</artifactId>
- <version>6.0.0</version>
+ <version>${osgi.cmpn.version}</version>
</dependency>
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>blueprint-maven-plugin-annotation</artifactId>
- <version>1.1.1-SNAPSHOT</version>
+ <version>${blueprint-maven-plugin-annotation.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
@@ -225,7 +250,7 @@
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-lightweight</artifactId>
- <version>2.6</version>
+ <version>${wagon-http-lightweight.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
@@ -235,35 +260,35 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
- <version>1.7.7</version>
+ <version>${slf4j-jdk14.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
- <version>1.0-beta-4</version>
+ <version>${maven-filtering.version}</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-build-api</artifactId>
- <version>0.0.7</version>
+ <version>${plexus-build-api.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
- <version>3.0</version>
+ <version>${plexus-utils.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-finder-shaded</artifactId>
- <version>4.5</version>
+ <version>${xbean-finder-shaded.version}</version>
</dependency>
<!-- For the CDI annotations -->
<dependency>
<groupId>javax.transaction.cdi</groupId>
<artifactId>javax.transaction.cdi-api</artifactId>
- <version>1.2-b03</version>
+ <version>${javax.transaction.cdi-api.version}</version>
</dependency>
<dependency>
@@ -275,34 +300,33 @@
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>org.apache.aries.blueprint.api</artifactId>
- <version>1.0.1</version>
+ <version>${org.apache.aries.blueprint.api.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>org.apache.aries.blueprint.core</artifactId>
- <version>1.7.1</version>
+ <version>${org.apache.aries.blueprint.core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.transaction</groupId>
<artifactId>org.apache.aries.transaction.blueprint</artifactId>
- <version>1.1.1</version>
+
<version>${org.apache.aries.transaction.blueprint.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.jpa</groupId>
<artifactId>org.apache.aries.jpa.blueprint.aries</artifactId>
- <version>1.0.2</version>
+ <version>${org.apache.aries.jpa.blueprint.aries.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.blueprint</groupId>
<artifactId>org.apache.aries.blueprint.cm</artifactId>
- <version>1.0.9</version>
+ <version>${org.apache.aries.blueprint.cm.version}</version>
<scope>test</scope>
</dependency>
-
</dependencies>
</project>
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java?rev=1804230&r1=1804229&r2=1804230&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
Sun Aug 6 10:53:10 2017
@@ -19,6 +19,7 @@
package org.apache.aries.blueprint.plugin;
import org.apache.aries.blueprint.plugin.model.Blueprint;
+import org.apache.aries.blueprint.plugin.model.ConflictDetected;
import org.apache.aries.blueprint.plugin.spi.Activation;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.AbstractMojo;
@@ -112,15 +113,21 @@ public class GenerateMojo extends Abstra
BlueprintConfigurationImpl blueprintConfiguration = new
BlueprintConfigurationImpl(namespaces, defaultActivation, customParameters);
try {
- ClassFinder classFinder = createProjectScopeFinder();
- Set<Class<?>> classes =
FilteredClassFinder.findClasses(classFinder, toScan);
- Blueprint blueprint = new Blueprint(blueprintConfiguration,
classes);
- writeBlueprintIfNeeded(blueprint);
+ generateBlueprint(toScan, blueprintConfiguration);
+ } catch (ConflictDetected e) {
+ throw new MojoExecutionException(e.getMessage(), e);
} catch (Exception e) {
- throw new MojoExecutionException("Error building commands help",
e);
+ throw new MojoExecutionException("Error during blueprint
generation", e);
}
}
+ private void generateBlueprint(List<String> toScan,
BlueprintConfigurationImpl blueprintConfiguration) throws Exception {
+ ClassFinder classFinder = createProjectScopeFinder();
+ Set<Class<?>> classes = FilteredClassFinder.findClasses(classFinder,
toScan);
+ Blueprint blueprint = new Blueprint(blueprintConfiguration, classes);
+ writeBlueprintIfNeeded(blueprint);
+ }
+
private void writeBlueprintIfNeeded(Blueprint blueprint) throws Exception {
if (blueprint.shouldBeGenerated()) {
writeBlueprint(blueprint);
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java?rev=1804230&r1=1804229&r2=1804230&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
Sun Aug 6 10:53:10 2017
@@ -21,9 +21,9 @@ package org.apache.aries.blueprint.plugi
import java.lang.annotation.Annotation;
import java.util.Set;
-class BeanRef implements Comparable<BeanRef> {
+final class BeanRef implements Comparable<BeanRef> {
final String id;
- private final Class<?> clazz;
+ final Class<?> clazz;
private final Set<Annotation> qualifiers;
BeanRef(Class<?> clazz, String id, Annotation[] qualifiers) {
@@ -42,4 +42,7 @@ class BeanRef implements Comparable<Bean
return this.id.compareTo(other.id);
}
+ boolean conflictsWith(BeanRef bean) {
+ return id.equals(bean.id) && !clazz.equals(bean.clazz);
+ }
}
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRefStore.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRefStore.java?rev=1804230&r1=1804229&r2=1804230&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRefStore.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRefStore.java
Sun Aug 6 10:53:10 2017
@@ -28,11 +28,16 @@ class BeanRefStore {
private SortedSet<BeanRef> reg = new TreeSet<BeanRef>();
void addBean(BeanRef beanRef) {
+ rejectOnConflict(beanRef);
reg.add(beanRef);
}
- Collection<BeanRef> getBeans() {
- return reg;
+ private void rejectOnConflict(BeanRef beanRef) {
+ for (BeanRef bean : reg) {
+ if(beanRef.conflictsWith(bean)){
+ throw new ConflictDetected(beanRef, bean);
+ }
+ }
}
BeanRef getMatching(BeanTemplate template) {
Added:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ConflictDetected.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ConflictDetected.java?rev=1804230&view=auto
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ConflictDetected.java
(added)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ConflictDetected.java
Sun Aug 6 10:53:10 2017
@@ -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.model;
+
+public class ConflictDetected extends RuntimeException {
+ ConflictDetected(BeanRef bean1, BeanRef bean2) {
+ super(String.format("Found two beans with id `%s`, but different
classes: [%s, %s]", bean1.id, bean1.clazz.getName(), bean2.clazz.getName()));
+ }
+}