Details
-
Enhancement
-
Resolution: Won't Do
-
Major
-
None
-
None
-
None
Description
ShrinkWrap is a Java API for Archive Manipulation. It would be nice to use it to assemble a project structure. With Roaster and the Maven model APIs, it would be a perfect candidate to generate Maven projects with Java sources for example.
Code sample:
// This would create an Archive representation of the project MavenArchive archive = ShrinkWrap.create(MavenArchive.class); archive.setPomXml(mavenModel); archive.addJavaSource(Roaster.create(JavaClassSource.class).setName("Foo").setPackage("com.example.demo")); // We can export this to a ZIP file archive.as(ZipExporter.class).exportTo(new File("project.zip"), true); // Or we can explode in a specified location archive.as(ExplodedExporter.class).exportExploded(destinationDir);
More information about ShrinkWrap: https://developer.jboss.org/wiki/ShrinkWrap