|
| 1 | +<?xml version="1.0" encoding="UTF-8"?> |
1 | 2 | <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"> |
2 | 3 | <modelVersion>4.0.0</modelVersion> |
3 | 4 | <parent> |
4 | 5 | <groupId>com.infradna.tool</groupId> |
5 | 6 | <artifactId>bridge-method-injector-parent</artifactId> |
6 | | - <version>1.25-SNAPSHOT</version> |
7 | | - <relativePath>../pom.xml</relativePath> |
| 7 | + <version>${revision}${changelist}</version> |
8 | 8 | </parent> |
9 | 9 | <artifactId>bridge-method-injector</artifactId> |
10 | 10 | <packaging>maven-plugin</packaging> |
|
14 | 14 |
|
15 | 15 | <properties> |
16 | 16 | <asm.version>9.4</asm.version> |
| 17 | + <maven-plugin-tools.version>3.7.0</maven-plugin-tools.version> |
| 18 | + <!-- TODO fix violations --> |
| 19 | + <spotbugs.threshold>High</spotbugs.threshold> |
17 | 20 | </properties> |
18 | 21 |
|
19 | 22 | <build> |
20 | 23 | <plugins> |
21 | 24 | <plugin> |
22 | 25 | <groupId>org.apache.maven.plugins</groupId> |
23 | 26 | <artifactId>maven-plugin-plugin</artifactId> |
24 | | - <version>3.6.0</version> |
25 | | - </plugin> |
26 | | - <plugin> |
27 | | - <artifactId>maven-compiler-plugin</artifactId> |
28 | | - <version>3.8.1</version> |
29 | | - <configuration> |
30 | | - <source>1.8</source> |
31 | | - <target>1.8</target> |
32 | | - </configuration> |
33 | | - </plugin> |
34 | | - <plugin> |
35 | | - <groupId>org.apache.maven.plugins</groupId> |
36 | | - <artifactId>maven-release-plugin</artifactId> |
37 | | - <version>2.0</version> |
38 | | - <dependencies> |
39 | | - <dependency> |
40 | | - <groupId>org.apache.maven.scm</groupId> |
41 | | - <artifactId>maven-scm-provider-gitexe</artifactId> |
42 | | - <version>1.2</version> |
43 | | - </dependency> |
44 | | - </dependencies> |
| 27 | + <version>${maven-plugin-tools.version}</version> |
45 | 28 | </plugin> |
46 | 29 | <plugin> |
47 | 30 | <artifactId>maven-antrun-plugin</artifactId> |
|
52 | 35 | </goals> |
53 | 36 | <phase>test</phase> |
54 | 37 | <configuration> |
55 | | - <tasks> |
| 38 | + <target> |
56 | 39 | <delete dir="target/test-classes" /> |
57 | 40 | <mkdir dir="target/test-classes/v1" /> |
58 | 41 | <mkdir dir="target/test-classes/v2" /> |
59 | 42 | <mkdir dir="target/test-classes/client" /> |
60 | 43 | <mkdir dir="target/test-classes/synthetics" /> |
61 | 44 |
|
62 | 45 | <!-- basic sanity. unmodified client and v1 should work as expected --> |
63 | | - <javac source="8" target="8" srcdir="src/test/v1" destdir="target/test-classes/v1" /> |
64 | | - <javac source="8" target="8" srcdir="src/test/client" destdir="target/test-classes/client" classpath="target/test-classes/v1" /> |
65 | | - <java classname="Main" args="foo" failonerror="true"> |
| 46 | + <javac release="${maven.compiler.release}" srcdir="src/test/v1" destdir="target/test-classes/v1" includeantruntime="false" /> |
| 47 | + <javac release="${maven.compiler.release}" srcdir="src/test/client" destdir="target/test-classes/client" classpath="target/test-classes/v1" includeantruntime="false" /> |
| 48 | + <java classname="Main" failonerror="true"> |
| 49 | + <arg value="foo" /> |
66 | 50 | <classpath> |
67 | 51 | <pathelement path="target/test-classes/v1" /> |
68 | 52 | <pathelement path="target/test-classes/client" /> |
69 | 53 | </classpath> |
70 | 54 | </java> |
71 | 55 |
|
72 | 56 | <!-- compile v2 --> |
73 | | - <javac source="8" target="8" srcdir="src/test/v2" destdir="target/test-classes/v2" classpath="${maven.compile.classpath}"> |
| 57 | + <javac release="${maven.compiler.release}" srcdir="src/test/v2" destdir="target/test-classes/v2" classpath="${maven.compile.classpath}" includeantruntime="false"> |
74 | 58 | <compilerarg value="-XprintProcessorInfo" /> |
75 | 59 | <classpath> |
76 | 60 | <pathelement path="target/classes" /> |
|
79 | 63 | </javac> |
80 | 64 |
|
81 | 65 | <!-- post process v2 --> |
82 | | - <java classname="com.infradna.tool.bridge_method_injector.MethodInjector" args="${project.basedir}/target/test-classes/v2" failonerror="true"> |
| 66 | + <java classname="com.infradna.tool.bridge_method_injector.MethodInjector" failonerror="true"> |
| 67 | + <arg value="${project.basedir}/target/test-classes/v2" /> |
83 | 68 | <classpath refid="maven.compile.classpath" /> |
84 | 69 | </java> |
85 | 70 |
|
86 | 71 | <!-- verify that unmodified client code continue to work with v2 binary --> |
87 | | - <java classname="Main" args="bar" failonerror="true"> |
| 72 | + <java classname="Main" failonerror="true"> |
| 73 | + <arg value="bar" /> |
88 | 74 | <classpath> |
89 | 75 | <pathelement path="target/test-classes/v2" /> |
90 | 76 | <pathelement path="target/test-classes/client" /> |
91 | 77 | </classpath> |
92 | 78 | </java> |
93 | 79 |
|
94 | 80 | <!-- compile synthetics --> |
95 | | - <javac source="8" target="8" srcdir="src/test/synthetics" destdir="target/test-classes/synthetics" classpath="${maven.compile.classpath}"> |
| 81 | + <javac release="${maven.compiler.release}" srcdir="src/test/synthetics" destdir="target/test-classes/synthetics" classpath="${maven.compile.classpath}" includeantruntime="false"> |
96 | 82 | <compilerarg value="-XprintProcessorInfo" /> |
97 | 83 | <classpath> |
98 | 84 | <pathelement path="target/classes" /> |
|
101 | 87 | </javac> |
102 | 88 |
|
103 | 89 | <!-- post process synthetics --> |
104 | | - <java classname="com.infradna.tool.bridge_method_injector.MethodInjector" args="${project.basedir}/target/test-classes/synthetics" failonerror="true"> |
| 90 | + <java classname="com.infradna.tool.bridge_method_injector.MethodInjector" failonerror="true"> |
| 91 | + <arg value="${project.basedir}/target/test-classes/synthetics" /> |
105 | 92 | <classpath refid="maven.compile.classpath" /> |
106 | 93 | </java> |
107 | 94 |
|
108 | 95 | <!-- was testing source compatibility, but with widening change it won't work anymore --> |
109 | 96 | <!-- |
110 | 97 | <mkdir dir="target/test-classes/client-on-v2" /> |
111 | | - <javac source="8" target="8" srcdir="src/test/client" destdir="target/test-classes/client-on-v2"> |
| 98 | + <javac release="${maven.compiler.release}" srcdir="src/test/client" destdir="target/test-classes/client-on-v2" includeantruntime="false"> |
112 | 99 | <classpath> |
113 | 100 | <pathelement path="target/test-classes/v2" /> |
114 | 101 | </classpath> |
115 | 102 | </javac> |
116 | | - <java classname="Main" args="bar" failonerror="true"> |
| 103 | + <java classname="Main" failonerror="true"> |
| 104 | + <arg value="bar" /> |
117 | 105 | <classpath> |
118 | 106 | <pathelement path="target/test-classes/v2" /> |
119 | 107 | <pathelement path="target/test-classes/client-on-v2" /> |
120 | 108 | </classpath> |
121 | 109 | </java> |
122 | 110 | --> |
123 | | - </tasks> |
| 111 | + </target> |
124 | 112 | </configuration> |
125 | 113 | </execution> |
126 | 114 | </executions> |
127 | | - <dependencies> |
128 | | - <dependency> |
129 | | - <groupId>com.sun</groupId> |
130 | | - <artifactId>tools</artifactId> |
131 | | - <version>1.8</version> |
132 | | - <scope>system</scope> |
133 | | - <systemPath>${java.home}/../lib/tools.jar</systemPath> |
134 | | - </dependency> |
135 | | - </dependencies> |
136 | 115 | </plugin> |
137 | 116 | </plugins> |
138 | | - <extensions> |
139 | | - <extension> |
140 | | - <groupId>org.jvnet.wagon-svn</groupId> |
141 | | - <artifactId>wagon-svn</artifactId> |
142 | | - <version>1.9</version> |
143 | | - </extension> |
144 | | - </extensions> |
145 | 117 | </build> |
146 | 118 |
|
147 | | - <scm> |
148 | | - <connection>scm:git:git@github.com:infradna/bridge-method-injector.git</connection> |
149 | | - <tag>HEAD</tag> |
150 | | - </scm> |
151 | | - |
152 | | - <developers> |
153 | | - <developer> |
154 | | - <id>kohsuke</id> |
155 | | - <name>Kohsuke Kawaguchi</name> |
156 | | - </developer> |
157 | | - </developers> |
158 | | - |
159 | | - <licenses> |
160 | | - <license> |
161 | | - <name>MIT License</name> |
162 | | - <distribution>repository</distribution> |
163 | | - <url>http://www.opensource.org/licenses/mit-license.php</url> |
164 | | - </license> |
165 | | - </licenses> |
166 | | - |
167 | 119 | <dependencies> |
168 | 120 | <dependency> |
169 | 121 | <groupId>${project.groupId}</groupId> |
170 | 122 | <artifactId>bridge-method-annotation</artifactId> |
171 | 123 | <version>${project.version}</version> |
172 | 124 | </dependency> |
| 125 | + <dependency> |
| 126 | + <groupId>com.github.spotbugs</groupId> |
| 127 | + <artifactId>spotbugs-annotations</artifactId> |
| 128 | + <optional>true</optional> |
| 129 | + <exclusions> |
| 130 | + <exclusion> |
| 131 | + <groupId>com.google.code.findbugs</groupId> |
| 132 | + <artifactId>jsr305</artifactId> |
| 133 | + </exclusion> |
| 134 | + </exclusions> |
| 135 | + </dependency> |
173 | 136 | <dependency> |
174 | 137 | <groupId>org.ow2.asm</groupId> |
175 | 138 | <artifactId>asm</artifactId> |
|
180 | 143 | <artifactId>asm-commons</artifactId> |
181 | 144 | <version>${asm.version}</version> |
182 | 145 | </dependency> |
| 146 | + <dependency> |
| 147 | + <groupId>org.apache.maven</groupId> |
| 148 | + <artifactId>maven-plugin-api</artifactId> |
| 149 | + <version>3.8.6</version> |
| 150 | + <scope>provided</scope> |
| 151 | + </dependency> |
| 152 | + <dependency> |
| 153 | + <groupId>org.apache.maven.plugin-tools</groupId> |
| 154 | + <artifactId>maven-plugin-annotations</artifactId> |
| 155 | + <version>${maven-plugin-tools.version}</version> |
| 156 | + <scope>provided</scope> |
| 157 | + </dependency> |
183 | 158 | <dependency> |
184 | 159 | <groupId>junit</groupId> |
185 | 160 | <artifactId>junit</artifactId> |
186 | | - <version>4.13.1</version> |
187 | 161 | <scope>test</scope> |
188 | 162 | </dependency> |
189 | | - <dependency> |
190 | | - <groupId>org.apache.maven</groupId> |
191 | | - <artifactId>maven-plugin-api</artifactId> |
192 | | - <version>2.0.1</version> |
193 | | - </dependency> |
194 | 163 | </dependencies> |
195 | 164 |
|
196 | 165 | </project> |
0 commit comments