From 902ac54a437b513ee41360c9f001e3e9174d98dd Mon Sep 17 00:00:00 2001 From: Eike Stepper Date: Fri, 9 Sep 2011 05:41:44 +0000 Subject: Share project "org.eclipse.emf.cdo.releng.doc" into "https://dev.eclipse.org/svnroot/modeling/org.eclipse.emf.cdo" --- .../emf/cdo/releng/AssembleJavaDocOptions.java | 827 --------------------- .../eclipse/emf/cdo/releng/MakeHrefsRelative.java | 119 --- .../emf/cdo/releng/MovePackageDescriptions.java | 120 --- .../org/eclipse/emf/cdo/releng/SortListItems.java | 149 ---- 4 files changed, 1215 deletions(-) delete mode 100644 plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/AssembleJavaDocOptions.java delete mode 100644 plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MakeHrefsRelative.java delete mode 100644 plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MovePackageDescriptions.java delete mode 100644 plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/SortListItems.java diff --git a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/AssembleJavaDocOptions.java b/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/AssembleJavaDocOptions.java deleted file mode 100644 index 2bc808da01..0000000000 --- a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/AssembleJavaDocOptions.java +++ /dev/null @@ -1,827 +0,0 @@ -/** - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - */ -package org.eclipse.emf.cdo.releng; - -import org.eclipse.osgi.util.ManifestElement; - -import org.osgi.framework.BundleException; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.CharArrayWriter; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.jar.Attributes; -import java.util.jar.Manifest; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * @author Eike Stepper - */ -public class AssembleJavaDocOptions -{ - private static final String EXPORT_PACKAGE = "Export-Package"; - - private static final AntLib ANTLIB = new AntLib(); - - private static final Pattern PACKAGE_INFO_PATTERN = Pattern.compile(".*]*>\\s*(.*)\\s*

\\s*.*", - Pattern.MULTILINE | Pattern.DOTALL); - - private static final String NL = System.getProperty("line.separator"); - - private static File workspace; - - private static File plugins; - - private static File releng; - - public static void main(String[] args) throws Exception - { - String workspacePath = args.length == 0 ? "../../.." : args[0]; - workspace = new File(workspacePath).getCanonicalFile(); - plugins = new File(workspace, "plugins"); - releng = new File(plugins, "org.eclipse.emf.cdo.releng"); - - for (File plugin : plugins.listFiles()) - { - if (plugin.isDirectory()) - { - Properties buildProperties = getProperties(new File(plugin, "build.properties")); - String javadocProject = buildProperties.getProperty("org.eclipse.emf.cdo.releng.javadoc.project"); - if (javadocProject != null) - { - Set excludedPackages = getExcludedPackages(buildProperties); - assembleJavaDocOptions(plugin, javadocProject, excludedPackages); - } - } - } - - for (JavaDoc javaDoc : ANTLIB.getJavaDocs()) - { - javaDoc.generateAnt(); - javaDoc.generateToc(); - } - - ANTLIB.generate(); - ANTLIB.generateDebug(); - System.out.println(); - - for (JavaDoc javaDoc : ANTLIB.getJavaDocs()) - { - for (SourcePlugin sourcePlugin : javaDoc.getSourcePlugins()) - { - sourcePlugin.validatePackageInfos(); - } - } - - System.out.println(); - } - - private static void assembleJavaDocOptions(File plugin, String javadocProject, Set excludedPackages) - throws IOException, BundleException - { - SourcePlugin sourcePlugin = ANTLIB.getSourcePlugin(plugin.getName()); - - JavaDoc javaDoc = ANTLIB.getJavaDoc(javadocProject); - javaDoc.getSourcePlugins().add(sourcePlugin); - - Manifest manifest = getManifest(plugin); - for (ManifestElement manifestElement : getManifestElements(manifest)) - { - String packageName = manifestElement.getValue().trim(); - if (isPublic(manifestElement) && !excludedPackages.contains(packageName)) - { - javaDoc.getSourceFolders().add(plugin.getName() + "/src/" + packageName.replace('.', '/')); - javaDoc.getPackageNames().add(packageName); - sourcePlugin.getPackageNames().add(packageName); - } - else - { - javaDoc.getPackageExcludes().add(packageName); - } - } - } - - private static boolean isPublic(ManifestElement manifestElement) - { - return manifestElement.getDirective("x-internal") == null && manifestElement.getDirective("x-friends") == null; - } - - private static Set getExcludedPackages(Properties buildProperties) - { - Set excludedPackages = new HashSet(); - - String javadocExclude = buildProperties.getProperty("org.eclipse.emf.cdo.releng.javadoc.exclude"); - if (javadocExclude != null) - { - for (String exclude : javadocExclude.split(",")) - { - exclude = exclude.trim(); - if (exclude.length() != 0) - { - excludedPackages.add(exclude); - } - } - } - return excludedPackages; - } - - private static ManifestElement[] getManifestElements(Manifest manifest) throws BundleException - { - Attributes attributes = manifest.getMainAttributes(); - String exportPackage = attributes.getValue(EXPORT_PACKAGE); - ManifestElement[] manifestElements = ManifestElement.parseHeader(EXPORT_PACKAGE, exportPackage); - return manifestElements; - } - - private static Manifest getManifest(File plugin) throws IOException - { - File metaInf = new File(plugin, "META-INF"); - File manifest = new File(metaInf, "MANIFEST.MF"); - InputStream in = null; - - try - { - in = new FileInputStream(manifest); - return new Manifest(in); - } - finally - { - if (in != null) - { - in.close(); - } - } - } - - private static Properties getProperties(File file) throws IOException - { - Properties properties = new Properties(); - - if (file.exists()) - { - InputStream in = null; - - try - { - in = new FileInputStream(file); - properties.load(in); - } - finally - { - if (in != null) - { - in.close(); - } - } - } - - return properties; - } - - private static List sort(Collection collection) - { - List result = new ArrayList(collection); - Collections.sort(result); - return result; - } - - public static void writeGenerationWarning(BufferedWriter writer) throws IOException - { - writer.write("\t\n"); - writer.write("\t\n"); - writer.write("\t\n"); - } - - /** - * @author Eike Stepper - */ - private static class AntLib - { - private Map sourcePlugins = new HashMap(); - - private Map javaDocs = new HashMap(); - - public AntLib() - { - } - - public SourcePlugin getSourcePlugin(String projectName) throws IOException - { - SourcePlugin sourcePlugin = sourcePlugins.get(projectName); - if (sourcePlugin == null) - { - sourcePlugin = new SourcePlugin(projectName); - sourcePlugins.put(projectName, sourcePlugin); - } - - return sourcePlugin; - } - - public Collection getJavaDocs() - { - return javaDocs.values(); - } - - public Collection getJavaDocsSortedByDependencies() - { - List javaDocs = new ArrayList(getJavaDocs()); - Collections.sort(javaDocs, new Comparator() - { - public int compare(JavaDoc javaDoc1, JavaDoc javaDoc2) - { - String name1 = javaDoc1.getProject().getName(); - if (javaDoc2.getAllDependencies().contains(name1)) - { - return -1; - } - - String name2 = javaDoc2.getProject().getName(); - if (javaDoc1.getAllDependencies().contains(name2)) - { - return 1; - } - - return 0; - } - }); - - return javaDocs; - } - - public JavaDoc getJavaDoc(String projectName) throws IOException - { - JavaDoc javaDoc = javaDocs.get(projectName); - if (javaDoc == null) - { - javaDoc = new JavaDoc(projectName); - javaDocs.put(projectName, javaDoc); - - Properties buildProperties = getProperties(new File(javaDoc.getProject(), "build.properties")); - String depends = buildProperties.getProperty("org.eclipse.emf.cdo.releng.javadoc.depends"); - if (depends != null) - { - StringTokenizer tokenizer = new StringTokenizer(depends, ","); - while (tokenizer.hasMoreTokens()) - { - String depend = tokenizer.nextToken().trim(); - javaDoc.getDependencies().add(depend); - } - } - } - - return javaDoc; - } - - public JavaDoc getJavaDocIfExists(String projectName) - { - JavaDoc javaDoc = javaDocs.get(projectName); - if (javaDoc == null) - { - throw new IllegalStateException("JavaDoc project not found: " + projectName); - } - - return javaDoc; - } - - public void generate() throws IOException - { - FileWriter out = null; - - try - { - File target = new File(releng, "javadoc/javadocLib.ant"); - System.out.println("Generating " + target.getCanonicalPath()); - - out = new FileWriter(target); - BufferedWriter writer = new BufferedWriter(out); - - writer.write("\n"); - writer.write("\n"); - - writer.write("\n"); - writeGenerationWarning(writer); - writer.write("\n"); - - writer.write("\t\n"); - - for (JavaDoc javaDoc : (List)getJavaDocsSortedByDependencies()) - { - writer.write("\t\t\n"); - } - - writer.write("\t\n"); - writer.write("\n"); - writer.write("\n"); - writer.flush(); - } - finally - { - if (out != null) - { - out.close(); - } - } - } - - public void generateDebug() throws IOException - { - FileWriter out = null; - - try - { - File target = new File(releng, "javadoc/debug-frame.html"); - System.out.println("Generating " + target.getCanonicalPath()); - - out = new FileWriter(target); - BufferedWriter writer = new BufferedWriter(out); - - List javaDocs = new ArrayList(getJavaDocsSortedByDependencies()); - Collections.reverse(javaDocs); - - for (JavaDoc javaDoc : javaDocs) - { - for (SourcePlugin sourcePlugin : javaDoc.getSortedSourcePlugins()) - { - List sortedPackageNames = sourcePlugin.getSortedPackageNames(); - writer.write("" - + sourcePlugin.getLabel() + "\n"); - writer.write("

\n"); - } - } - - writer.flush(); - } - finally - { - if (out != null) - { - out.close(); - } - } - } - } - - /** - * @author Eike Stepper - */ - private static class SourcePlugin implements Comparable - { - private String projectName; - - private String label; - - private Set packageNames = new HashSet(); - - public SourcePlugin(String projectName) throws IOException - { - this.projectName = projectName; - Properties pluginProperties = getProperties(new File(getProject(), "plugin.properties")); - label = pluginProperties.getProperty("pluginName"); - if (label == null) - { - label = "Plugin " + projectName; - } - } - - @Override - public String toString() - { - return projectName; - } - - public File getProject() - { - return new File(plugins, projectName); - } - - public String getLabel() - { - return label; - } - - public Set getPackageNames() - { - return packageNames; - } - - public List getSortedPackageNames() - { - List names = new ArrayList(packageNames); - Collections.sort(names); - return names; - } - - public int compareTo(SourcePlugin o) - { - return getLabel().compareTo(o.getLabel()); - } - - public void validatePackageInfos() throws IOException - { - Set packageNames2 = getPackageNames(); - for (String packageName : packageNames2) - { - File packageFolder = new File(getProject(), "src/" + packageName.replace('.', '/')); - File packageInfo = new File(packageFolder, "package-info.java"); - if (!packageInfo.isFile()) - { - File packageHtml = new File(packageFolder, "package.html"); - if (packageHtml.isFile()) - { - convertPackageHTML(packageHtml, packageInfo, packageName); - } - - if (!packageInfo.isFile()) - { - System.err.println("Package info missing: " + packageInfo.getCanonicalPath()); - } - } - } - } - - private void convertPackageHTML(File packageHtml, File packageInfo, String packageName) throws IOException - { - int length = (int)packageHtml.length(); - char[] content = new char[length]; - - FileReader reader = null; - - try - { - reader = new FileReader(packageHtml); - if (reader.read(content) != length) - { - throw new IOException("Invalid file length: " + packageHtml.getCanonicalPath()); - } - } - finally - { - if (reader != null) - { - reader.close(); - } - } - - String input = new String(content); - Matcher matcher = PACKAGE_INFO_PATTERN.matcher(input); - if (!matcher.matches()) - { - System.err.println("No match: " + packageHtml.getCanonicalPath()); - return; - } - - System.out.println("Converting " + packageHtml.getCanonicalPath()); - String comment = matcher.group(1); - FileWriter out = null; - - try - { - out = new FileWriter(packageInfo); - BufferedWriter writer = new BufferedWriter(out); - - writer.write("/*" + NL); - writer.write(" * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others." + NL); - writer.write(" * All rights reserved. This program and the accompanying materials" + NL); - writer.write(" * are made available under the terms of the Eclipse Public License v1.0" + NL); - writer.write(" * which accompanies this distribution, and is available at" + NL); - writer.write(" * http://www.eclipse.org/legal/epl-v10.html" + NL); - writer.write(" * " + NL); - writer.write(" * Contributors:" + NL); - writer.write(" * Eike Stepper - initial API and implementation" + NL); - writer.write(" */" + NL); - writer.write(NL); - writer.write("/**" + NL); - - String[] lines = comment.split("\n"); - for (String line : lines) - { - writer.write(" * "); - writer.write(line); - writer.write(NL); - } - - writer.write(" */" + NL); - writer.write("package " + packageName + ";" + NL); - writer.flush(); - } - finally - { - if (out != null) - { - out.close(); - } - } - } - } - - /** - * @author Eike Stepper - */ - private static class JavaDoc - { - private String projectName; - - private Set dependencies = new HashSet(); - - private Set sourcePlugins = new HashSet(); - - private List sourceFolders = new ArrayList(); - - private Set packageNames = new HashSet(); - - private Set packageExcludes = new HashSet(); - - public JavaDoc(String projectName) - { - this.projectName = projectName; - } - - @Override - public String toString() - { - return projectName; - } - - public File getProject() - { - return new File(plugins, projectName); - } - - public Set getDependencies() - { - return dependencies; - } - - public Set getAllDependencies() - { - Set result = new HashSet(); - recurseDependencies(this, result); - return result; - } - - private void recurseDependencies(JavaDoc javaDoc, Set result) - { - for (String dependency : javaDoc.getDependencies()) - { - if (result.add(dependency)) - { - JavaDoc child = ANTLIB.getJavaDocIfExists(dependency); - recurseDependencies(child, result); - } - } - } - - public Set getSourcePlugins() - { - return sourcePlugins; - } - - public List getSortedSourcePlugins() - { - List plugins = new ArrayList(sourcePlugins); - Collections.sort(plugins); - return plugins; - } - - public List getSourceFolders() - { - return sourceFolders; - } - - public Set getPackageNames() - { - return packageNames; - } - - public Set getPackageExcludes() - { - return packageExcludes; - } - - public void generateAnt() throws IOException - { - File project = getProject(); - FileWriter out = null; - FileReader in = null; - - try - { - File target = new File(project, "javadoc.ant"); - System.out.println("Generating " + target.getCanonicalPath()); - - out = new FileWriter(target); - BufferedWriter writer = new BufferedWriter(out); - - try - { - in = new FileReader(new File(releng, "javadoc/javadocTemplate.ant")); - BufferedReader reader = new BufferedReader(in); - - String line; - while ((line = reader.readLine()) != null) - { - line = line.replace("${PROJECT-NAME}", projectName); - - String id = line.trim(); - if ("".equals(id)) - { - writeGenerationWarning(writer); - } - else if ("".equals(id)) - { - for (String sourceFolder : sort(sourceFolders)) - { - writer.write("\t\t\t\t\n"); - } - } - else if ("".equals(id)) - { - CharArrayWriter buffer = new CharArrayWriter(); - buffer.write("\t\t\n"); - buffer.write("\t\t\t\n"); - buffer.write("\t\t\t\n"); - - boolean exist = false; - for (String sourceFolder : sort(sourceFolders)) - { - File docFiles = new File("../../../plugins/" + sourceFolder + "/doc-files"); - if (docFiles.isDirectory()) - { - exist = true; - buffer.write("\t\t\t\t\n"); - } - } - - if (exist) - { - buffer.write("\t\t\t\n"); - buffer.write("\t\t\n"); - buffer.write("\n"); - writer.write(buffer.toCharArray()); - } - } - else if ("".equals(id)) - { - for (String packageName : sort(packageNames)) - { - writer.write("\t\t\t\n"); - } - } - else if ("".equals(id)) - { - for (String packageExclude : sort(packageExcludes)) - { - writer.write("\t\t\t\n"); - } - } - else if ("".equals(id)) - { - for (String dependency : sort(getAllDependencies())) - { - writer.write("\t\t\t\n"); - } - } - else if ("".equals(id)) - { - for (SourcePlugin sourcePlugin : getSortedSourcePlugins()) - { - writer.write("\t\t\t\n"); - - for (String packageName : sourcePlugin.getSortedPackageNames()) - { - writer.write("\t\t\t\t\n"); - } - - writer.write("\t\t\t\n"); - } - } - else - { - writer.write(line); - writer.write("\n"); - } - } - - writer.flush(); - } - finally - { - if (in != null) - { - in.close(); - } - } - } - finally - { - if (out != null) - { - out.close(); - } - } - } - - public void generateToc() throws IOException - { - File project = getProject(); - FileWriter out = null; - FileReader in = null; - - try - { - File target = new File(project, "toc.xml"); - System.out.println("Generating " + target.getCanonicalPath()); - - out = new FileWriter(target); - BufferedWriter writer = new BufferedWriter(out); - - try - { - in = new FileReader(new File(project, "tocTemplate.xml")); - BufferedReader reader = new BufferedReader(in); - - String line; - while ((line = reader.readLine()) != null) - { - String id = line.trim(); - if ("".equals(id)) - { - for (SourcePlugin sourcePlugin : getSortedSourcePlugins()) - { - List sortedPackageNames = sourcePlugin.getSortedPackageNames(); - writer.write("\t\t\n"); - - for (String packageName : sortedPackageNames) - { - writer.write("\t\t\t\n"); - } - - writer.write("\t\t\n"); - } - } - else - { - writer.write(line); - writer.write("\n"); - } - } - - writer.flush(); - } - finally - { - if (in != null) - { - in.close(); - } - } - } - finally - { - if (out != null) - { - out.close(); - } - } - } - } -} diff --git a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MakeHrefsRelative.java b/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MakeHrefsRelative.java deleted file mode 100644 index 6630f1ec54..0000000000 --- a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MakeHrefsRelative.java +++ /dev/null @@ -1,119 +0,0 @@ -/** - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - */ -package org.eclipse.emf.cdo.releng; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Eike Stepper - */ -public class MakeHrefsRelative -{ - private static final String NL = System.getProperty("line.separator"); - - public static void main(String[] args) throws IOException - { - String javadocFolder = args[0]; - System.out.println(); - System.out.println("Making HREFs relative in " + new File(javadocFolder).getCanonicalPath()); - - makeFolderRelative(new File(javadocFolder), "../.."); - } - - private static void makeFolderRelative(File folder, String prefix) throws IOException - { - File[] children = folder.listFiles(); - for (File file : children) - { - if (file.isDirectory()) - { - if (!file.getName().equals(".svn")) - { - makeFolderRelative(file, prefix + "/.."); - } - } - else - { - if (file.getName().endsWith(".html")) - { - makeFileRelative(file, prefix); - } - } - } - } - - private static void makeFileRelative(File file, String prefix) throws IOException - { - FileReader in = null; - int modifiedLines = 0; - List lines = new ArrayList(); - - try - { - in = new FileReader(file); - BufferedReader reader = new BufferedReader(in); - - String line; - while ((line = reader.readLine()) != null) - { - if (line.indexOf("MAKE-RELATIVE") != -1) - { - line = line.replace("MAKE-RELATIVE", prefix); - ++modifiedLines; - } - - lines.add(line); - } - } - finally - { - if (in != null) - { - in.close(); - } - } - - if (modifiedLines != 0) - { - System.out.println("Modified: " + file.getPath() + " (" + modifiedLines + ")"); - } - - FileWriter out = null; - - try - { - out = new FileWriter(file); - BufferedWriter writer = new BufferedWriter(out); - - for (String line : lines) - { - writer.write(line); - writer.write(NL); - } - - writer.flush(); - } - finally - { - if (out != null) - { - out.close(); - } - } - } -} diff --git a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MovePackageDescriptions.java b/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MovePackageDescriptions.java deleted file mode 100644 index f000792204..0000000000 --- a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/MovePackageDescriptions.java +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - */ -package org.eclipse.emf.cdo.releng; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * @author Eike Stepper - */ -public class MovePackageDescriptions -{ - private static final String NL = System.getProperty("line.separator"); - - private static final Pattern PATTERN = Pattern.compile("(.*\\s*)" // - + "(.*See:.*Description)" // To be replaced... - + "(.*)" // - + "(

.*

.*

\\s*)" // - + "(.*)" // ... with full description - + "(

\\s*

\\s*

\\s*
\\s*
.*)", // - Pattern.MULTILINE | Pattern.DOTALL); - - public static void main(String[] args) throws IOException - { - String javadocFolder = args[0]; - System.out.println(); - System.out.println("Moving package descriptions in " + new File(javadocFolder).getCanonicalPath()); - - movePackageDescriptionsInFolder(new File(javadocFolder)); - } - - private static void movePackageDescriptionsInFolder(File folder) throws IOException - { - File[] children = folder.listFiles(); - for (File file : children) - { - String name = file.getName(); - if (file.isDirectory()) - { - if (!name.equals(".svn")) - { - movePackageDescriptionsInFolder(file); - } - } - else - { - if (name.equals("package-summary.html")) - { - movePackageDescription(file); - } - } - } - } - - private static void movePackageDescription(File file) throws IOException - { - FileReader in = null; - String contents; - - try - { - in = new FileReader(file); - char[] buffer = new char[(int)file.length()]; - in.read(buffer); - contents = new String(buffer); - } - finally - { - if (in != null) - { - in.close(); - } - } - - Matcher matcher = PATTERN.matcher(contents); - if (matcher.matches()) - { - System.out.println("Modified: " + file.getPath()); - - String keepProlog = matcher.group(1); - String keepMiddle = matcher.group(3); - String replaceWith = matcher.group(5); - String keepEpilog = matcher.group(6); - - FileWriter out = null; - - try - { - out = new FileWriter(file); - BufferedWriter writer = new BufferedWriter(out); - writer.write(keepProlog); - writer.write("" + NL); - writer.write(replaceWith); - writer.write(keepMiddle); - writer.write(keepEpilog); - writer.flush(); - } - finally - { - if (out != null) - { - out.close(); - } - } - } - } -} diff --git a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/SortListItems.java b/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/SortListItems.java deleted file mode 100644 index c9a951f895..0000000000 --- a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/SortListItems.java +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - */ -package org.eclipse.emf.cdo.releng; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * @author Eike Stepper - * @deprecated Does not catch all problems with tree generation. - */ -@Deprecated -public class SortListItems -{ - private static final String NL = System.getProperty("line.separator"); - - private static final String PREFIX = "
  • "; - - private static final String SUFFIX = ""; - - public static void main(String[] args) throws IOException - { - String javadocFolder = args[0]; - System.out.println(); - System.out.println("Sorting list items in " + new File(javadocFolder).getCanonicalPath()); - - sortListItemsInFolder(new File(javadocFolder)); - } - - private static void sortListItemsInFolder(File folder) throws IOException - { - File[] children = folder.listFiles(); - for (File file : children) - { - String name = file.getName(); - if (file.isDirectory()) - { - if (!name.equals(".svn")) - { - sortListItemsInFolder(file); - } - } - else - { - if (name.equals("package-tree.html") || name.equals("overview-tree.html")) - { - sortListItems(file); - } - } - } - } - - private static void sortListItems(File file) throws IOException - { - FileReader in = null; - int modifiedLines = 0; - List lines = new ArrayList(); - - try - { - in = new FileReader(file); - BufferedReader reader = new BufferedReader(in); - - String line; - while ((line = reader.readLine()) != null) - { - if (line.startsWith(PREFIX) && line.endsWith(SUFFIX)) - { - String truncated = line.substring(PREFIX.length(), line.length() - SUFFIX.length()); - String[] listItems = truncated.split(PREFIX); - - if (listItems.length > 1) - { - Arrays.sort(listItems); - - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < listItems.length; i++) - { - String listItem = listItems[i]; - builder.append(PREFIX); - builder.append(listItem); - } - - builder.append(""); - - String result = builder.toString(); - if (!line.equals(result)) - { - line = result; - ++modifiedLines; - } - } - } - - lines.add(line); - } - } - finally - { - if (in != null) - { - in.close(); - } - } - - if (modifiedLines != 0) - { - System.out.println("Modified: " + file.getPath() + " (" + modifiedLines + ")"); - } - - FileWriter out = null; - - try - { - out = new FileWriter(file); - BufferedWriter writer = new BufferedWriter(out); - - for (String line : lines) - { - writer.write(line); - writer.write(NL); - } - - writer.flush(); - } - finally - { - if (out != null) - { - out.close(); - } - } - } -} -- cgit v1.2.1