List of usage examples for org.apache.maven.project MavenProject getModel
public Model getModel()
From source file:org.wso2.developerstudio.eclipse.artifact.registry.handler.project.export.RegistryHandlerArtifactHandler.java
License:Open Source License
public List<IResource> exportArtifact(IProject project) throws Exception { List<IResource> exportResources = new ArrayList<IResource>(); List<String> exportedPackageList = new ArrayList<String>(); String activatorClass = new String(); String existingActivatorClass = new String(); ArchiveManipulator archiveManipulator = new ArchiveManipulator(); // getting maven details MavenProject mavenProject = MavenUtils.getMavenProject(project.getFile("pom.xml").getLocation().toFile()); // Get the output location IJavaProject javaProject = JavaCore.create(project); clearTarget(project);/*from w w w. j a v a2 s . c o m*/ IPath outPutPath = buildJavaProject(project); // get resource location IPath resources = getResourcePath(project); // getting export packages for (IPackageFragment pkg : javaProject.getPackageFragments()) { if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { if (pkg.hasChildren()) { exportedPackageList.add(pkg.getElementName()); for (ICompilationUnit compilationUnit : pkg.getCompilationUnits()) { IType[] types = compilationUnit.getTypes(); for (IType type : types) { if (type.getSuperInterfaceNames().length > 0 && Arrays.asList(type.getSuperInterfaceNames()).contains("BundleActivator")) { activatorClass = type.getFullyQualifiedName(); } } } } } } List<Plugin> plugins = mavenProject.getBuild().getPlugins(); for (Plugin plugin : plugins) { if ("maven-bundle-plugin".equalsIgnoreCase(plugin.getArtifactId())) { Xpp3Dom configurationNode = (Xpp3Dom) plugin.getConfiguration(); Xpp3Dom[] instructions = configurationNode.getChildren("instructions"); if (instructions.length == 1) { Xpp3Dom[] exportPackage = instructions[0].getChildren("Export-Package"); if (exportPackage.length == 1) { exportedPackageList.clear(); //clear default configuration (All packages by default) String packages = exportPackage[0].getValue(); if (packages != null) { exportedPackageList.addAll(Arrays.asList(packages.split(","))); } } else { log.warn("Invalid configuration for <Export-Package> entry" + " using default configuration for <Export-Package>"); } } else { log.warn("Invalid instructions configuration for plugin : maven-bundle-plugin" + " using default configuration for <Export-Package>"); } break; //not considering multiple versions of the maven-bundle-plugin } } File tempProject = createTempProject(); File bundleResources = createTempDir(tempProject, "bundle_resources"); if (exportedPackageList.size() > 0) { FileUtils.copyDirectoryContents(outPutPath.toFile(), bundleResources); // copy // binaries } if (resources.toFile().exists()) { FileUtils.copyDirectoryContents(resources.toFile(), bundleResources); // copy // resources } @SuppressWarnings("unchecked") List<Dependency> dependencies = mavenProject.getDependencies(); Iterator<Dependency> iterator = dependencies.iterator(); while (iterator.hasNext()) { Dependency dependency = iterator.next(); if ("system".equals(dependency.getScope())) { String systemPath = dependency.getSystemPath(); if (systemPath != null && !systemPath.trim().isEmpty()) { systemPath = systemPath.replaceAll("^".concat(Pattern.quote("${basedir}/")), ""); IFile jarFile = project.getFile(systemPath); if (jarFile.exists()) { archiveManipulator.extract(jarFile.getLocation().toFile(), bundleResources); // getting export packages IPackageFragmentRoot rootPkg = JavaCore.createJarPackageFragmentRootFrom(jarFile); for (IJavaElement item : rootPkg.getChildren()) { if (item instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) item; if (pkg.hasChildren()) { exportedPackageList.add(pkg.getElementName()); for (IClassFile clazz : pkg.getClassFiles()) { IType type = clazz.getType(); if (type.getSuperInterfaceNames().length > 0 && Arrays .asList(type.getSuperInterfaceNames()).contains(ACTIVATOR_FQN)) { existingActivatorClass = type.getFullyQualifiedName(); } } } } } } } } } if (activatorClass.trim().isEmpty()) { activatorClass = existingActivatorClass; } /* writing manifest */ BundleManifest manifest = new BundleManifest(); manifest.setBundleName(project.getName()); manifest.setBundleSymbolicName(project.getName()); if (null != mavenProject.getModel().getDescription() && !"".equals(mavenProject.getModel().getDescription())) { manifest.setBundleDescription(mavenProject.getModel().getDescription()); } else { manifest.setBundleDescription(project.getName()); } if (null != mavenProject.getModel().getVersion() && !"".equals(mavenProject.getDescription())) { manifest.setBundleVersion(mavenProject.getModel().getVersion()); } else { manifest.setBundleVersion("1.0.0"); } manifest.setBundleActivatorName(activatorClass); manifest.setExportPackagesList(exportedPackageList); File metaInfDir = new File(bundleResources, "META-INF"); if (!metaInfDir.exists()) metaInfDir.mkdir(); File manifestFile = new File(metaInfDir, "MANIFEST.MF"); FileUtils.createFile(manifestFile, manifest.toString()); File tmpArchive = new File(tempProject, project.getName().concat(".jar")); archiveManipulator.archiveDir(tmpArchive.toString(), bundleResources.toString()); IFile bundleArchive = getTargetArchive(project, "jar"); FileUtils.copy(tmpArchive, bundleArchive.getLocation().toFile()); exportResources.add((IResource) bundleArchive); TempFileUtils.cleanUp(); return exportResources; }
From source file:org.wso2.developerstudio.eclipse.artifact.registry.handler.ui.wizard.RegistryHandlerCreationWizard.java
License:Open Source License
public void updatePom(IProject project) throws Exception { File mavenProjectPomLocation = project.getFile("pom.xml").getLocation().toFile(); MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation); StringBuffer sb = new StringBuffer(); String activatorClass = new String(); 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); // getting export packages IPackageFragmentRoot rootPkg = JavaCore .createJarPackageFragmentRootFrom(project.getFile(regModel.getExternalJar().getName())); for (IJavaElement item : rootPkg.getChildren()) { if (item instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) item; if (pkg.hasChildren()) { sb.append(pkg.getElementName()).append(","); for (IClassFile clazz : pkg.getClassFiles()) { IType type = clazz.getType(); if (type.getSuperInterfaceNames().length > 0 && Arrays.asList(type.getSuperInterfaceNames()).contains(ACTIVATOR_FQN)) { activatorClass = type.getFullyQualifiedName(); }// ww w . ja va2s. co m } } } } String exportedPackageList = sb.toString().replaceAll(",$", ""); 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(activatorClass); exportPackageNode.setValue(exportedPackageList); 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>(); Dependency dependency = new Dependency(); dependency.setArtifactId(regModel.getExternalJar().getName()); dependency.setGroupId("dummy.groupid"); dependency.setVersion("1.0.0"); dependency.setScope("system"); dependency.setSystemPath("${basedir}/" + regModel.getExternalJar().getName()); dependencyList.add(dependency); dependencyList.add(dependency); MavenUtils.addMavenDependency(mavenProject, dependencyList); MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation); }
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))); }//w w w . ja v a2s.c o m } 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:org.wso2.developerstudio.eclipse.artifact.webapp.project.nature.WebAppProjectNature.java
License:Open Source License
public void updatePom() throws Exception { File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile(); MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation); /*Adding J2EE Dependency*/ List<Dependency> dependencies = new ArrayList<Dependency>(); Dependency j2eeDepen = new Dependency(); j2eeDepen.setGroupId("javax"); j2eeDepen.setArtifactId("javaee-web-api"); j2eeDepen.setVersion("6.0"); j2eeDepen.setScope("provided"); dependencies.add(j2eeDepen);// w ww . j ava 2 s . c om MavenUtils.addMavenDependency(mavenProject, dependencies); /*Adding Plugins*/ MavenUtils.updateMavenProjectWithWarBuilderPlugin(getProject(), mavenProject, mavenProjectPomLocation); Repository repo = new Repository(); repo.setUrl("http://download.java.net/maven/2"); repo.setId("java.net2"); repo.setName("Repository hosting the jee6 artifacts"); RepositoryPolicy releasePolicy = new RepositoryPolicy(); releasePolicy.setEnabled(true); releasePolicy.setUpdatePolicy("daily"); releasePolicy.setChecksumPolicy("ignore"); repo.setReleases(releasePolicy); mavenProject.getModel().addRepository(repo); MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation); }
From source file:org.wso2.developerstudio.eclipse.distribution.project.editor.DistProjectEditorPage.java
License:Open Source License
/** * Create a tree Item for a project// ww w . ja v a 2s . c o m * * @param parent * Parent tree control * @param project * eclipse project * @return new TreeItem */ TreeItem createNode(Tree parent, final IProject project) { TreeItem item = new TreeItem(parent, SWT.NONE); MavenProject mavenProject; try { mavenProject = DistProjectUtils.getMavenProject(project); item.setText(0, project.getName()); item.setText(1, "--"); item.setText(2, mavenProject.getModel().getVersion()); NodeData nodeData = new NodeData(project); item.setData(project); nodeData.setHaschildren(true); item.setData(nodeData); item.setImage(0, SWTResourceManager.getImage(this.getClass(), "/icons/projects.gif")); } catch (Exception e) { log.error("createNode fail", e); return null; } return item; }
From source file:org.wso2.developerstudio.eclipse.distribution.project.export.CappArtifactsListProvider.java
License:Open Source License
public List<ListData> getArtifactsListForSingleArtifactProject(IProject project) throws Exception { MavenProject mavenProject = DistProjectUtils.getMavenProject(project); ArtifactTypeMapping artifactTypeMapping = new ArtifactTypeMapping(); List<ListData> singleProjectArtifactAsAList = new ArrayList<ListData>(); Dependency dependency = new Dependency(); dependency.setArtifactId(mavenProject.getArtifactId()); dependency.setGroupId(mavenProject.getGroupId()); dependency.setVersion(mavenProject.getVersion()); String cAppType = mavenProject.getModel().getPackaging(); if (cAppType == null || !artifactTypeMapping.isValidArtifactType(cAppType)) { if (mavenProject.getModel().getProperties().containsKey("CApp.type")) { cAppType = (String) mavenProject.getModel().getProperties().get("CApp.type"); }//from w w w . j a v a 2s.co m } dependency.setType(artifactTypeMapping.getType(cAppType)); ServerRoleMapping serverRoleMapping = new ServerRoleMapping(); String serverRole = serverRoleMapping.getServerRole(cAppType); DependencyData dependencyData = new DependencyData(); dependencyData.setDependency(dependency); dependencyData.setSelf(project); dependencyData.setCApptype(cAppType); dependencyData.setServerRole(getServerRole(serverRole)); singleProjectArtifactAsAList .add(createListData(DistProjectUtils.getArtifactInfoAsString(dependency), dependencyData)); return singleProjectArtifactAsAList; }
From source file:org.wso2.developerstudio.eclipse.distribution.project.export.CarExportHandler.java
License:Open Source License
public List<IResource> exportArtifact(IProject project) throws Exception { List<IResource> exportResources = new ArrayList<IResource>(); List<ArtifactData> artifactList = new ArrayList<ArtifactData>(); Map<IProject, Map<String, IResource>> resourceProjectList = new HashMap<IProject, Map<String, IResource>>(); IFile pomFileRes;/* w ww. j a v a 2 s . com*/ File pomFile; MavenProject parentPrj; ArchiveManipulator archiveManipulator = new ArchiveManipulator(); clearTarget(project); // Let's create a temp project File tempProject = createTempProject(); File carResources = createTempDir(tempProject, "car_resources"); pomFileRes = project.getFile(POM_FILE); if (!pomFileRes.exists()) { throw new Exception("not a valid carbon application project"); } pomFile = pomFileRes.getLocation().toFile(); ProjectList projectListProvider = new ProjectList(); List<ListData> projectListData = projectListProvider.getListData(null, null); Map<String, DependencyData> projectList = new HashMap<String, DependencyData>(); Map<String, String> serverRoleList = new HashMap<String, String>(); for (ListData data : projectListData) { DependencyData dependencyData = (DependencyData) data.getData(); projectList.put(DistProjectUtils.getArtifactInfoAsString(dependencyData.getDependency()), dependencyData); } parentPrj = MavenUtils.getMavenProject(pomFile); for (Dependency dependency : (List<Dependency>) parentPrj.getDependencies()) { String dependencyKey = DistProjectUtils.getArtifactInfoAsString(dependency); serverRoleList.put(dependencyKey, DistProjectUtils.getServerRole(parentPrj, dependency)); if (projectList.containsKey(dependencyKey)) { DependencyData dependencyData = projectList.get(dependencyKey); Object parent = dependencyData.getParent(); Object self = dependencyData.getSelf(); String serverRole = serverRoleList.get(DistProjectUtils.getArtifactInfoAsString(dependency)); dependencyData.setServerRole(serverRole.replaceAll("^capp/", "")); if (parent != null && self != null) { // multiple artifact if (parent instanceof IProject && self instanceof String) { IFile file = ((IProject) parent).getFile((String) self); if (file.exists()) { ArtifactData artifactData = new ArtifactData(); artifactData.setDependencyData(dependencyData); artifactData.setFile(distProjectUtils.getFileName(dependencyData)); artifactData.setResource((IResource) file); artifactList.add(artifactData); } } } else if (parent == null && self != null) { // artifacts as // single artifact archive DefaultArtifactExportHandler artifactExportHandler = new DefaultArtifactExportHandler(); artifactExportHandler.exportArtifact(artifactList, null, null, dependencyData, null, self); } else if (parent != null && self == null) { // these are // registry // resources exportRegistryResourceArtifact(artifactList, resourceProjectList, dependencyData, parent); } else { log.error( "unidentified artifact structure, cannot be exported as a deployable artifact for server " + serverRole); } } } OMFactory factory = OMAbstractFactory.getOMFactory(); OMElement artifactsDocRoot = factory.createOMElement(new QName("artifacts")); OMElement artifactElt = factory.createOMElement(new QName("artifact")); artifactElt.addAttribute("name", parentPrj.getModel().getArtifactId(), null); artifactElt.addAttribute("version", parentPrj.getModel().getVersion(), null); artifactElt.addAttribute("type", "carbon/application", null); Collections.sort(artifactList); for (ArtifactData artifact : artifactList) { File artifactDir = new File(carResources, getArtifactDir(artifact.getDependencyData())); if (artifact.getResource() instanceof IFolder) { FileUtils.copyDirectory(artifact.getResource().getLocation().toFile(), artifactDir); } else if (artifact.getResource() instanceof IFile) { FileUtils.copy(artifact.getResource().getLocation().toFile(), new File(artifactDir, artifact.getFile())); } artifactElt.addChild(createDependencyElement(factory, artifact)); createArtifactXML(artifactDir, artifact); } artifactsDocRoot.addChild(artifactElt); File artifactsXml = new File(carResources, "artifacts.xml"); XMLUtil.prettify(artifactsDocRoot, new FileOutputStream(artifactsXml)); File tmpArchive = new File(tempProject, project.getName().concat("_").concat(parentPrj.getVersion()).concat(".car")); archiveManipulator.archiveDir(tmpArchive.toString(), carResources.toString()); IFile carbonArchive = getTargetArchive(project, parentPrj.getVersion(), "car"); FileUtils.copy(tmpArchive, carbonArchive.getLocation().toFile()); exportResources.add((IResource) carbonArchive); clearTempDirInWorksapce(project.getName(), SPLIT_DIR_NAME); TempFileUtils.cleanUp(); return exportResources; }
From source file:org.wso2.developerstudio.eclipse.distribution.project.ui.wizard.DistributionProjectExportWizardPage.java
License:Open Source License
/** * Create a tree Item for a project//from www . ja va2 s . co m * @param parent Parent tree control * @param project eclipse project * @return new TreeItem */ TreeItem createNode(Tree parent, final IProject project) { TreeItem item = new TreeItem(parent, SWT.NONE); MavenProject mavenProject; try { mavenProject = DistProjectUtils.getMavenProject(project); item.setText(0, project.getName()); item.setText(1, "--"); item.setText(2, mavenProject.getModel().getVersion()); NodeData nodeData = new NodeData(project); item.setData(project); nodeData.setHaschildren(true); item.setData(nodeData); item.setImage(0, SWTResourceManager.getImage(this.getClass(), "/icons/projects.gif")); } catch (Exception e) { return null; } return item; }
From source file:org.wso2.developerstudio.eclipse.distribution.project.ui.wizard.DistributionProjectWizard.java
License:Open Source License
public boolean performFinish() { try {/*from w ww . j a v a2 s. c o m*/ DistributionProjectModel projectModel = (DistributionProjectModel) getModel(); project = createNewProject(); File pomfile = project.getFile("pom.xml").getLocation().toFile(); createPOM(pomfile); ProjectUtils.addNatureToProject(project, false, DISTRIBUTION_PROJECT_NATURE); MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] {}, new String[] { DISTRIBUTION_PROJECT_NATURE }); project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); MavenProject mavenProject = MavenUtils.getMavenProject(pomfile); mavenProject.getModel().setPackaging("carbon/application"); Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.wso2.maven", "maven-car-plugin", MavenConstants.MAVEN_CAR_VERSION, true); PluginExecution pluginExecution; pluginExecution = new PluginExecution(); pluginExecution.addGoal("car"); pluginExecution.setPhase("package"); pluginExecution.setId("car"); plugin.addExecution(pluginExecution); Plugin carDeployPlugin = MavenUtils.createPluginEntry(mavenProject, "org.wso2.maven", "maven-car-deploy-plugin", MavenConstants.MAVEN_CAR_DEPLOY_VERSION, true); Xpp3Dom carDeployConfElement = MavenUtils.createMainConfigurationNode(carDeployPlugin); Xpp3Dom serversElement = MavenUtils.createXpp3Node(carDeployConfElement, "carbonServers"); Xpp3Dom carbonServer = MavenUtils.createXpp3Node(serversElement, "CarbonServer"); Xpp3Dom trustStore = MavenUtils.createXpp3Node(carbonServer, "trustStorePath"); trustStore.setValue("${basedir}/src/main/resources/security/wso2carbon.jks"); Xpp3Dom trustStorePW = MavenUtils.createXpp3Node(carbonServer, "trustStorePassword"); trustStorePW.setValue("wso2carbon"); Xpp3Dom trustStoreType = MavenUtils.createXpp3Node(carbonServer, "trustStoreType"); trustStoreType.setValue("JKS"); Xpp3Dom serverUrl = MavenUtils.createXpp3Node(carbonServer, "serverUrl"); serverUrl.setValue("https://localhost:9443"); Xpp3Dom serverUserName = MavenUtils.createXpp3Node(carbonServer, "userName"); serverUserName.setValue("admin"); Xpp3Dom serverPW = MavenUtils.createXpp3Node(carbonServer, "password"); serverPW.setValue("admin"); Xpp3Dom serverOperation = MavenUtils.createXpp3Node(carbonServer, "operation"); serverOperation.setValue("deploy"); Repository repo = new Repository(); repo.setUrl("http://dist.wso2.org/maven2"); repo.setId("wso2-maven2-repository-1"); Repository repo1 = new Repository(); repo1.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/"); repo1.setId("wso2-nexus-repository-1"); mavenProject.getModel().addRepository(repo); mavenProject.getModel().addPluginRepository(repo); mavenProject.getModel().addRepository(repo1); mavenProject.getModel().addPluginRepository(repo1); List<Dependency> dependencyList = new ArrayList<Dependency>(); Properties properties = mavenProject.getModel().getProperties(); for (DependencyData dependencyData : projectModel.getSelectedProjects()) { Dependency dependency = dependencyData.getDependency(); dependencyList.add(dependency); properties.put(DistProjectUtils.getArtifactInfoAsString(dependency), dependencyData.getServerRole()); } ArtifactTypeMapping artifactTypeMapping = new ArtifactTypeMapping(); properties.put("artifact.types", artifactTypeMapping.getArtifactTypes()); mavenProject.getModel().setProperties(properties); MavenUtils.addMavenDependency(mavenProject, dependencyList); MavenUtils.saveMavenProject(mavenProject, pomfile); project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); openEditor(); } catch (Exception e) { log.error("An error occurred generating a project: ", e); return false; } return true; }
From source file:org.wso2.developerstudio.eclipse.distribution.project.ui.wizard.ProjectExportWizard.java
License:Open Source License
private void exportArchivable(IProject project) throws Exception { String cAppType = ""; MavenProject mavenProject; String ext = ""; String finalFileName = ""; mavenProject = DistProjectUtils.getMavenProject(project); cAppType = mavenProject.getModel().getPackaging(); String version = mavenProject.getModel().getVersion(); if (cAppType == null || !artifactTypeMapping.isValidArtifactType(cAppType)) { if (mavenProject.getModel().getProperties().containsKey("CApp.type")) { cAppType = (String) mavenProject.getModel().getProperties().get("CApp.type"); }//from w ww .j a va 2 s . c om } List<IResource> archive = ExportUtil.buildProject(detailsPage.getSelectedProject(), cAppType); if (archive.size() == 1) { ext = artifactTypeMapping.getType(cAppType); finalFileName = String.format("%s_%s.%s", project.getName(), version, ext); File destFileName = new File(detailsPage.getExportPath(), finalFileName); if (destFileName.exists()) { org.apache.commons.io.FileUtils.deleteQuietly(destFileName); } FileUtils.copy(archive.get(0).getLocation().toFile(), destFileName); } else { throw new Exception("No resource found that matches the given type " + cAppType); } }