List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoot
IPackageFragmentRoot getPackageFragmentRoot(IResource resource);
From source file:org.wso2.developerstudio.eclipse.artifact.mediator.ui.wizard.CustomMediatorCreationWizard.java
License:Open Source License
public boolean performFinish() { try {/*w w w . ja v a 2 s . co m*/ if (customMediatorModel.getSelectedOption().equals("new.mediator")) { project = createNewProject(); IFolder srcFolder = ProjectUtils.getWorkspaceFolder(project, "src", "main", "java"); JavaUtils.addJavaSupportAndSourceFolder(project, srcFolder); /*create the new Java project*/ String className = customMediatorModel.getMediatorClassName(); String packageName = customMediatorModel.getMediatorClassPackageName(); IJavaProject iJavaProject = JavaCore.create(project); IPackageFragmentRoot root = iJavaProject.getPackageFragmentRoot(srcFolder); IPackageFragment sourcePackage = root.createPackageFragment(packageName, false, null); /*get the Mediator class template*/ String template = CustomMediatorClassTemplate.getClassTemplete(packageName, className); ICompilationUnit cu = sourcePackage.createCompilationUnit(className + ".java", template, false, null); project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); try { IEditorPart javaEditor = JavaUI.openInEditor(cu); JavaUI.revealInEditor(javaEditor, (IJavaElement) cu); } catch (Exception e) { log.error(e); } } else { project = customMediatorModel.getMediatorProject(); project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } File pomfile = project.getFile("pom.xml").getLocation().toFile(); getModel().getMavenInfo().setPackageName("bundle"); if (!pomfile.exists()) { createPOM(pomfile); addDependancies(project); } MavenProject mavenProject = MavenUtils.getMavenProject(pomfile); boolean pluginExists = MavenUtils.checkOldPluginEntry(mavenProject, "org.apache.felix", "maven-bundle-plugin", "2.3.4"); if (!pluginExists) { 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 exportPackageNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package"); Xpp3Dom dynamicImportNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package"); bundleSymbolicNameNode.setValue(project.getName()); bundleNameNode.setValue(project.getName()); if (customMediatorModel.getMediatorClassPackageName() != null && !customMediatorModel.getMediatorClassPackageName().trim().isEmpty()) { exportPackageNode.setValue(customMediatorModel.getMediatorClassPackageName()); } else { IJavaProject javaProject = JavaCore.create(project); if (null != javaProject) { StringBuffer sb = new StringBuffer(); for (IPackageFragment pkg : javaProject.getPackageFragments()) { if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { if (pkg.hasChildren()) { sb.append(pkg.getElementName()).append(","); } } } exportPackageNode.setValue(sb.toString().replaceAll(",$", "")); } } dynamicImportNode.setValue("*"); configurationNode.addChild(instructionNode); MavenUtils.saveMavenProject(mavenProject, pomfile); } project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); ProjectUtils.addNatureToProject(project, false, MEDIATOR_PROJECT_NATURE); MavenUtils.updateWithMavenEclipsePlugin(pomfile, new String[] { JDT_BUILD_COMMAND }, new String[] { MEDIATOR_PROJECT_NATURE, JDT_PROJECT_NATURE }); customMediatorModel.addToWorkingSet(project); project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); refreshDistProjects(); } catch (CoreException e) { log.error(e); } catch (Exception e) { log.error(e); } return true; }
From source file:org.wso2.developerstudio.eclipse.utils.jdt.JavaUtils.java
License:Open Source License
public static void addJavaSourceFolder(IFolder sourceFolder, IJavaProject javaProject) throws CoreException, JavaModelException { ProjectUtils.createFolder(sourceFolder); int ClASSPATH_ENTRY_KIND = 3; IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder); IClasspathEntry[] oldEntries = getClasspathEntries(javaProject); List<IClasspathEntry> validEntries = new ArrayList<IClasspathEntry>(); for (IClasspathEntry classpathEntry : oldEntries) { if (ClASSPATH_ENTRY_KIND != classpathEntry.getEntryKind()) { validEntries.add(classpathEntry); }//from w ww. j a v a 2s . c o m } validEntries.add(JavaCore.newSourceEntry(root.getPath())); javaProject.setRawClasspath(validEntries.toArray(new IClasspathEntry[] {}), null); }
From source file:x10dt.ui.launch.cpp.wizards.CppProjectPropertiesWizardPage.java
License:Open Source License
private void createSampleCode(final IProgressMonitor monitor) throws CoreException { this.fCreatedFile = this.fCurrProject.getFile("src/Hello.x10"); //$NON-NLS-1$ final IFolder srcFolder = this.fCurrProject.getFolder("src"); //$NON-NLS-1$ final IJavaProject javaProject = getJavaProject(); final IPackageFragmentRoot pkgFragRoot = javaProject.getPackageFragmentRoot(srcFolder); final IPackageFragment pkgFrag = pkgFragRoot.getPackageFragment(""); //$NON-NLS-1$ this.fCreatedFile.create(WizardUtils.createSampleContentStream(pkgFrag.getElementName(), "Hello"), //$NON-NLS-1$ IResource.FORCE | IResource.KEEP_HISTORY, monitor); openSourceFile(this.fCreatedFile); }
From source file:x10dt.ui.launch.java.wizards.X10ProjectWizardSecondPage.java
License:Open Source License
@Override public void performFinish(IProgressMonitor monitor) throws CoreException, InterruptedException { final X10ProjectWizardFirstPage firstPage = (X10ProjectWizardFirstPage) this.getPreviousPage(); final IProject project = firstPage.getProjectHandle(); super.performFinish(monitor); // -- create src-java and bin-java String srcJava = "src-java"; String binJava = "bin-java"; String x10GenSrc = "x10-gen-src"; IFolder srcFolder = project.getFolder(srcJava); IFolder binFolder = project.getFolder(binJava); IFolder x10genFolder = project.getFolder(x10GenSrc); srcFolder.create(IResource.FORCE, true, monitor); binFolder.create(IResource.FORCE, true, monitor); x10genFolder.create(IResource.FORCE, true, monitor); // -- add src-java to classpath IClasspathEntry javasrc = JavaCore.newSourceEntry(project.getFolder(srcJava).getFullPath(), new IPath[0], project.getFolder(binJava).getFullPath()); IClasspathEntry x10gen = JavaCore.newSourceEntry(project.getFolder(x10GenSrc).getFullPath()); IJavaProject javaProject = JavaCore.create(project); IClasspathEntry[] entries = javaProject.getRawClasspath(); IClasspathEntry[] newEntries = new IClasspathEntry[entries.length + 2]; System.arraycopy(entries, 0, newEntries, 0, entries.length); newEntries[newEntries.length - 1] = javasrc; newEntries[newEntries.length - 2] = x10gen; javaProject.setRawClasspath(newEntries, new NullProgressMonitor()); // generate sample "Hello World" X10 application if (firstPage.isGenHello()) { ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() { public void run(IProgressMonitor monitor) throws CoreException { IFile newFile = project.getFile("src/Hello.x10"); //$NON-NLS-1$ IFolder srcFolder = project.getFolder("src"); //$NON-NLS-1$ IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot pkgFragRoot = javaProject.getPackageFragmentRoot(srcFolder); IPackageFragment pkgFrag = pkgFragRoot.getPackageFragment(""); //$NON-NLS-1$ InputStream sourceInputStream = WizardUtils.createSampleContentStream(pkgFrag.getElementName(), "Hello"); //$NON-NLS-1$ newFile.create(sourceInputStream, IResource.FORCE | IResource.KEEP_HISTORY, monitor); ((X10ProjectWizard) X10ProjectWizardSecondPage.this.getWizard()).selectAndReveal(newFile); openResource(newFile);/*from w w w . j a v a 2 s . c o m*/ } }, monitor); } }
From source file:Xtext2SonarM2T.launcher.popupMenus.AcceleoGenerateGenerateSonarQubePluginAction.java
License:Open Source License
private void addSourceFolder(IProject project, IPath[] excludePatterns, IFolder sourcefolder, IProgressMonitor monitor) throws JavaModelException { IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourcefolder); IClasspathEntry[] oldEntries = javaProject.getRawClasspath(); IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1]; System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length); System.out.println("Root path: " + root.getPath()); System.out// www .j a va 2 s. c o m .println("Exclude paths: " + excludePatterns[0].toString() + " - " + excludePatterns[1].toString()); newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath(), excludePatterns); javaProject.setRawClasspath(newEntries, monitor); }
From source file:Xtext2SonarM2T.launcher.popupMenus.AcceleoGenerateGenerateSonarQubePluginAction.java
License:Open Source License
/** * @author Tatiana Person Montero//ww w .j av a 2 s. co m * @param name : model name * @throws Exception */ private void createMavenProjects(String name, IProgressMonitor monitor) throws Exception { //Delete .xmi of the name name = name.replaceAll(".xmi", ""); this.name = name; //1) sonar-name project String projectMainName = "sonar-" + name; IProject projectMain = ResourcesPlugin.getWorkspace().getRoot().getProject(projectMainName); createMavenProject(projectMain, monitor, true); //------ Copy the pom.xml file addFileToProject(projectMain, "resources/pom/pomMain.xml", "pom.xml", monitor, name, true); //2) sonar-name-plugin project String projectPluginName = "sonar-" + name + "-plugin"; IProject projectPlugin = ResourcesPlugin.getWorkspace().getRoot().getProject(projectPluginName); createMavenProject(projectPlugin, monitor, false); IFolder sourcefolderPlugin = projectPlugin.getFolder("src/"); IFolder sourcefoldermainPlugin = projectPlugin.getFolder("src/main/"); IFolder sourcefolderjavaPlugin = projectPlugin.getFolder("src/main/java/"); sourcefolderPlugin.create(false, true, monitor); sourcefoldermainPlugin.create(false, true, monitor); sourcefolderjavaPlugin.create(false, true, monitor); setJRE(projectPlugin, monitor); addSourceFolder(projectPlugin, new IPath[] { sourcefolderPlugin.getProjectRelativePath(), sourcefoldermainPlugin.getProjectRelativePath() }, sourcefolderjavaPlugin, monitor); //------ Copy the pom.xml file addFileToProject(projectPlugin, "resources/pom/pomPlugin.xml", "pom.xml", monitor, name, true); //========== Copy the basic Java files to the Plugin project IJavaProject javaProjectPlugin = JavaCore.create(projectPlugin); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin", false, null); addFileToProject(projectPlugin, "resources/plugin/XCommonRulesDecorator.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "CommonRulesDecorator.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XCommonRulesEngine.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "CommonRulesEngine.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XCpdMapping.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "CpdMapping.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XDefaultProfile.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "DefaultProfile.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XLanguage.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "Language.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XPlugin.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "Plugin.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XRuleRepository.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "RuleRepository.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XTokenizer.java", "src/main/java/" + "org/sonar/" + name + "/plugin/" + name + "Tokenizer.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin.coverage", false, null); addFileToProject(projectPlugin, "resources/plugin/BullseyeParser.java", "src/main/java/" + "org/sonar/" + name + "/plugin/coverage/BullseyeParser.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/CoberturaParser.java", "src/main/java/" + "org/sonar/" + name + "/plugin/coverage/CoberturaParser.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/CoverageParser.java", "src/main/java/" + "org/sonar/" + name + "/plugin/coverage/CoverageParser.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XCoverageSensor.java", "src/main/java/" + "org/sonar/" + name + "/plugin/coverage/" + name + "CoverageSensor.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin.externalrules", false, null); addFileToProject( projectPlugin, "resources/plugin/XExternalRuleRepository.java", "src/main/java/" + "org/sonar/" + name + "/plugin/externalrules/" + name + "ExternalRuleRepository.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XExternalRulesSensor.java", "src/main/java/" + "org/sonar/" + name + "/plugin/externalrules/" + name + "ExternalRulesSensor.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin.highlighter", false, null); addFileToProject(projectPlugin, "resources/plugin/SourceFileOffsets.java", "src/main/java/" + "org/sonar/" + name + "/plugin/highlighter/SourceFileOffsets.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XHighlighter.java", "src/main/java/" + "org/sonar/" + name + "/plugin/highlighter/" + name + "Highlighter.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin.squid", false, null); addFileToProject(projectPlugin, "resources/plugin/DependencyAnalyzer.java", "src/main/java/" + "org/sonar/" + name + "/plugin/squid/DependencyAnalyzer.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/DirectoryEdge.java", "src/main/java/" + "org/sonar/" + name + "/plugin/squid/DirectoryEdge.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/DsmSerializer.java", "src/main/java/" + "org/sonar/" + name + "/plugin/squid/DsmSerializer.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/FileEdge.java", "src/main/java/" + "org/sonar/" + name + "/plugin/squid/FileEdge.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XLanguageFootprint.java", "src/main/java/" + "org/sonar/" + name + "/plugin/squid/" + name + "LanguageFootprint.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XSquidSensor.java", "src/main/java/" + "org/sonar/" + name + "/plugin/squid/" + name + "SquidSensor.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin.utils", false, null); addFileToProject(projectPlugin, "resources/plugin/EmptyReportException.java", "src/main/java/" + "org/sonar/" + name + "/plugin/utils/EmptyReportException.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XAbstractRuleRepository.java", "src/main/java/" + "org/sonar/" + name + "/plugin/utils/" + name + "AbstractRuleRepository.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XMetrics.java", "src/main/java/" + "org/sonar/" + name + "/plugin/utils/" + name + "Metrics.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XReportSensor.java", "src/main/java/" + "org/sonar/" + name + "/plugin/utils/" + name + "ReportSensor.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XUtils.java", "src/main/java/" + "org/sonar/" + name + "/plugin/utils/" + name + "Utils.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin) .createPackageFragment("org.sonar." + name + ".plugin.xunit", false, null); addFileToProject(projectPlugin, "resources/plugin/DefaultResourceFinder.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/DefaultResourceFinder.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/MSTestResultsProvider.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/MSTestResultsProvider.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/ResourceFinder.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/ResourceFinder.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/TestCase.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/TestCase.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/TestResource.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/TestResource.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XXunitSensor.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/" + name + "XunitSensor.java", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/XunitReportParser.java", "src/main/java/" + "org/sonar/" + name + "/plugin/xunit/XunitReportParser.java", monitor, name, false); javaProjectPlugin.getPackageFragmentRoot(sourcefolderjavaPlugin).createPackageFragment("resources", false, null); addFileToProject(projectPlugin, "resources/plugin/default-profile.xml", "src/main/java/" + "resources/default-profile.xml", monitor, name, false); addFileToProject(projectPlugin, "resources/plugin/external-rule.xml", "src/main/java/" + "resources/external-rule.xml", monitor, name, false); //3) sslr-name-toolkit project String projectToolkitName = "sslr-" + name + "-toolkit"; IProject projectToolkit = ResourcesPlugin.getWorkspace().getRoot().getProject(projectToolkitName); createMavenProject(projectToolkit, monitor, false); IFolder sourcefolderToolkit = projectToolkit.getFolder("src"); IFolder sourcefoldermainToolkit = projectToolkit.getFolder("src/main"); IFolder sourcefolderjavaToolkit = projectToolkit.getFolder("src/main/java"); sourcefolderToolkit.create(false, true, monitor); sourcefoldermainToolkit.create(false, true, monitor); sourcefolderjavaToolkit.create(false, true, monitor); setJRE(projectToolkit, monitor); addSourceFolder(projectToolkit, new IPath[] { sourcefolderToolkit.getProjectRelativePath(), sourcefoldermainToolkit.getProjectRelativePath() }, sourcefolderjavaToolkit, monitor); //------ Copy the pom.xml file addFileToProject(projectToolkit, "resources/pom/pomToolkit.xml", "pom.xml", monitor, name, true); //========== Copy the basic Java files to the Toolkit project IJavaProject javaProjectToolkit = JavaCore.create(projectToolkit); javaProjectToolkit.getPackageFragmentRoot(sourcefolderjavaToolkit) .createPackageFragment("org.sslr." + name + ".toolkit", false, null); addFileToProject(projectToolkit, "resources/toolkit/XConfigurationModel.java", "src/main/java/" + "org/sslr/" + name + "/toolkit/" + name + "ConfigurationModel" + ".java", monitor, name, false); addFileToProject(projectToolkit, "resources/toolkit/XToolkit.java", "src/main/java/" + "org/sslr/" + name + "/toolkit/" + name + "Toolkit" + ".java", monitor, name, false); //MavenProjectBuilder mavenProjectBuilder = new MavenProjectBuilder(pomToModel(projectToolkit.getFullPath() + "/pom.xml")); //MavenProject mavenProject = new MavenProject(pomToModel(projectToolkit.getFullPath() + "/pom.xml")); //4) name-checks project String projectChecksName = name + "-checks"; IProject projectChecks = ResourcesPlugin.getWorkspace().getRoot().getProject(projectChecksName); createMavenProject(projectChecks, monitor, false); IFolder sourcefolderChecks = projectChecks.getFolder("src/"); IFolder sourcefoldermainChecks = projectChecks.getFolder("src/main/"); IFolder sourcefolderjavaChecks = projectChecks.getFolder("src/main/java/"); IFolder sourcefolderesourcesChecks = projectChecks.getFolder("src/main/resources/"); sourcefolderChecks.create(false, true, monitor); sourcefoldermainChecks.create(false, true, monitor); sourcefolderjavaChecks.create(false, true, monitor); sourcefolderesourcesChecks.create(false, true, monitor); setJRE(projectChecks, monitor); addSourceFolder(projectChecks, new IPath[] { sourcefolderChecks.getProjectRelativePath(), sourcefoldermainChecks.getProjectRelativePath() }, sourcefolderjavaChecks, monitor); addSourceFolder(projectChecks, new IPath[] { sourcefolderChecks.getProjectRelativePath(), sourcefoldermainChecks.getProjectRelativePath() }, sourcefolderesourcesChecks, monitor); //------ Copy the pom.xml file addFileToProject(projectChecks, "resources/pom/pomChecks.xml", "pom.xml", monitor, name, true); //========== Copy the basic Java files to the Checks project IJavaProject javaProjectChecks = JavaCore.create(projectChecks); javaProjectChecks.getPackageFragmentRoot(sourcefolderjavaChecks) .createPackageFragment("org.sonar." + name + ".checks", false, null); addFileToProject(projectChecks, "resources/checks/CheckList.java", "src/main/java/" + "org/sonar/" + name + "/checks/CheckList.java", monitor, name, false); addFileToProject(projectChecks, "resources/checks/FileComplexityCheck.java", "src/main/java/" + "org/sonar/" + name + "/checks/FileComplexityCheck.java", monitor, name, false); addFileToProject(projectChecks, "resources/checks/TooLongLineCheck.java", "src/main/java/" + "org/sonar/" + name + "/checks/TooLongLineCheck.java", monitor, name, false); addFileToProject(projectChecks, "resources/checks/CompileIncludePathNotFoundOrInvalid.java", "src/main/java/" + "org/sonar/" + name + "/checks/CompileIncludePathNotFoundOrInvalid.java", monitor, name, false); javaProjectChecks.getPackageFragmentRoot(sourcefolderesourcesChecks) .createPackageFragment("org.sonar.l10n." + name + ".rules." + name, false, null); addFileToProject(projectChecks, "resources/checks/TooLongLine.html", "src/main/resources/" + "org/sonar/l10n/" + name + "/rules/" + name + "/TooLongLine.html", monitor, name, false); addFileToProject(projectChecks, "resources/checks/FileComplexity.html", "src/main/resources/" + "org/sonar/l10n/" + name + "/rules/" + name + "/FileComplexity.html", monitor, name, false); addFileToProject( projectChecks, "resources/checks/CompileIncludePathNotFoundOrInvalid.html", "src/main/resources/" + "org/sonar/l10n/" + name + "/rules/" + name + "/CompileIncludePathNotFoundOrInvalid.html", monitor, name, false); //4) name-squid project String projectSquidName = name + "-squid"; IProject projectSquid = ResourcesPlugin.getWorkspace().getRoot().getProject(projectSquidName); createMavenProject(projectSquid, monitor, false); IFolder sourcefolderSquid = projectSquid.getFolder("src/"); IFolder sourcefoldermainSquid = projectSquid.getFolder("src/main/"); IFolder sourcefolderjavaSquid = projectSquid.getFolder("src/main/java/"); sourcefolderSquid.create(false, true, monitor); sourcefoldermainSquid.create(false, true, monitor); sourcefolderjavaSquid.create(false, true, monitor); setJRE(projectSquid, monitor); addSourceFolder(projectSquid, new IPath[] { sourcefolderSquid.getProjectRelativePath(), sourcefoldermainSquid.getProjectRelativePath() }, sourcefolderjavaSquid, monitor); //------ Copy the pom.xml file addFileToProject(projectSquid, "resources/pom/pomSquid.xml", "pom.xml", monitor, name, true); //========== Copy the basic Java files to the Squid project IJavaProject javaProjectSquid = JavaCore.create(projectSquid); javaProjectSquid.getPackageFragmentRoot(sourcefolderjavaSquid).createPackageFragment("org.sonar." + name, false, null); addFileToProject(projectSquid, "resources/squid/ProgressAstScanner.java", "src/main/java/" + "org/sonar/" + name + "/ProgressAstScanner.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/ProgressReport.java", "src/main/java/" + "org/sonar/" + name + "/ProgressReport.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XCommentAnalyser.java", "src/main/java/" + "org/sonar/" + name + "/" + name + "CommentAnalyser.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XConfiguration.java", "src/main/java/" + "org/sonar/" + name + "/" + name + "Configuration.java", monitor, name, false); javaProjectSquid.getPackageFragmentRoot(sourcefolderjavaSquid) .createPackageFragment("org.sonar." + name + ".api", false, null); addFileToProject(projectSquid, "resources/squid/XMetric.java", "src/main/java/" + "org/sonar/" + name + "/api/" + name + "Metric.java", monitor, name, false); javaProjectSquid.getPackageFragmentRoot(sourcefolderjavaSquid) .createPackageFragment("org.sonar." + name + ".channels", false, null); addFileToProject(projectSquid, "resources/squid/CharacterLiteralsChannel.java", "src/main/java/" + "org/sonar/" + name + "/channels/CharacterLiteralsChannel.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/StringLiteralsChannel.java", "src/main/java/" + "org/sonar/" + name + "/channels/StringLiteralsChannel.java", monitor, name, false); javaProjectSquid.getPackageFragmentRoot(sourcefolderjavaSquid) .createPackageFragment("org.sonar." + name + ".lexer", false, null); addFileToProject(projectSquid, "resources/squid/BackslashChannel.java", "src/main/java/" + "org/sonar/" + name + "/lexer/BackslashChannel.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XLexer.java", "src/main/java/" + "org/sonar/" + name + "/lexer/" + name + "Lexer.java", monitor, name, false); javaProjectSquid.getPackageFragmentRoot(sourcefolderjavaSquid) .createPackageFragment("org.sonar." + name + ".parser", false, null); addFileToProject(projectSquid, "resources/squid/XParser.java", "src/main/java/" + "org/sonar/" + name + "/parser/" + name + "Parser.java", monitor, name, false); javaProjectSquid.getPackageFragmentRoot(sourcefolderjavaSquid) .createPackageFragment("org.sonar." + name + ".visitors", false, null); addFileToProject(projectSquid, "resources/squid/XCharsetAwareVisitor.java", "src/main/java/" + "org/sonar/" + name + "/visitors/" + name + "CharsetAwareVisitor.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XCommentLinesVisitor.java", "src/main/java/" + "org/sonar/" + name + "/visitors/" + name + "CommentLinesVisitor.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XFileVisitor.java", "src/main/java/" + "org/sonar/" + name + "/visitors/" + name + "FileVisitor.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XLinesOfCodeVisitor.java", "src/main/java/" + "org/sonar/" + name + "/visitors/" + name + "LinesOfCodeVisitor.java", monitor, name, false); addFileToProject(projectSquid, "resources/squid/XParseErrorLoggerVisitor.java", "src/main/java/" + "org/sonar/" + name + "/visitors/" + name + "ParseErrorLoggerVisitor.java", monitor, name, false); //----- Copy all projects in the main project : Maven multi module //projectMain.copy(projectPlugin.getFullPath(), true, monitor); System.out.println("Path usada = " + projectMain.getName() + "/"); projectPlugin.copy(new Path(projectMain.getName() + "/"), true, monitor); System.out.println("Copy plugin project done."); }