Browse Source

Issue-#426: Standardize directory structure

pull/429/head
Hiroshi Ukai 1 year ago
parent
commit
21f7cbb737
3 changed files with 349 additions and 332 deletions
  1. 343
    322
      pom.xml
  2. 0
    4
      src/main/java/META-INF/MANIFEST.MF
  3. 6
    6
      src/main/java/javassist/CtClass.java

+ 343
- 322
pom.xml View File

@@ -1,341 +1,362 @@
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<packaging>bundle</packaging>
<description>
Javassist (JAVA programming ASSISTant) makes Java bytecode manipulation
simple. It is a class library for editing bytecodes in Java.
</description>
<version>3.29.1-GA</version>
<name>Javassist</name>
<url>http://www.javassist.org/</url>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<packaging>bundle</packaging>
<description>
Javassist (JAVA programming ASSISTant) makes Java bytecode manipulation
simple. It is a class library for editing bytecodes in Java.
</description>
<version>3.29.3-GA-SNAPSHOT</version>
<name>Javassist</name>
<url>http://www.javassist.org/</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-compiler-plugin.source>1.8</maven-compiler-plugin.source>
<maven-compiler-plugin.target>1.8</maven-compiler-plugin.target>
<maven-compiler-plugin.testSource>11</maven-compiler-plugin.testSource>
<maven-compiler-plugin.testTarget>11</maven-compiler-plugin.testTarget>
<!-- Maven plugin versions -->
<maven-compiler-plugin.version>3.2</maven-compiler-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<maven-jar-plugin.version>2.6</maven-jar-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
<maven-bundle-plugin.version>3.3.0</maven-bundle-plugin.version>
<junit.version>[4.13.1,)</junit.version>
<hamcrest-all.version>1.3</hamcrest-all.version>
</properties>
<organization>
<name>Shigeru Chiba, www.javassist.org</name>
</organization>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-compiler-plugin.source>1.8</maven-compiler-plugin.source>
<maven-compiler-plugin.target>1.8</maven-compiler-plugin.target>
<maven-compiler-plugin.testSource>11</maven-compiler-plugin.testSource>
<maven-compiler-plugin.testTarget>11</maven-compiler-plugin.testTarget>
<!-- Maven plugin versions -->
<maven-compiler-plugin.version>3.2</maven-compiler-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<maven-jar-plugin.version>2.6</maven-jar-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
<maven-bundle-plugin.version>3.3.0</maven-bundle-plugin.version>
<junit.version>[4.13.1,)</junit.version>
<hamcrest-all.version>1.3</hamcrest-all.version>
</properties>
<organization>
<name>Shigeru Chiba, www.javassist.org</name>
</organization>

<issueManagement>
<system>JIRA</system>
<url>https://jira.jboss.org/jira/browse/JASSIST/</url>
</issueManagement>
<licenses>
<!-- this is the license under which javassist is usually distributed
-->
<license>
<name>MPL 1.1</name>
<url>http://www.mozilla.org/MPL/MPL-1.1.html</url>
</license>
<!-- this is the license under which javassist is distributed when
it is bundled with JBoss
-->
<license>
<name>LGPL 2.1</name>
<url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
</license>
<!-- this is the license under which javassist can be distributed.
-->
<license>
<name>Apache License 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<issueManagement>
<system>JIRA</system>
<url>https://jira.jboss.org/jira/browse/JASSIST/</url>
</issueManagement>
<licenses>
<!-- this is the license under which javassist is usually distributed
-->
<license>
<name>MPL 1.1</name>
<url>http://www.mozilla.org/MPL/MPL-1.1.html</url>
</license>
<!-- this is the license under which javassist is distributed when
it is bundled with JBoss
-->
<license>
<name>LGPL 2.1</name>
<url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
</license>
<!-- this is the license under which javassist can be distributed.
-->
<license>
<name>Apache License 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>

<scm>
<connection>scm:git:git@github.com:jboss-javassist/javassist.git</connection>
<developerConnection>scm:git:git@github.com:jboss-javassist/javassist.git</developerConnection>
<url>scm:git:git@github.com:jboss-javassist/javassist.git</url>
</scm>
<scm>
<connection>scm:git:git@github.com:jboss-javassist/javassist.git
</connection>
<developerConnection>
scm:git:git@github.com:jboss-javassist/javassist.git
</developerConnection>
<url>scm:git:git@github.com:jboss-javassist/javassist.git</url>
</scm>

<developers>
<developer>
<id>chiba</id>
<name>Shigeru Chiba</name>
<email>chiba@javassist.org</email>
<organization>The Javassist Project</organization>
<organizationUrl>http://www.javassist.org/</organizationUrl>
<roles>
<role>project lead</role>
</roles>
<timezone>9</timezone>
</developer>
<developers>
<developer>
<id>chiba</id>
<name>Shigeru Chiba</name>
<email>chiba@javassist.org</email>
<organization>The Javassist Project</organization>
<organizationUrl>http://www.javassist.org/</organizationUrl>
<roles>
<role>project lead</role>
</roles>
<timezone>9</timezone>
</developer>

<developer>
<id>adinn</id>
<name>Andrew Dinn</name>
<email>adinn@redhat.com</email>
<organization>JBoss</organization>
<organizationUrl>http://www.jboss.org/</organizationUrl>
<roles>
<role>contributing developer</role>
</roles>
<timezone>0</timezone>
</developer>
<developer>
<id>adinn</id>
<name>Andrew Dinn</name>
<email>adinn@redhat.com</email>
<organization>JBoss</organization>
<organizationUrl>http://www.jboss.org/</organizationUrl>
<roles>
<role>contributing developer</role>
</roles>
<timezone>0</timezone>
</developer>

<developer>
<id>kabir.khan@jboss.com</id>
<name>Kabir Khan</name>
<email>kabir.khan@jboss.com</email>
<organization>JBoss</organization>
<organizationUrl>http://www.jboss.org/</organizationUrl>
<roles>
<role>contributing developer</role>
</roles>
<timezone>0</timezone>
</developer>
<developer>
<id>scottmarlow</id>
<name>Scott Marlow</name>
<email>smarlow@redhat.com</email>
<organization>JBoss</organization>
<organizationUrl>http://www.jboss.org/</organizationUrl>
<roles>
<role>contributing developer</role>
</roles>
<timezone>-5</timezone>
</developer>
<developer>
<id>kabir.khan@jboss.com</id>
<name>Kabir Khan</name>
<email>kabir.khan@jboss.com</email>
<organization>JBoss</organization>
<organizationUrl>http://www.jboss.org/</organizationUrl>
<roles>
<role>contributing developer</role>
</roles>
<timezone>0</timezone>
</developer>

<developer>
<id>scottmarlow</id>
<name>Scott Marlow</name>
<email>smarlow@redhat.com</email>
<organization>JBoss</organization>
<organizationUrl>http://www.jboss.org/</organizationUrl>
<roles>
<role>contributing developer</role>
</roles>
<timezone>-5</timezone>
</developer>

</developers>

<distributionManagement>
<!--
You need entries in your .m2/settings.xml like this:
<servers>
<server>
<id>jboss-releases-repository</id>
<username>your_jboss.org_username</username>
<password>password</password>
</server>
<server>
<id>jboss-snapshots-repository</id>
<username>your_jboss.org_username</username>
<password>password</password>
</server>
</servers>
To deploy a snapshot, you need to run
mvn deploy -Dversion=3.x.y-SNAPSHOT
</developers>

To deploy a release you need to change the version to 3.x.y-GA and run
<distributionManagement>
<!--
You need entries in your .m2/settings.xml like this:
<servers>
<server>
<id>jboss-releases-repository</id>
<username>your_jboss.org_username</username>
<password>password</password>
</server>
<server>
<id>jboss-snapshots-repository</id>
<username>your_jboss.org_username</username>
<password>password</password>
</server>
</servers>

mvn deploy
-->
<repository>
<id>jboss-releases-repository</id>
<name>JBoss Releases Repository</name>
<url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
</repository>
<snapshotRepository>
<id>jboss-snapshots-repository</id>
<name>JBoss Snapshots Repository</name>
<url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${maven-compiler-plugin.source}</source>
<target>${maven-compiler-plugin.target}</target>
<testSource>${maven-compiler-plugin.testSource}</testSource>
<testTarget>${maven-compiler-plugin.testTarget}</testTarget>
<testCompilerArgument>-parameters</testCompilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include>javassist/JvstTest.java</include>
</includes>
<forkMode>once</forkMode>
<additionalClasspathElements>
<additionalClasspathElement>resources</additionalClasspathElement>
</additionalClasspathElements>
<workingDirectory>${project.build.directory}/runtest</workingDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
<mainClass>javassist.CtClass</mainClass>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<attach>true</attach>
<excludePackageNames>javassist.compiler:javassist.convert:javassist.scopedpool:javassist.bytecode.stackmap</excludePackageNames>
<bottom><![CDATA[<i>Javassist, a Java-bytecode translator toolkit.<br>
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.</i>]]></bottom>
<show>public</show>
<nohelp>true</nohelp>
<doclint>none</doclint>
<source>8</source>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven-bundle-plugin.version}</version>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<supportedProjectTypes>
<supportedProjectType>jar</supportedProjectType>
<supportedProjectType>bundle</supportedProjectType>
<supportedProjectType>war</supportedProjectType>
</supportedProjectTypes>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Import-Package>!com.sun.jdi.*</Import-Package>
<Export-Package>!com.sun.jdi.*,javassist.*;version="${project.version}"</Export-Package>
</instructions>
</configuration>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<profiles>
<!-- profile for releasing to sonatype repo
exercise with mvn -PcentralRelease
-->
<profile>
<id>centralRelease</id>
<!-- obviously we need to use the Sonatype staging repo for upload -->
<distributionManagement>
<repository>
<id>sonatype-releases-repository</id>
<name>Sonatype Releases Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
</distributionManagement>
<!-- we need to be able to sign the jars we install -->
<build>
To deploy a snapshot, you need to run

mvn deploy -Dversion=3.x.y-SNAPSHOT

To deploy a release you need to change the version to 3.x.y-GA and run

mvn deploy
-->
<repository>
<id>jboss-releases-repository</id>
<name>JBoss Releases Repository</name>
<url>
https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/
</url>
</repository>
<snapshotRepository>
<id>jboss-snapshots-repository</id>
<name>JBoss Snapshots Repository</name>
<url>
https://repository.jboss.org/nexus/content/repositories/snapshots/
</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
<useAgent>${gpg.useAgent}</useAgent>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${maven-compiler-plugin.source}</source>
<target>${maven-compiler-plugin.target}</target>
<testSource>${maven-compiler-plugin.testSource}</testSource>
<testTarget>${maven-compiler-plugin.testTarget}</testTarget>
<testCompilerArgument>-parameters</testCompilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include>javassist/JvstTest.java</include>
</includes>
<forkMode>once</forkMode>
<additionalClasspathElements>
<additionalClasspathElement>resources
</additionalClasspathElement>
</additionalClasspathElements>
<workingDirectory>${project.build.directory}/runtest
</workingDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
<mainClass>javassist.CtClass</mainClass>
<addDefaultSpecificationEntries>true
</addDefaultSpecificationEntries>
</manifest>
<manifestFile>src/main/java/META-INF/MANIFEST.MF
</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<attach>true</attach>
<excludePackageNames>
javassist.compiler:javassist.convert:javassist.scopedpool:javassist.bytecode.stackmap
</excludePackageNames>
<bottom><![CDATA[<i>Javassist, a Java-bytecode translator toolkit.<br>
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.</i>]]></bottom>
<show>public</show>
<nohelp>true</nohelp>
<doclint>none</doclint>
<source>8</source>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven-bundle-plugin.version}</version>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<supportedProjectTypes>
<supportedProjectType>jar</supportedProjectType>
<supportedProjectType>bundle</supportedProjectType>
<supportedProjectType>war</supportedProjectType>
</supportedProjectTypes>
<instructions>
<Bundle-SymbolicName>${project.artifactId}
</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Import-Package>!com.sun.jdi.*</Import-Package>
<Export-Package>
!com.sun.jdi.*,javassist.*;version="${project.version}"
</Export-Package>
</instructions>
</configuration>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</profile>
<!-- profiles to add tools jar containing com.sun.jdi code
needed by sample code
-->
<profile>
<id>default-tools</id>
<activation>
<jdk>[,1.8]</jdk>
</activation>
<dependencies>
</build>
<profiles>
<!-- profile for releasing to sonatype repo
exercise with mvn -PcentralRelease
-->
<profile>
<id>centralRelease</id>
<!-- obviously we need to use the Sonatype staging repo for upload -->
<distributionManagement>
<repository>
<id>sonatype-releases-repository</id>
<name>Sonatype Releases Repository</name>
<url>
https://oss.sonatype.org/service/local/staging/deploy/maven2
</url>
</repository>
</distributionManagement>
<!-- we need to be able to sign the jars we install -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
<useAgent>${gpg.useAgent}</useAgent>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- profiles to add tools jar containing com.sun.jdi code
needed by sample code
-->
<profile>
<id>default-tools</id>
<activation>
<jdk>[,1.8]</jdk>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>${java.version}</version>
<scope>system</scope>
<optional>true</optional>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
<profile>
<id>java9-tools</id>
<activation>
<jdk>[1.9,]</jdk>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>${java.version}</version>
<scope>system</scope>
<optional>true</optional>
<systemPath>${java.home}/lib/jrt-fs.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>${java.version}</version>
<scope>system</scope>
<optional>true</optional>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>java9-tools</id>
<activation>
<jdk>[1.9,]</jdk>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>${java.version}</version>
<scope>system</scope>
<optional>true</optional>
<systemPath>${java.home}/lib/jrt-fs.jar</systemPath>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${hamcrest-all.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${hamcrest-all.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencies>
</project>


+ 0
- 4
src/main/java/META-INF/MANIFEST.MF View File

@@ -1,5 +1 @@
Specification-Title: Javassist
Specification-Vendor: Shigeru Chiba, www.javassist.org
Specification-Version: 3.29.1-GA
Main-Class: javassist.CtClass
Automatic-Module-Name: org.javassist

+ 6
- 6
src/main/java/javassist/CtClass.java View File

@@ -69,7 +69,7 @@ public abstract class CtClass {
/**
* The version number of this release.
*/
public static final String version = "3.29.1-GA";
public static final String version = CtClass.class.getPackage().getSpecificationVersion();

/**
* Prints the version number and the copyright notice.
@@ -583,7 +583,7 @@ public abstract class CtClass {
* For decoding, use <code>javassist.Modifier</code>.
*
* <p>If the class is a static nested class (a.k.a. static inner class),
* the returned modifiers include <code>Modifier.STATIC</code>.
* the returned modifiers include <code>Modifier.STATIC</code>.
*
* @see Modifier
*/
@@ -785,7 +785,7 @@ public abstract class CtClass {
/**
* Returns the immediately enclosing method of this class.
* This method works only with JDK 1.5 or later.
*
*
* @return null if this class is not a local class or an anonymous
* class.
* @deprecated The enclosing method might be a constructor.
@@ -818,7 +818,7 @@ public abstract class CtClass {
/**
* Makes a new public nested class. If this method is called,
* the <code>CtClass</code>, which encloses the nested class, is modified
* since a class file includes a list of nested classes.
* since a class file includes a list of nested classes.
*
* <p>The current implementation only supports a static nested class.
* <code>isStatic</code> must be true.
@@ -1443,7 +1443,7 @@ public abstract class CtClass {
* <p>If <code>ClassPool.doPruning</code> is true, the automatic pruning
* is on by default. Otherwise, it is off. The default value of
* <code>ClassPool.doPruning</code> is false.
*
*
* @param stop disallow pruning if true. Otherwise, allow.
* @return the previous status of pruning. true if pruning is already stopped.
*
@@ -1467,7 +1467,7 @@ public abstract class CtClass {
*
* <p><code>toBytecode()</code>, <code>writeFile()</code>, and
* <code>toClass()</code> internally call this method if
* automatic pruning is on.
* automatic pruning is on.
*
* <p>According to some experiments, pruning does not really reduce
* memory consumption. Only about 20%. Since pruning takes time,

Loading…
Cancel
Save