[MPLUGIN-150] Update to QDox 1.9.1
o Updated dependency and added IT to motivate update git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@773320 13f79535-47bb-0310-9956-ffa450edef68master
parent
c8a4f2eef2
commit
074cf5ba40
|
|
@ -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>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
package test;
|
||||
|
||||
public class ClassA
|
||||
{
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
invoker.goals.1 = clean install
|
||||
invoker.profiles.1 = setup
|
||||
|
||||
invoker.goals.2 = clean process-classes
|
||||
invoker.profiles.2 = test
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue