1<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/maven-v4_0_0.xsd">
2  <modelVersion>4.0.0</modelVersion>
3  <groupId>org.javassist</groupId>
4  <artifactId>javassist</artifactId>
5  <packaging>bundle</packaging>
6  <description>
7  	Javassist (JAVA programming ASSISTant) makes Java bytecode manipulation
8    simple.  It is a class library for editing bytecodes in Java.
9  </description>
10  <version>3.24.1-GA</version>
11  <name>Javassist</name>
12  <url>http://www.javassist.org/</url>
13
14  <properties>
15    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16  </properties>
17  <organization>
18    <name>Shigeru Chiba, www.javassist.org</name>
19  </organization>
20
21  <issueManagement>
22    <system>JIRA</system>
23    <url>https://jira.jboss.org/jira/browse/JASSIST/</url>
24  </issueManagement>
25  <licenses>
26    <!-- this is the license under which javassist is usually distributed
27      -->
28    <license>
29      <name>MPL 1.1</name>
30      <url>http://www.mozilla.org/MPL/MPL-1.1.html</url>
31    </license>
32    <!-- this is the license under which javassist is distributed when
33	 it is bundled with JBoss
34      -->
35    <license>
36      <name>LGPL 2.1</name>
37      <url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
38    </license>
39    <!-- this is the license under which javassist can be distributed.
40      -->
41    <license>
42      <name>Apache License 2.0</name>
43      <url>http://www.apache.org/licenses/</url>
44    </license>
45  </licenses>
46
47  <scm>
48    <connection>scm:git:git@github.com:jboss-javassist/javassist.git</connection>
49    <developerConnection>scm:git:git@github.com:jboss-javassist/javassist.git</developerConnection>
50    <url>scm:git:git@github.com:jboss-javassist/javassist.git</url>
51  </scm>
52
53  <developers>
54    <developer>
55      <id>chiba</id>
56      <name>Shigeru Chiba</name>
57      <email>chiba@javassist.org</email>
58      <organization>The Javassist Project</organization>
59      <organizationUrl>http://www.javassist.org/</organizationUrl>
60      <roles>
61        <role>project lead</role>
62      </roles>
63      <timezone>9</timezone>
64    </developer>
65
66    <developer>
67      <id>adinn</id>
68      <name>Andrew Dinn</name>
69      <email>adinn@redhat.com</email>
70      <organization>JBoss</organization>
71      <organizationUrl>http://www.jboss.org/</organizationUrl>
72      <roles>
73        <role>contributing developer</role>
74      </roles>
75      <timezone>0</timezone>
76    </developer>
77
78    <developer>
79      <id>kabir.khan@jboss.com</id>
80      <name>Kabir Khan</name>
81      <email>kabir.khan@jboss.com</email>
82      <organization>JBoss</organization>
83      <organizationUrl>http://www.jboss.org/</organizationUrl>
84      <roles>
85        <role>contributing developer</role>
86      </roles>
87      <timezone>0</timezone>
88    </developer>
89
90    <developer>
91      <id>scottmarlow</id>
92      <name>Scott Marlow</name>
93      <email>smarlow@redhat.com</email>
94      <organization>JBoss</organization>
95      <organizationUrl>http://www.jboss.org/</organizationUrl>
96      <roles>
97        <role>contributing developer</role>
98      </roles>
99      <timezone>-5</timezone>
100    </developer>
101
102
103  </developers>
104
105  <distributionManagement>
106  <!--
107      You need entries in your .m2/settings.xml like this:
108   <servers>
109    <server>
110       <id>jboss-releases-repository</id>
111       <username>your_jboss.org_username</username>
112       <password>password</password>
113    </server>
114    <server>
115       <id>jboss-snapshots-repository</id>
116       <username>your_jboss.org_username</username>
117       <password>password</password>
118    </server>
119  </servers>
120
121  To deploy a snapshot, you need to run
122
123  mvn deploy -Dversion=3.x.y-SNAPSHOT
124
125  To deploy a release you need to change the version to 3.x.y.GA and run
126
127  mvn deploy
128    -->
129    <repository>
130      <id>jboss-releases-repository</id>
131      <name>JBoss Releases Repository</name>
132      <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
133    </repository>
134    <snapshotRepository>
135      <id>jboss-snapshots-repository</id>
136      <name>JBoss Snapshots Repository</name>
137      <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
138    </snapshotRepository>
139  </distributionManagement>
140  <build>
141    <sourceDirectory>src/main/</sourceDirectory>
142    <testSourceDirectory>src/test/</testSourceDirectory>
143    <testResources>
144      <testResource>
145        <directory>src/test/resources</directory>
146      </testResource>
147    </testResources>
148    <plugins>
149      <plugin>
150        <groupId>org.apache.maven.plugins</groupId>
151        <artifactId>maven-compiler-plugin</artifactId>
152        <version>3.2</version>
153        <configuration>
154          <source>1.7</source>
155          <target>1.7</target>
156          <testSource>11</testSource>
157          <testTarget>11</testTarget>
158          <testCompilerArgument>-parameters</testCompilerArgument>
159        </configuration>
160      </plugin>
161      <plugin>
162        <groupId>org.apache.maven.plugins</groupId>
163        <artifactId>maven-surefire-plugin</artifactId>
164        <version>2.18.1</version>
165        <configuration>
166          <includes>
167            <include>javassist/JvstTest.java</include>
168          </includes>
169          <forkMode>once</forkMode>
170          <additionalClasspathElements>
171            <additionalClasspathElement>resources</additionalClasspathElement>
172          </additionalClasspathElements>
173          <workingDirectory>${project.build.directory}/runtest</workingDirectory>
174        </configuration>
175      </plugin>
176      <plugin>
177        <groupId>org.apache.maven.plugins</groupId>
178        <artifactId>maven-jar-plugin</artifactId>
179        <version>2.6</version>
180        <configuration>
181          <archive>
182            <manifest>
183              <mainClass>javassist.CtClass</mainClass>
184              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
185            </manifest>
186          </archive>
187        </configuration>
188      </plugin>
189      <plugin>
190        <artifactId>maven-source-plugin</artifactId>
191        <version>2.0.4</version>
192        <executions>
193          <execution>
194            <id>attach-sources</id>
195            <goals>
196              <goal>jar</goal>
197            </goals>
198          </execution>
199        </executions>
200        <inherited>true</inherited>
201      </plugin>
202      <plugin>
203        <groupId>org.apache.maven.plugins</groupId>
204        <artifactId>maven-javadoc-plugin</artifactId>
205        <version>3.0.1</version>
206	<configuration>
207	  <attach>true</attach>
208          <excludePackageNames>javassist.compiler:javassist.convert:javassist.scopedpool:javassist.bytecode.stackmap</excludePackageNames>
209          <bottom><![CDATA[<i>Javassist, a Java-bytecode translator toolkit.<br>
210Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.</i>]]></bottom>
211          <show>public</show>
212          <nohelp>true</nohelp>
213          <doclint>none</doclint>
214	</configuration>
215      </plugin>
216      <plugin>
217        <groupId>org.apache.felix</groupId>
218        <artifactId>maven-bundle-plugin</artifactId>
219        <version>3.3.0</version>
220        <executions>
221          <execution>
222            <id>bundle-manifest</id>
223            <phase>process-classes</phase>
224            <goals>
225              <goal>manifest</goal>
226            </goals>
227          </execution>
228        </executions>
229        <configuration>
230          <supportedProjectTypes>
231            <supportedProjectType>jar</supportedProjectType>
232            <supportedProjectType>bundle</supportedProjectType>
233            <supportedProjectType>war</supportedProjectType>
234          </supportedProjectTypes>
235          <instructions>
236            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
237            <Bundle-Version>${project.version}</Bundle-Version>
238            <Import-Package>!com.sun.jdi.*</Import-Package>
239            <Export-Package>!com.sun.jdi.*,javassist.*;version="${project.version}"</Export-Package>
240          </instructions>
241        </configuration>
242        <extensions>true</extensions>
243      </plugin>
244    </plugins>
245  </build>
246  <profiles>
247    <!-- profile for releasing to sonatype repo
248	 exercise with mvn -PcentralRelease
249      -->
250    <profile>
251      <id>centralRelease</id>
252      <!-- obviously we need to use the Sonatype staging repo for upload -->
253      <distributionManagement>
254	<repository>
255	  <id>sonatype-releases-repository</id>
256	  <name>Sonatype Releases Repository</name>
257	  <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
258	</repository>
259      </distributionManagement>
260      <!-- we need to be able to sign the jars we install -->
261      <build>
262        <plugins>
263          <plugin>
264            <groupId>org.apache.maven.plugins</groupId>
265            <artifactId>maven-gpg-plugin</artifactId>
266            <configuration>
267              <passphrase>${gpg.passphrase}</passphrase>
268              <useAgent>${gpg.useAgent}</useAgent>
269            </configuration>
270            <executions>
271              <execution>
272                <id>sign-artifacts</id>
273                <phase>verify</phase>
274                <goals>
275                  <goal>sign</goal>
276                </goals>
277              </execution>
278            </executions>
279          </plugin>
280        </plugins>
281      </build>
282    </profile>
283    <!-- profiles to add tools jar containing com.sun.jdi code
284	 needed by sample code
285	 -->
286    <profile>
287      <id>default-tools</id>
288      <activation>
289        <jdk>[,1.8]</jdk>
290      </activation>
291      <dependencies>
292        <dependency>
293          <groupId>com.sun</groupId>
294          <artifactId>tools</artifactId>
295          <version>${java.version}</version>
296          <scope>system</scope>
297          <optional>true</optional>
298          <systemPath>${java.home}/../lib/tools.jar</systemPath>
299        </dependency>
300      </dependencies>
301    </profile>
302    <profile>
303      <id>java9-tools</id>
304      <activation>
305        <jdk>[1.9,]</jdk>
306      </activation>
307      <dependencies>
308        <dependency>
309          <groupId>com.sun</groupId>
310          <artifactId>tools</artifactId>
311          <version>${java.version}</version>
312          <scope>system</scope>
313          <optional>true</optional>
314          <systemPath>${java.home}/lib/jrt-fs.jar</systemPath>
315        </dependency>
316      </dependencies>
317    </profile>
318  </profiles>
319  <dependencies>
320    <dependency>
321        <groupId>junit</groupId>
322        <artifactId>junit</artifactId>
323        <version>4.12</version>
324        <scope>test</scope>
325    </dependency>
326    <dependency>
327        <groupId>org.hamcrest</groupId>
328        <artifactId>hamcrest-all</artifactId>
329        <version>1.3</version>
330        <scope>test</scope>
331    </dependency>
332  </dependencies>
333</project>
334
335