Author: bentmann Date: Sun May 10 10:06:36 2009 New Revision: 773320 URL: http://svn.apache.org/viewvc?rev=773320&view=rev Log: [MPLUGIN-150] Update to QDox 1.9.1
o Updated dependency and added IT to motivate update Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml (with props) maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java (with props) Modified: maven/plugin-tools/trunk/maven-plugin-tools-java/pom.xml Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml Sun May 10 10:06:36 2009 @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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> + + <parent> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr</artifactId> + <version>1.0</version> + </parent> + + <artifactId>ipcr-dep-a</artifactId> + <packaging>jar</packaging> + + <name>Dependency A</name> + <description> + Test that the component used to scan sources for annotations does not analyze classes from the plugin's own class + realm while traversing the class hierarchy (see QDOX-148). This module provides a simple dependency to build up + the class realm of interest. + </description> +</project> Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java Sun May 10 10:06:36 2009 @@ -0,0 +1,5 @@ +package test; + +public class ClassA +{ +} Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-a/src/main/java/test/ClassA.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml Sun May 10 10:06:36 2009 @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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> + + <parent> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr</artifactId> + <version>1.0</version> + </parent> + + <artifactId>ipcr-dep-b</artifactId> + <packaging>jar</packaging> + + <name>Dependency B</name> + <description> + Test that the component used to scan sources for annotations does not analyze classes from the plugin's own class + realm while traversing the class hierarchy (see QDOX-148). This module provides a simple dependency to build up + the class realm of interest. + </description> + + <dependencies> + <dependency> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr-dep-a</artifactId> + <version>1.0</version> + </dependency> + </dependencies> +</project> Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java Sun May 10 10:06:36 2009 @@ -0,0 +1,14 @@ +package test; + +public class ClassB +{ + + /** + * For the test we want to trigger a linkage error when resolving ClassA. However, we want this error to occur when + * analyzing ClassB and not when loading ClassB itself. + */ + public void triggerLazyLinkageError(ClassA param) + { + } + +} Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/dep-b/src/main/java/test/ClassB.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties Sun May 10 10:06:36 2009 @@ -0,0 +1,5 @@ +invoker.goals.1 = clean install +invoker.profiles.1 = setup + +invoker.goals.2 = clean process-classes +invoker.profiles.2 = test Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/invoker.properties ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml Sun May 10 10:06:36 2009 @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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.maven.its.plugin</groupId> + <artifactId>ipcr</artifactId> + <version>1.0</version> + <packaging>pom</packaging> + + <name>Aggregator</name> + <description> + Test that the component used to scan sources for annotations does not analyze classes from the plugin's own class + realm while traversing the class hierarchy (see QDOX-148). + </description> + + <profiles> + <profile> + <!-- builds the dependencies requires to exhibit the problem --> + <id>setup</id> + <modules> + <module>dep-a</module> + <module>dep-b</module> + </modules> + </profile> + <profile> + <!-- runs the test --> + <id>test</id> + <modules> + <module>test</module> + </modules> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <version>@project.version@</version> + </plugin> + </plugins> + </pluginManagement> + </build> + </profile> + </profiles> +</project> Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml Sun May 10 10:06:36 2009 @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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> + + <parent> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr</artifactId> + <version>1.0</version> + </parent> + + <artifactId>ipcr-plugin</artifactId> + <packaging>maven-plugin</packaging> + + <name>Test Plugin</name> + <description> + Test that the component used to scan sources for annotations does not analyze classes from the plugin's own class + realm while traversing the class hierarchy (see QDOX-148). This module provides the plugin sources to scan. + </description> + + <dependencies> + <!-- + This project depends on both ipcr-dep-b and (indirectly) ipcr-dep-a. However, the plugin realm only contains + ipcr-dep-b, causing a linkage error when erroneously traversing the class hierarchy. + --> + <dependency> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr-dep-b</artifactId> + <version>1.0</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr-dep-b</artifactId> + <version>1.0</version> + <exclusions> + <exclusion> + <groupId>org.apache.maven.its.plugin</groupId> + <artifactId>ipcr-dep-a</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> +</project> Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java?rev=773320&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java (added) +++ maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java Sun May 10 10:06:36 2009 @@ -0,0 +1,15 @@ +package test; + +/** + * This is the source class to be scanned for annotations. While scanning, QDox must not try to resolve references to + * other types like the super class from the plugin class realm. The plugin class realm has no relation at all to + * the project class path. In particular, the plugin class realm could (by incident) contain different versions of those + * types or could be incomplete (due to exclusions). The later case leads to NoClassDefFoundErrors, crashing the scan. + * + * @goal test + */ +public class SomeMojo + extends ClassB +{ + +} Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-plugin/src/it/ignore-plugin-class-realm/test/src/main/java/test/SomeMojo.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/plugin-tools/trunk/maven-plugin-tools-java/pom.xml URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/pom.xml?rev=773320&r1=773319&r2=773320&view=diff ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-tools-java/pom.xml (original) +++ maven/plugin-tools/trunk/maven-plugin-tools-java/pom.xml Sun May 10 10:06:36 2009 @@ -74,7 +74,7 @@ <dependency> <groupId>com.thoughtworks.qdox</groupId> <artifactId>qdox</artifactId> - <version>1.6.3</version> + <version>1.9.1</version> </dependency> </dependencies> </project>