Example usage for org.apache.maven.project MavenProject setDependencies

List of usage examples for org.apache.maven.project MavenProject setDependencies

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject setDependencies.

Prototype

public void setDependencies(List<Dependency> dependencies) 

Source Link

Usage

From source file:org.wso2.developerstudio.eclipse.artifact.library.ui.wizard.LibraryArtifactCreationWizard.java

License:Open Source License

private static void handleWorkspaceProjectResource(IProject workSpacePrj)
        throws JavaModelException, Exception, CoreException {
    File pomfile = workSpacePrj.getFile("pom.xml").getLocation().toFile();
    if (!pomfile.exists()) {
        String srcDir = "src";
        MavenProject mavenProject = MavenUtils.createMavenProject("org.wso2.carbon." + workSpacePrj.getName(),
                workSpacePrj.getName(), "1.0.0", "jar");
        IJavaProject javaProject = JavaCore.create(workSpacePrj);
        IClasspathEntry[] classpath = javaProject.getRawClasspath();
        int entryCount = 0;
        for (IClasspathEntry classpathEntry : classpath) {
            if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                if (entryCount == 0) {
                    String entryPath = "";
                    String[] pathSegments = classpathEntry.getPath().segments();
                    if (pathSegments.length > 1) {
                        for (int i = 1; i < pathSegments.length; i++) {
                            if (i == 1) {
                                entryPath = pathSegments[i];
                            } else {
                                entryPath += "/" + pathSegments[i];
                            }/* ww  w  . j av a  2 s  . c  om*/
                        }
                        if (entryPath.length() > 0) {
                            srcDir = entryPath;
                            ++entryCount;
                        }
                    }
                } else {
                    log.warn("multiple source directories found, Considering '" + srcDir
                            + "' as source directory");
                    break;
                }
            }
        }
        if (entryCount == 0) {
            log.warn("No source directory specified, using default source directory.");
        }

        /* adding wso2 nexus repository */
        Repository nexusRepo = new Repository();
        nexusRepo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/");
        nexusRepo.setId("wso2-maven2-repository-1");
        mavenProject.getModel().addRepository(nexusRepo);
        mavenProject.getModel().addPluginRepository(nexusRepo);

        /* adding maven dependencies */
        List<Dependency> libList = new ArrayList<Dependency>();
        Map<String, JavaLibraryBean> dependencyMap = JavaLibraryUtil.getDependencyInfoMap(workSpacePrj);

        for (JavaLibraryBean bean : dependencyMap.values()) {
            Dependency dependency = new Dependency();
            dependency.setArtifactId(bean.getArtifactId());
            dependency.setGroupId(bean.getGroupId());
            dependency.setVersion(bean.getVersion());
            libList.add(dependency);
        }
        mavenProject.setDependencies(libList);

        mavenProject.getBuild().setSourceDirectory(srcDir);
        MavenUtils.saveMavenProject(mavenProject, pomfile);
    }
    workSpacePrj.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
}

From source file:org.wso2.developerstudio.eclipse.artifact.registry.handler.ui.wizard.RegistryHandlerCreationWizard.java

License:Open Source License

public void updatePom(IProject project, HandlerInfo handlerInfo) throws Exception {
    File mavenProjectPomLocation = project.getFile("pom.xml").getLocation().toFile();
    MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation);

    Properties properties = mavenProject.getModel().getProperties();
    properties.put("CApp.type", "lib/registry/handlers");
    mavenProject.getModel().setProperties(properties);

    Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.apache.felix", "maven-bundle-plugin",
            "2.3.4", true);

    Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(plugin);
    Xpp3Dom instructionNode = MavenUtils.createXpp3Node("instructions");
    Xpp3Dom bundleSymbolicNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-SymbolicName");
    Xpp3Dom bundleNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Name");
    Xpp3Dom bundleActivatorNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Activator");
    Xpp3Dom exportPackageNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package");
    Xpp3Dom dynamicImportNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package");
    bundleSymbolicNameNode.setValue(project.getName());
    bundleNameNode.setValue(project.getName());
    bundleActivatorNode.setValue(BUNDLE_ACTIVATOR_NAME);
    exportPackageNode.setValue(getExportedPackage(handlerInfo));
    dynamicImportNode.setValue("*");
    configurationNode.addChild(instructionNode);

    Repository repo = new Repository();
    repo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/");
    repo.setId("wso2-maven2-repository-1");

    mavenProject.getModel().addRepository(repo);
    mavenProject.getModel().addPluginRepository(repo);

    List<Dependency> dependencyList = new ArrayList<Dependency>();

    Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(project);
    Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP;
    for (JavaLibraryBean bean : dependencyInfoMap.values()) {
        if (bean.getVersion().contains("${")) {
            for (String path : map.keySet()) {
                bean.setVersion(bean.getVersion().replace(path, map.get(path)));
            }//from  www.  ja  v  a2 s.  c  om
        }
        Dependency dependency = new Dependency();
        dependency.setArtifactId(bean.getArtifactId());
        dependency.setGroupId(bean.getGroupId());
        dependency.setVersion(bean.getVersion());
        dependencyList.add(dependency);
    }

    if (importHandlerFromWs && importHandlerProject != null) {
        try {
            IFile pomFile = importHandlerProject.getFile("pom.xml");
            MavenProject workspaceProject;
            if (pomFile.exists()) {
                workspaceProject = MavenUtils.getMavenProject(pomFile.getLocation().toFile());
            } else {
                String srcDir = "src";
                workspaceProject = MavenUtils.createMavenProject(
                        "org.wso2.carbon." + importHandlerProject.getName(), importHandlerProject.getName(),
                        "1.0.0", "jar");
                IJavaProject javaProject = JavaCore.create(importHandlerProject);
                IClasspathEntry[] classpath = javaProject.getRawClasspath();
                int entryCount = 0;
                for (IClasspathEntry classpathEntry : classpath) {
                    if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                        if (entryCount == 0) {
                            String entryPath = "";
                            String[] pathSegments = classpathEntry.getPath().segments();
                            if (pathSegments.length > 1) {
                                for (int i = 1; i < pathSegments.length; i++) {
                                    if (i == 1) {
                                        entryPath = pathSegments[i];
                                    } else {
                                        entryPath += "/" + pathSegments[i];
                                    }
                                }
                                if (entryPath.length() > 0) {
                                    srcDir = entryPath;
                                    ++entryCount;
                                }
                            }
                        } else {
                            log.warn("multiple source directories found, Considering '" + srcDir
                                    + "' as source directory");
                            break;
                        }
                    }
                }
                if (entryCount == 0) {
                    log.warn("No source directory specified, using default source directory.");
                }
                workspaceProject.getBuild().setSourceDirectory(srcDir);

                Repository nexusRepo = new Repository();
                nexusRepo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/");
                nexusRepo.setId("wso2-maven2-repository-1");
                workspaceProject.getModel().addRepository(nexusRepo);
                workspaceProject.getModel().addPluginRepository(nexusRepo);

                List<Dependency> libList = new ArrayList<Dependency>();

                Map<String, JavaLibraryBean> dependencyMap = JavaLibraryUtil
                        .getDependencyInfoMap(importHandlerProject);

                for (JavaLibraryBean bean : dependencyMap.values()) {
                    Dependency dependency = new Dependency();
                    dependency.setArtifactId(bean.getArtifactId());
                    dependency.setGroupId(bean.getGroupId());
                    dependency.setVersion(bean.getVersion());
                    libList.add(dependency);
                }

                workspaceProject.setDependencies(libList);
                MavenUtils.saveMavenProject(workspaceProject, pomFile.getLocation().toFile());
                project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
            }

            Dependency dependency = new Dependency();
            dependency.setArtifactId(workspaceProject.getArtifactId());
            dependency.setGroupId(workspaceProject.getGroupId());
            dependency.setVersion(workspaceProject.getVersion());
            dependencyList.add(dependency);
        } catch (Exception e) {
            log.warn("Error reading or updating pom file.", e);
        }
    }

    MavenUtils.addMavenDependency(mavenProject, dependencyList);
    MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation);

}

From source file:uk.ac.ox.oucs.plugins.DiscoverMojo.java

License:Apache License

private void addToDependencies() {
    List dependencies = project.getDependencies();
    for (Artifact artifact : toDeploy) {
        getLog().info("Deploy: " + artifact.toString());
        MavenProject project = locateImplmentation(artifact.getGroupId(), artifact.getArtifactId(),
                artifact.getVersion());// w  w  w.j  av a2  s . c o m
        //deployProjectToContainer(project);
        Dependency dependency = new Dependency();
        dependency.setArtifactId(artifact.getArtifactId());
        dependency.setGroupId(artifact.getGroupId());
        dependency.setVersion(artifact.getVersion());
        dependency.setType(artifact.getType());
        dependencies.add(dependency);
    }

    project.setDependencies(dependencies);

    toDeploy = new HashSet<Artifact>();
}