You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/23 08:53:08 UTC
svn commit: r1292685 - in /openejb/trunk/maven-plugins: pom.xml
spi-helper-maven-plugin/pom.xml
spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/spi/SpiMojo.java
xbean-xml/
Author: rmannibucau
Date: Thu Feb 23 07:53:08 2012
New Revision: 1292685
URL: http://svn.apache.org/viewvc?rev=1292685&view=rev
Log:
rewriting spi-helper-maven-plugin to avoid jaxb usage and not need any xbean-xml dependency
Removed:
openejb/trunk/maven-plugins/xbean-xml/
Modified:
openejb/trunk/maven-plugins/pom.xml
openejb/trunk/maven-plugins/spi-helper-maven-plugin/pom.xml
openejb/trunk/maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/spi/SpiMojo.java
Modified: openejb/trunk/maven-plugins/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/pom.xml?rev=1292685&r1=1292684&r2=1292685&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/pom.xml (original)
+++ openejb/trunk/maven-plugins/pom.xml Thu Feb 23 07:53:08 2012
@@ -39,7 +39,6 @@
<module>openejb-embedded-maven-plugin</module>
<module>maven-util</module>
<module>spi-helper-maven-plugin</module>
- <module>xbean-xml</module>
<module>spi-helper-jee6-profile</module>
</modules>
Modified: openejb/trunk/maven-plugins/spi-helper-maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/spi-helper-maven-plugin/pom.xml?rev=1292685&r1=1292684&r2=1292685&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/spi-helper-maven-plugin/pom.xml (original)
+++ openejb/trunk/maven-plugins/spi-helper-maven-plugin/pom.xml Thu Feb 23 07:53:08 2012
@@ -26,11 +26,6 @@
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-finder-shaded</artifactId>
</dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>xbean-xml</artifactId>
- <version>${project.version}</version>
- </dependency>
</dependencies>
<properties>
Modified: openejb/trunk/maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/spi/SpiMojo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/spi/SpiMojo.java?rev=1292685&r1=1292684&r2=1292685&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/spi/SpiMojo.java (original)
+++ openejb/trunk/maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/spi/SpiMojo.java Thu Feb 23 07:53:08 2012
@@ -14,24 +14,17 @@ import org.apache.maven.plugin.AbstractM
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
-import org.apache.openejb.xbean.xml.Scan;
import org.apache.xbean.finder.Annotated;
import org.apache.xbean.finder.AnnotationFinder;
import org.apache.xbean.finder.archive.Archive;
import org.apache.xbean.finder.archive.ClasspathArchive;
import org.apache.xbean.finder.archive.FileArchive;
-import javax.xml.bind.JAXBContext;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@@ -46,6 +39,7 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import java.util.TreeSet;
/**
* @goal generate
@@ -179,7 +173,7 @@ public class SpiMojo extends AbstractMoj
}
// the result
- final Scan scan = new Scan();
+ final Set<String> classes = new TreeSet<String>();
try {
final AnnotationFinder finder = new AnnotationFinder(archive);
finder.link();
@@ -201,31 +195,31 @@ public class SpiMojo extends AbstractMoj
if (!useMeta) {
for (Class<?> clazz : finder.findAnnotatedClasses(annClazz)) {
- scan.getClassname().add(clazz.getName());
+ classes.add(clazz.getName());
}
} else {
for (Annotated<Class<?>> clazz : finder.findMetaAnnotatedClasses(annClazz)) {
- scan.getClassname().add(clazz.get().getName());
+ classes.add(clazz.get().getName());
}
}
if (!useMeta) {
for (Field clazz : finder.findAnnotatedFields(annClazz)) {
- scan.getClassname().add(clazz.getDeclaringClass().getName());
+ classes.add(clazz.getDeclaringClass().getName());
}
} else {
for (Annotated<Field> clazz : finder.findMetaAnnotatedFields(annClazz)) {
- scan.getClassname().add(clazz.get().getDeclaringClass().getName());
+ classes.add(clazz.get().getDeclaringClass().getName());
}
}
if (!useMeta) {
for (Method clazz : finder.findAnnotatedMethods(annClazz)) {
- scan.getClassname().add(clazz.getDeclaringClass().getName());
+ classes.add(clazz.getDeclaringClass().getName());
}
} else {
for (Annotated<Method> clazz : finder.findMetaAnnotatedMethods(annClazz)) {
- scan.getClassname().add(clazz.get().getDeclaringClass().getName());
+ classes.add(clazz.get().getDeclaringClass().getName());
}
}
}
@@ -235,7 +229,7 @@ public class SpiMojo extends AbstractMoj
for (String subclass : profile.getSubclasses()) {
try {
for (Class<?> clazz : finder.findSubclasses(load(loader, subclass))) {
- scan.getClassname().add(clazz.getName());
+ classes.add(clazz.getName());
}
} catch (MojoFailureException mfe) {
getLog().warn("can't find " + subclass);
@@ -247,7 +241,7 @@ public class SpiMojo extends AbstractMoj
for (String implementation : profile.getImplementations()) {
try {
for (Class<?> clazz : finder.findImplementations(load(loader, implementation))) {
- scan.getClassname().add(clazz.getName());
+ classes.add(clazz.getName());
}
} catch (MojoFailureException mfe) {
getLog().warn("can't find " + implementation);
@@ -266,21 +260,39 @@ public class SpiMojo extends AbstractMoj
return;
}
- final FileWriter writer = new FileWriter(output);
+ final XMLStreamWriter out = XMLOutputFactory.newInstance().createXMLStreamWriter(new FileWriter(outputFilename));
try {
- final JAXBContext context = JAXBContext.newInstance(Scan.class);
- final TransformerFactory factory = TransformerFactory.newInstance();
- final Transformer transformer = factory.newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
+ out.writeStartDocument();
+ out.writeStartElement("scan");
+ out.writeCharacters("\n");
+
+ out.writeCharacters(" ");
+ out.writeStartElement("classes");
+ out.writeCharacters("\n");
+
+ for (String clazz : classes) {
+ out.writeCharacters(" ");
+ out.writeStartElement("class");
+ out.writeCharacters(clazz);
+ out.writeEndElement();
+ out.writeCharacters("\n");
+ }
- final StringWriter tempWriter = new StringWriter();
- context.createMarshaller().marshal(scan, tempWriter);
+ out.writeCharacters(" ");
+ out.writeEndElement();
+ out.writeCharacters("\n");
+
+ out.writeCharacters(" ");
+ out.writeStartElement("packages");
+ out.writeCharacters("\n ");
+ out.writeEndElement();
+ out.writeCharacters("\n");
- final StreamResult result = new StreamResult(writer);
- transformer.transform(new StreamSource(new StringReader(tempWriter.toString())), result);
+ out.writeEndElement();
+ out.writeEndDocument();
} finally {
- writer.close();
+ out.flush();
+ out.close();
}
getLog().info("generated " + output.getPath());