Search in sources :

Example 6 with Maven

use of aQute.bnd.maven.support.Maven in project mdw-designer by CenturyLinkCloud.

the class MavenBuildFile method parse.

public OsgiManifestDescriptor parse() throws Exception {
    File pomFile = new File(project.getFile("pom.xml").getLocation().toString());
    if (project.getName().startsWith("MDW")) {
        // since bnd assumes parent pom.xml is located in parent directory
        File parentDir = project.getProject().getLocation().toFile().getParentFile();
        File frameworkPom = new File(parentDir.toString() + "/MDWFramework/pom.xml");
        if (frameworkPom.exists()) {
            File destPom = new File(parentDir + "/pom.xml");
            if (!destPom.exists() || (destPom.lastModified() < frameworkPom.lastModified()))
                PluginUtil.copyFile(frameworkPom, destPom);
        }
    }
    if (!project.getProject().getFolder(outputDirectory).exists())
        outputDirectory = "build/classes";
    try {
        Maven maven = new Maven(Executors.newSingleThreadExecutor());
        ProjectPom pom = maven.createProjectModel(pomFile);
        groupId = pom.getGroupId();
        artifactId = pom.getArtifactId();
        version = pom.getVersion();
        if (pom.getProperties().get("mdw.version") != null)
            mdwVersion = pom.getProperty("mdw.version");
        if (project.getName().startsWith("MDW"))
            appGeneratedDir = pom.getProperty("app.generated.dir");
    } catch (Exception ex) {
        PluginMessages.log(ex);
    }
    // values not accessible from BND parser
    MavenBuildFile saxParser = new MavenBuildFile(project);
    manifestDescriptor = saxParser.parseSax();
    manifestDescriptor.setOutputDir(project.getFolder(outputDirectory).getLocation().toFile());
    return manifestDescriptor;
}
Also used : Maven(aQute.bnd.maven.support.Maven) ProjectPom(aQute.bnd.maven.support.ProjectPom) File(java.io.File) IFile(org.eclipse.core.resources.IFile) SAXException(org.xml.sax.SAXException)

Aggregations

Maven (aQute.bnd.maven.support.Maven)6 File (java.io.File)4 CachedPom (aQute.bnd.maven.support.CachedPom)2 MavenEntry (aQute.bnd.maven.support.MavenEntry)2 MavenRemoteRepository (aQute.bnd.maven.support.MavenRemoteRepository)2 ProjectPom (aQute.bnd.maven.support.ProjectPom)2 URI (java.net.URI)2 Workspace (aQute.bnd.build.Workspace)1 Pom (aQute.bnd.maven.support.Pom)1 Dependency (aQute.bnd.maven.support.Pom.Dependency)1 Builder (aQute.bnd.osgi.Builder)1 PackageRef (aQute.bnd.osgi.Descriptors.PackageRef)1 Processor (aQute.bnd.osgi.Processor)1 OutputStream (java.io.OutputStream)1 PrintWriter (java.io.PrintWriter)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 TreeSet (java.util.TreeSet)1 Matcher (java.util.regex.Matcher)1 IFile (org.eclipse.core.resources.IFile)1