Spoon Core.
Spoon is a Java program processor that fully supports Java 5. It provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions...) can be accessed both for reading and modification..
Here is the list of declaration for spoon-core. If you use Maven you can use the following code to add the dependency for this POM file.
<dependency> <groupId>fr.inria.gforge.spoon</groupId> <artifactId>spoon-core</artifactId> <version>1.4</version> </dependency>
If you think this Maven repository POM file listing for spoon-core is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Name:CeCILL-C
URL: http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.txt.
The spoon-core-1.4 has 3 dependencies.The most popular ones are listed in the following table along with their categories and number of artifacts depending on them.
Category | Artifact | Depended By Count |
---|---|---|
Development | jsap 2.1 the Java-based Simple Argument Parser | 37 |
The following plugins are used in the spoon-core-1.4.jar
The following packages are defined in the spoon-core-1.4.jar
spoon spoon.processing spoon.reflect spoon.reflect.code spoon.reflect.cu spoon.reflect.declaration spoon.reflect.eval spoon.reflect.eval.observer spoon.reflect.factory spoon.reflect.reference spoon.reflect.visitor spoon.reflect.visitor.filter spoon.support spoon.support.builder spoon.support.builder.support spoon.support.gui spoon.support.processing spoon.support.reflect.code spoon.support.reflect.cu spoon.support.reflect.declaration spoon.support.reflect.eval spoon.support.reflect.reference spoon.support.template spoon.support.util spoon.support.visitor spoon.template
Here is the content of the POM file.
<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>fr.inria.gforge.spoon</groupId> <artifactId>spoon-core</artifactId> <packaging>jar</packaging> <version>1.4</version> <name>Spoon Core</name> <description> Spoon is a Java program processor that fully supports Java 5. It provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions...) can be accessed both for reading and modification. </description> <url>http://spoon.gforge.inria.fr/</url> <inceptionYear>2007</inceptionYear> <licenses> <license> <name>CeCILL-C</name> <comments>French equivalent to LGPL</comments> <url>http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.txt</url> <distribution>repo</distribution> </license> </licenses> <issueManagement> <system>gforge</system> <url>http://gforge.inria.fr/tracker/?group_id=73</url> </issueManagement> <mailingLists> <mailingList> <name>spoon-discuss</name> <subscribe>http://lists.gforge.inria.fr/mailman/listinfo/spoon-discuss</subscribe> <unsubscribe>http://lists.gforge.inria.fr/mailman/listinfo/spoon-discuss</unsubscribe> <archive>http://lists.gforge.inria.fr/pipermail/spoon-discuss/</archive> </mailingList> </mailingLists> <scm> <connection>scm:cvs:pserver:anonymous@scm.gforge.inria.fr:/cvsroot/spoon:spoon-core</connection> <url>http://gforge.inria.fr/plugins/scmcvs/cvsweb.php/spoon-core/?cvsroot=spoon</url> <developerConnection>scm:cvs:ext:dwayneb@scm.gforge.inria.fr:/cvsroot/spoon:spoon-core</developerConnection> <tag>spoon-core-1_4</tag> </scm> <properties> <java.src.version>1.5</java.src.version> <runtime.log>target/velocity.log</runtime.log> </properties> <dependencies> <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> <version>3.3.0.771</version> </dependency> <dependency> <groupId>com.martiansoftware</groupId> <artifactId>jsap</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> <version>1.6.5</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.src.version}</source> <target>${java.src.version}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>spoon.Launcher</mainClass> <addClasspath>true</addClasspath> </manifest> </archive> </configuration> </plugin> <!-- clean coverage data before collecting --> <plugin> <artifactId>cobertura-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> <version>2.0</version> <executions> <execution> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <dependencies> <dependency> <groupId>sun.jdk</groupId> <artifactId>tools</artifactId> <version>${java.src.version}.0</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency> </dependencies> <executions> <execution> <phase>test</phase> <configuration> <tasks> <taskdef name="spoon" classname="spoon.SpoonTask" classpathref="maven.test.classpath" /> <property name="project.src.java" value="${basedir}/src/main/java" /> <property name="project.test.java" value="${basedir}/src/test/java" /> <echo>TEST 1: Processing tests</echo> <mkdir dir="${project.build.directory}/spooned-test" /> <mkdir dir="${project.build.directory}/spooned-test-classes" /> <spoon classpathref="maven.test.classpath" verbose="true" output="${project.build.directory}/spooned-test" compile="true" build="${project.build.directory}/spooned-test-classes" fork="false"> <sourceSet dir="${project.test.java}" /> <processor type="spoon.test.processing.TestProcessor" /> </spoon> <!--delete dir="${project.build.directory}/spooned-test" /--> <delete dir="${project.build.directory}/spooned-test-classes" /> <!--Spoon on spoon --> <echo>TEST 2: Spoon on Spoon</echo> <echo>PHASE 1: recompile Spoon with Spoon</echo> <mkdir dir="${project.build.directory}/spooned1" /> <mkdir dir="${project.build.directory}/spooned1-classes" /> <!-- compile="true" build="${project.build.directory}/spooned1-classes" --> <spoon classpathref="maven.test.classpath" verbose="true" output="${project.build.directory}/spooned1" compile="true" build="${project.build.directory}/spooned1-classes" maxmemory="512m" fork="false"> <sourceSet dir="${project.src.java}" /> </spoon> <!-- <javac srcdir="${project.build.directory}/spooned1" source="${java.src.version}" target="${java.src.version}" classpathref="maven.test.classpath" nowarn="true" destdir="${project.build.directory}/spooned1-classes" /> --> <echo>PHASE 2: recompile Spoon with recompiled Spoon</echo> <mkdir dir="${project.build.directory}/spooned2" /> <path id="spoon2.classpath"> <pathelement location="${project.build.directory}/spooned1-classes" /> <path refid="maven.compile.classpath" /> </path> <property name="spoon2_classpath" refid="spoon2.classpath" /> <!-- <echo message="classpath2= ${spoon2_classpath}" /> --> <taskdef name="spoon2" classname="spoon.SpoonTask" classpathref="spoon2.classpath" /> <spoon2 classpathref="spoon2.classpath" verbose="true" output="${project.build.directory}/spooned2"> <sourceSet dir="${project.build.directory}/spooned1" /> </spoon2> <javac srcdir="${project.build.directory}/spooned2" source="${java.src.version}" target="${java.src.version}" classpathref="maven.test.classpath" nowarn="true" /> <echo>PHASE 3: clean</echo> <delete dir="${project.build.directory}/spooned1" /> <delete dir="${project.build.directory}/spooned1-classes" /> <delete dir="${project.build.directory}/spooned2" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> <configuration> <linkXref>true</linkXref> <sourceEncoding>utf-8</sourceEncoding> <minimumTokens>100</minimumTokens> <targetJdk>${java.src.version}</targetJdk> </configuration> <reportSets> <reportSet> <reports> <report>pmd</report> <report>cpd</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <excludePackageNames>spoon.support.*</excludePackageNames> <minmemory>128m</minmemory> <maxmemory>512m</maxmemory> <encoding>UTF-8</encoding> <docencoding>UTF-8</docencoding> <charset>UTF-8</charset> <doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet> <docletArtifact> <groupId>gr.spinellis</groupId> <artifactId>UmlGraph</artifactId> <version>4.6</version> </docletArtifact> <links> <link>http://java.sun.com/j2se/${java.src.version}/docs/api/</link> <link>http://slf4j.org/api/</link> <link>http://jakarta.apache.org/commons/logging/apidocs/</link> <link>http://logging.apache.org/log4j/docs/api/</link> <link>http://people.apache.org/~tobrien/wicket/apidocs/</link> <link>http://commons.apache.org/lang/api-release/</link> <link>http://commons.apache.org/io/api-release/</link> <link>http://testng.org/javadocs/</link> <link>http://junit.sourceforge.net/javadoc/</link> <link>http://help.eclipse.org/help33/topic/org.eclipse.jdt.doc.isv/reference/api/</link> </links> </configuration> </plugin> <plugin> <artifactId>maven-jxr-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <!-- version 2.1 is bugged ouput coverage 100% or 0% --> <version>2.0</version> <configuration> <formats> <format>xml</format> <format>html</format> </formats> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <configuration> <tags> <tag>TODO</tag> <tag>FIXME</tag> <tag>@todo</tag> <tag>@deprecated</tag> </tags> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>2.0-beta-2</version> <configuration> <issueLinkTemplate>%URL%/tracker/index.php?aid=%ISSUE%</issueLinkTemplate> </configuration> <reportSets> <reportSet> <reports> <report>changes-report</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <repositories> <repository> <id>gforge.inria.fr</id> <name>Maven Repository for Inria Projects</name> <url>http://maven-repo.gforge.inria.fr/download/releases</url> <releases /> </repository> </repositories> <profiles> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> <!-- descriptorRef>project</descriptorRef--> </descriptorRefs> <!-- descriptor>src/main/assembly/project.xml</descriptor--> </configuration> <executions> <execution> <id>make-assembly</id><!-- this is used for inheritance merges --> <phase>package</phase><!-- append to the packaging phase. --> <goals> <goal>attached</goal><!-- goals == mojos --> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <minmemory>128m</minmemory> <maxmemory>512</maxmemory> <excludePackageNames>spoon.support.*</excludePackageNames> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <distributionManagement> <repository> <id>gforge.inria.fr</id> <name>inria</name> <url>scp://gforge.inria.fr/home/groups/maven-repo/htdocs/releases</url> </repository> <site> <id>gforge.inria.fr</id> <name>inria</name> <url>scp://gforge.inria.fr/home/groups/spoon/htdocs/mvnsites/${project.artifactId}/${project.version}</url> </site> </distributionManagement> </profile> </profiles> <distributionManagement> <snapshotRepository> <id>gforge.inria.fr</id> <name>inria</name> <url>scp://gforge.inria.fr/home/groups/maven-repo/htdocs/snapshots</url> </snapshotRepository> </distributionManagement> </project>