Search in sources :

Example 1 with PomDetails

use of io.fabric8.maven.PomDetails in project fabric8 by jboss-fuse.

the class AetherBasedResolver method findPomFile.

public PomDetails findPomFile(File jar) throws IOException {
    JarFile jarFile = new JarFile(jar);
    File file = null;
    Properties properties = null;
    Enumeration<JarEntry> entries = jarFile.entries();
    while (entries.hasMoreElements()) {
        JarEntry entry = entries.nextElement();
        String name = entry.getName();
        if (name.matches("META-INF/maven/.*/.*/pom.xml")) {
            InputStream in = jarFile.getInputStream(entry);
            // lets create a temporary file
            file = File.createTempFile("fabric-pomegranate-", ".pom.xml");
            IOHelpers.writeTo(file, in);
        } else if (name.matches("META-INF/maven/.*/.*/pom.properties")) {
            InputStream in = jarFile.getInputStream(entry);
            properties = new Properties();
            properties.load(in);
        }
        if (file != null && properties != null) {
            break;
        }
    }
    return new PomDetails(file, properties);
}
Also used : PomDetails(io.fabric8.maven.PomDetails) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) JarFile(java.util.jar.JarFile) ConfigurationProperties(org.eclipse.aether.ConfigurationProperties) ArtifactProperties(org.eclipse.aether.artifact.ArtifactProperties) Properties(java.util.Properties) JarEntry(java.util.jar.JarEntry) File(java.io.File) JarFile(java.util.jar.JarFile)

Aggregations

PomDetails (io.fabric8.maven.PomDetails)1 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 InputStream (java.io.InputStream)1 Properties (java.util.Properties)1 JarEntry (java.util.jar.JarEntry)1 JarFile (java.util.jar.JarFile)1 ConfigurationProperties (org.eclipse.aether.ConfigurationProperties)1 ArtifactProperties (org.eclipse.aether.artifact.ArtifactProperties)1