List of usage examples for org.apache.maven.project MavenProject getBuild
public Build getBuild()
From source file:org.wso2.developerstudio.eclipse.artifact.library.project.export.LibraryArtifactHandler.java
License:Open Source License
private List<String> getPackages(List<String> exportedPackagesList, MavenProject mavenProject, String packagetype) throws CoreException, JavaModelException, Exception { 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(packagetype); if (exportPackage.length == 1) { exportedPackagesList.clear(); //clear default configuration (All packages by default) String exportpackages = exportPackage[0].getValue(); if (exportpackages != null) { exportedPackagesList.addAll(Arrays.asList(exportpackages.split(","))); }//w w w . j a va 2 s .co m } 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 } } return exportedPackagesList; }
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]; }// w ww .j a va 2 s. c o m } 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.mediator.project.export.MediatorExportHandler.java
License:Open Source License
private List<String> getExportPackages(IJavaProject javaProject) throws CoreException, JavaModelException, Exception { ArrayList<String> exportedPackagesList = new ArrayList<String>(); IPackageFragment[] packages = javaProject.getPackageFragments(); if (packages != null) { for (IPackageFragment iPackageFragment : packages) { iPackageFragment.getElementName(); if (iPackageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) { if (iPackageFragment.hasChildren()) { exportedPackagesList.add(iPackageFragment.getElementName()); }//from w ww .j a v a 2 s. c om } } } MavenProject mavenProject = MavenUtils .getMavenProject(javaProject.getProject().getFile("pom.xml").getLocation().toFile()); 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) { exportedPackagesList.clear(); //clear default configuration (All packages by default) String exportpackages = exportPackage[0].getValue(); if (packages != null) { exportedPackagesList.addAll(Arrays.asList(exportpackages.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 } } return exportedPackagesList; }
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.ja v a 2s. co 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, 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 ww w.j a v a 2 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:org.wso2.developerstudio.eclipse.esb.project.nature.ESBProjectNature.java
License:Open Source License
private void updatePom() { // TODO update the pom with the relavant packaging types & maven pligins File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile(); try {//from w w w .j a v a2s .c o m MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation); //Adding typrLidt property MavenUtils.updateMavenProjectWithCAppType(mavenProject, CAPP_TYPE); //Setting the directory mavenProject.getBuild().setDirectory("target/capp"); // Adding maven test skip property MavenUtils.updateMavenProjectWithSkipTests(mavenProject); //Adding maven exec plugin entry Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.codehaus.mojo", "exec-maven-plugin", "1.4.0", true); { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setId(ESBMavenConstants.PACKAGE_PHASE); pluginExecution.addGoal(ESBMavenConstants.EXEC_GOAL); pluginExecution.setPhase(ESBMavenConstants.PACKAGE_PHASE); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom executableNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.EXECUTABLE_TAG); executableNode.setValue(ESBMavenConstants.EXECUTABLE_VALUE); Xpp3Dom workingDirectoryNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.WORKING_DIRECTORY_TAG); workingDirectoryNode.setValue(ESBMavenConstants.WORKING_DIRECTORY_VALUE); Xpp3Dom argumentsNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.ARGUMENTS_TAG); Xpp3Dom cleanArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); cleanArgumentNode.setValue(ESBMavenConstants.ARGUMENT_VALUE_CLEAN); Xpp3Dom installArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); installArgumentNode.setValue(ESBMavenConstants.PACKAGE_PHASE); Xpp3Dom testSkipArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); testSkipArgumentNode.setValue(ESBMavenConstants.ARGUMENT_VALUE_SKIP_TESTS); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); } { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setId(ESBMavenConstants.INSTALL_PHASE); pluginExecution.addGoal(ESBMavenConstants.EXEC_GOAL); pluginExecution.setPhase(ESBMavenConstants.INSTALL_PHASE); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom executableNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.EXECUTABLE_TAG); executableNode.setValue(ESBMavenConstants.EXECUTABLE_VALUE); Xpp3Dom workingDirectoryNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.WORKING_DIRECTORY_TAG); workingDirectoryNode.setValue(ESBMavenConstants.WORKING_DIRECTORY_VALUE); Xpp3Dom argumentsNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.ARGUMENTS_TAG); Xpp3Dom cleanArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); cleanArgumentNode.setValue(ESBMavenConstants.ARGUMENT_VALUE_CLEAN); Xpp3Dom installArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); installArgumentNode.setValue(ESBMavenConstants.INSTALL_PHASE); Xpp3Dom testSkipArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); testSkipArgumentNode.setValue(ESBMavenConstants.ARGUMENT_VALUE_SKIP_TESTS); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); } { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setId(ESBMavenConstants.DEPLOY_PHASE); pluginExecution.addGoal(ESBMavenConstants.EXEC_GOAL); pluginExecution.setPhase(ESBMavenConstants.DEPLOY_PHASE); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom executableNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.EXECUTABLE_TAG); executableNode.setValue(ESBMavenConstants.EXECUTABLE_VALUE); Xpp3Dom workingDirectoryNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.WORKING_DIRECTORY_TAG); workingDirectoryNode.setValue(ESBMavenConstants.WORKING_DIRECTORY_VALUE); Xpp3Dom argumentsNode = MavenUtils.createXpp3Node(configurationNode, ESBMavenConstants.ARGUMENTS_TAG); Xpp3Dom deployArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); deployArgumentNode.setValue(ESBMavenConstants.DEPLOY_PHASE); Xpp3Dom testSkipArgumentNode = MavenUtils.createXpp3Node(argumentsNode, ESBMavenConstants.ARGUMENT_TAG); testSkipArgumentNode.setValue(ESBMavenConstants.ARGUMENT_VALUE_SKIP_TESTS); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); } MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation); } catch (Exception e) { // TODO Handle this properly. e.printStackTrace(); } try { getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } catch (CoreException e) { // TODO Handle this properly. e.printStackTrace(); } }
From source file:org.wso2.developerstudio.eclipse.esb.project.utils.ESBProjectUtils.java
License:Open Source License
public static void addPluginEntry(MavenProject mavenProject, String groupId, String artifactId, String version, String Id) {//from ww w.j a va 2s . c om List<Plugin> plugins = mavenProject.getBuild().getPlugins(); for (Plugin plg : plugins) { if (plg.getGroupId().equalsIgnoreCase(groupId) && plg.getArtifactId().equalsIgnoreCase(artifactId)) { return; } } Plugin plugin = MavenUtils.createPluginEntry(mavenProject, groupId, artifactId, version, true); PluginExecution pluginExecution = new PluginExecution(); pluginExecution.addGoal("pom-gen"); pluginExecution.setPhase("process-resources"); pluginExecution.setId(Id); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom artifactLocationNode = MavenUtils.createXpp3Node(configurationNode, "artifactLocation"); artifactLocationNode.setValue("."); Xpp3Dom typeListNode = MavenUtils.createXpp3Node(configurationNode, "typeList"); typeListNode.setValue("${artifact.types}"); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); }
From source file:org.wso2.developerstudio.eclipse.integration.project.nature.IntegrationProjectNature.java
License:Open Source License
private void updatePom() { // TODO update the pom with the relavant packaging types & maven pligins File mavenProjectPomLocation = getProject().getFile("pom.xml").getLocation().toFile(); try {/*from www.j a v a2 s .c om*/ MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation); // Adding typrLidt property MavenUtils.updateMavenProjectWithCAppType(mavenProject, CAPP_TYPE); // Setting the directory mavenProject.getBuild().setDirectory("target/capp"); // Adding maven test skip property MavenUtils.updateMavenProjectWithSkipTests(mavenProject); // Adding maven exec plugin entry Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.codehaus.mojo", "exec-maven-plugin", "1.4.0", true); { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setId(IntegrationMavenConstants.PACKAGE_PHASE); pluginExecution.addGoal(IntegrationMavenConstants.EXEC_GOAL); pluginExecution.setPhase(IntegrationMavenConstants.PACKAGE_PHASE); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom executableNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.EXECUTABLE_TAG); executableNode.setValue(IntegrationMavenConstants.EXECUTABLE_VALUE); Xpp3Dom workingDirectoryNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.WORKING_DIRECTORY_TAG); workingDirectoryNode.setValue(IntegrationMavenConstants.WORKING_DIRECTORY_VALUE); Xpp3Dom argumentsNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.ARGUMENTS_TAG); Xpp3Dom cleanArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); cleanArgumentNode.setValue(IntegrationMavenConstants.ARGUMENT_VALUE_CLEAN); Xpp3Dom installArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); installArgumentNode.setValue(IntegrationMavenConstants.PACKAGE_PHASE); Xpp3Dom testSkipArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); testSkipArgumentNode.setValue(IntegrationMavenConstants.ARGUMENT_VALUE_SKIP_TESTS); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); } { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setId(IntegrationMavenConstants.INSTALL_PHASE); pluginExecution.addGoal(IntegrationMavenConstants.EXEC_GOAL); pluginExecution.setPhase(IntegrationMavenConstants.INSTALL_PHASE); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom executableNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.EXECUTABLE_TAG); executableNode.setValue(IntegrationMavenConstants.EXECUTABLE_VALUE); Xpp3Dom workingDirectoryNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.WORKING_DIRECTORY_TAG); workingDirectoryNode.setValue(IntegrationMavenConstants.WORKING_DIRECTORY_VALUE); Xpp3Dom argumentsNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.ARGUMENTS_TAG); Xpp3Dom cleanArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); cleanArgumentNode.setValue(IntegrationMavenConstants.ARGUMENT_VALUE_CLEAN); Xpp3Dom installArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); installArgumentNode.setValue(IntegrationMavenConstants.INSTALL_PHASE); Xpp3Dom testSkipArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); testSkipArgumentNode.setValue(IntegrationMavenConstants.ARGUMENT_VALUE_SKIP_TESTS); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); } { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setId(IntegrationMavenConstants.DEPLOY_PHASE); pluginExecution.addGoal(IntegrationMavenConstants.EXEC_GOAL); pluginExecution.setPhase(IntegrationMavenConstants.DEPLOY_PHASE); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(); Xpp3Dom executableNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.EXECUTABLE_TAG); executableNode.setValue(IntegrationMavenConstants.EXECUTABLE_VALUE); Xpp3Dom workingDirectoryNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.WORKING_DIRECTORY_TAG); workingDirectoryNode.setValue(IntegrationMavenConstants.WORKING_DIRECTORY_VALUE); Xpp3Dom argumentsNode = MavenUtils.createXpp3Node(configurationNode, IntegrationMavenConstants.ARGUMENTS_TAG); Xpp3Dom deployArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); deployArgumentNode.setValue(IntegrationMavenConstants.DEPLOY_PHASE); Xpp3Dom testSkipArgumentNode = MavenUtils.createXpp3Node(argumentsNode, IntegrationMavenConstants.ARGUMENT_TAG); testSkipArgumentNode.setValue(IntegrationMavenConstants.ARGUMENT_VALUE_SKIP_TESTS); pluginExecution.setConfiguration(configurationNode); plugin.addExecution(pluginExecution); } MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation); } catch (Exception e) { // TODO Handle this properly. e.printStackTrace(); } try { getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } catch (CoreException e) { // TODO Handle this properly. e.printStackTrace(); } }
From source file:org.wso2.developerstudio.eclipse.qos.project.exporter.QoSArtfactExportHandler.java
License:Open Source License
@Override public List<IResource> exportArtifact(IProject project) throws Exception { String projectPath = project.getLocation().toFile().toString(); List<IResource> exportResources = new ArrayList<IResource>(); clearTarget(project);/*from w ww . j a va 2 s . c o m*/ IFile pomFile = project.getFile("pom.xml"); if (pomFile.exists()) { MavenProject mavenProject = MavenUtils.getMavenProject(pomFile.getLocation().toFile()); List<Plugin> plugins = mavenProject.getBuild().getPlugins(); for (Plugin plugin : plugins) { if (plugin.getArtifactId().equals("maven-qos-plugin") && plugin.getGroupId().equals("org.wso2.maven")) { Xpp3Dom artifactNode = ((Xpp3Dom) plugin.getConfiguration()).getChild("artifact"); String metaFile = artifactNode.getValue(); String[] pathArray = metaFile.split("/"); IFile qosFileRef = project.getFolder("src").getFolder("main").getFolder("resources") .getFile(pathArray[pathArray.length - 1]); if (qosFileRef.exists()) { exportResources.add((IResource) qosFileRef); } } } return exportResources; } return null; }
From source file:org.wso2.maven.core.utils.MavenUtils.java
License:Open Source License
public static Plugin createPluginEntry(MavenProject project, String groupId, String artifactId, String version, boolean isExtension) { Plugin plugin = new Plugin(); plugin.setGroupId(groupId);/*from www . ja v a2 s . c om*/ plugin.setArtifactId(artifactId); plugin.setVersion(version); if (isExtension) { plugin.setExtensions(true); } MavenUtils.createMainConfigurationNode(plugin); project.getBuild().addPlugin(plugin); return plugin; }