summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java121
-rw-r--r--build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java152
-rw-r--r--build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java130
-rw-r--r--build/package/META-INF/MANIFEST.MF2
4 files changed, 1 insertions, 404 deletions
diff --git a/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java b/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java
deleted file mode 100644
index 5b17ae4902..0000000000
--- a/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.vaadin.buildhelpers;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import com.vaadin.sass.ScssStylesheet;
-
-/**
- * Helper to combine css divided into separate per component dirs into one to
- * optimize http requests.
- */
-public class CompileDefaultTheme {
-
- private static final String ARG_VERSION = "-version";
-
- private static final String THEME_DIR = "./WebContent/VAADIN/themes/";
- private static final String BASE = "base";
- private static final String RUNO = "runo";
- private static final String REINDEER = "reindeer";
- private static final String LIFERAY = "liferay";
- private static final String CHAMELEON = "chameleon";
-
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- String ver = null;
- for (int i = 0; i < args.length; i++) {
- if (ARG_VERSION.equals(args[i])) {
- if (args.length >= i) {
- ver = args[i + 1];
- }
- break;
- }
- }
-
- for (String themeName : new String[] { BASE, RUNO, LIFERAY, CHAMELEON }) {
- try {
- processSassTheme(themeName, false, ver);
- System.out.println("Compiling theme " + themeName
- + " successful");
- } catch (Exception e) {
- System.err.println("Compiling theme " + themeName + " failed");
- e.printStackTrace();
- }
- }
-
- // Compile Reindeer last, since it requires the spriting operation
- // (makes testing the other themes a bit faster, since you don't need to
- // wait for the spriting operation to finish before the theme CSS is
- // compiled)
- for (String themeName : new String[] { REINDEER }) {
- try {
- processSassTheme(themeName, true, ver);
- System.out.println("Compiling theme " + themeName
- + " successful");
- } catch (Exception e) {
- System.err.println("Compiling theme " + themeName + " failed");
- e.printStackTrace();
- }
- }
- }
-
- private static void processSassTheme(String themeName,
- boolean useSmartSprites, String version) throws Exception {
-
- StringBuffer cssHeader = new StringBuffer();
-
- // Theme version
- if (version == null) {
- version = "9.9.9.INTERNAL-DEBUG-BUILD";
- }
- version = version.replaceAll("\\.", "_");
- cssHeader.append(".v-theme-version:after {content:\"" + version
- + "\";}\n");
- cssHeader.append(".v-theme-version-" + version + " {display: none;}\n");
-
- String stylesCssDir = THEME_DIR + themeName + "/";
- String stylesCssName = stylesCssDir + "styles.css";
-
- // Process as SASS file
- ScssStylesheet scss = ScssStylesheet.get(stylesCssDir + "styles.scss");
- scss.compile();
-
- BufferedWriter out = new BufferedWriter(new FileWriter(stylesCssName));
- out.write(cssHeader.toString());
- out.write(scss.toString());
- out.close();
-
- System.out.println("Compiled CSS to " + stylesCssName + " ("
- + scss.toString().length() + " bytes)");
-
- if (useSmartSprites) {
- createSprites(themeName);
- System.out.println("Used SmartSprites to create sprites");
- File oldCss = new File(stylesCssName);
- oldCss.delete();
-
- File newCss = new File(stylesCssDir + "styles-sprite.css");
- boolean ok = newCss.renameTo(oldCss);
- if (!ok) {
- System.out.println("Rename " + newCss + " -> " + oldCss
- + " failed");
- }
- }
- }
-
- private static void createSprites(String themeName)
- throws FileNotFoundException, IOException {
- String[] parameters = new String[] { "--sprite-png-depth", "AUTO",
- "--css-file-suffix", "-sprite", "--css-file-encoding", "UTF-8",
- "--root-dir-path", THEME_DIR + themeName, "--log-level", "WARN" };
-
- org.carrot2.labs.smartsprites.SmartSprites.main(parameters);
-
- }
-}
diff --git a/build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java b/build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java
deleted file mode 100644
index 0deebdc9a1..0000000000
--- a/build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package com.vaadin.buildhelpers;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Vector;
-import java.util.jar.Attributes;
-import java.util.jar.Attributes.Name;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-/**
- * Generates Export-Packages attribute for OSGi compatible manifest.
- *
- * Reads the included Java packages in Vaadin JAR, generates a corresponding
- * MANIFEST.MF file, and replaces the dummy one in the JAR with the generated
- * one.
- *
- * See #3521 for details.
- *
- * @author magi
- */
-public class GeneratePackageExports {
- public static final String VAADIN_PACKAGE_PATH_PREFIX = "com/vaadin/";
- public static final String GOOGLE_PACKAGE_PATH_PREFIX = "com/google/";
-
- public static void main(String[] args) {
- if (args.length < 1) {
- System.err.println("Invalid number of parameters\n"
- + "Usage: java -cp .. GenerateManifest <package.jar>");
- System.exit(1);
- }
-
- // Open the JAR
- String jarFilename = args[0];
- JarFile jar = null;
- try {
- jar = new JarFile(jarFilename);
- } catch (IOException e) {
- System.err.println("Unable to open JAR '" + jarFilename + "'");
- System.exit(1);
- }
-
- // List the included Java packages
- HashSet<String> packages = new HashSet<String>();
- for (Enumeration<JarEntry> it = jar.entries(); it.hasMoreElements();) {
- JarEntry entry = it.nextElement();
- if ((entry.getName().startsWith(VAADIN_PACKAGE_PATH_PREFIX) || entry
- .getName().startsWith(GOOGLE_PACKAGE_PATH_PREFIX))
- && entry.getName().endsWith(".class")) {
- int lastSlash = entry.getName().lastIndexOf('/');
- String pkg = entry.getName().substring(0, lastSlash)
- .replace('/', '.');
- packages.add(pkg);
- }
- }
-
- // List theme packages
- for (Enumeration<JarEntry> it = jar.entries(); it.hasMoreElements();) {
- JarEntry entry = it.nextElement();
- if (entry.isDirectory()
- && entry.getName().startsWith("VAADIN/themes")) {
- // Strip ending slash
- int lastSlash = entry.getName().lastIndexOf('/');
- String pkg = entry.getName().substring(0, lastSlash)
- .replace('/', '.');
- packages.add(pkg);
- }
- }
-
- // Replacement for the "Export-Package" attribute in the manifest
- String exportPackage = "";
-
- // Produce an ordered listing of the package names
- String packageArray[] = new String[packages.size()];
- packages.toArray(packageArray);
- Arrays.sort(packageArray);
- for (int i = 0; i < packageArray.length; i++) {
- if (i == 0) {
- exportPackage = packageArray[i];
- } else {
- exportPackage += ", " + packageArray[i];
- }
- }
-
- // Read old manifest
- Manifest oldMF = null;
- try {
- oldMF = jar.getManifest();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- // Read main attributes
- Attributes mainAtts = oldMF.getMainAttributes();
- Vector<String> keys = new Vector<String>(mainAtts.size());
- for (Iterator<Object> attrit = mainAtts.keySet().iterator(); attrit
- .hasNext();) {
- Name name = (Name) attrit.next();
- keys.add(name.toString());
- }
-
- // Jar must be closed before updating it below, as it's
- // locked in Windows until closed. (#6045)
- try {
- jar.close();
- } catch (IOException e) {
- System.err.println("Unable to close JAR '" + jarFilename + "'");
- }
-
- // Put the manifest version as the first line
- String orderedKeys[] = new String[keys.size()];
- keys.toArray(orderedKeys);
- Arrays.sort(orderedKeys); // Must sort to be able to search
- int mvPos = Arrays.binarySearch(orderedKeys, "Manifest-Version");
- orderedKeys[mvPos] = orderedKeys[0]; // Swap
- orderedKeys[0] = "Manifest-Version";
-
- // This final ordering is just for esthetic reasons and
- // in practice unnecessary and will actually be messed up
- // when the 'jar' command reads the manifest
- Arrays.sort(orderedKeys, 1, orderedKeys.length - 1);
-
- // Create the modified manifest
- ManifestWriter manifest = new ManifestWriter();
- for (int i = 0; i < orderedKeys.length; i++) {
- // Skip an existing Export-Package attribute
- if (orderedKeys[i].equals("Export-Package")) {
- // Copy the attribute to the modified manifest
- manifest.writeAttribute(orderedKeys[i],
- mainAtts.getValue(orderedKeys[i]));
- }
- }
-
- // Add the Export-Package attribute at the end of the manifest.
- // The alternative would be replacing an existing attribute in
- // the loop above, but it's not guaranteed that it exists.
- manifest.writeAttribute("Export-Package", exportPackage);
-
- // Update the manifest in the Jar. The jar must be closed
- // before this is done.
- int status = manifest.updateJar(jarFilename);
-
- if (status != 0) {
- System.exit(status);
- }
- }
-
-}
diff --git a/build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java b/build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java
deleted file mode 100644
index a6130e2a46..0000000000
--- a/build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- *
- */
-package com.vaadin.buildhelpers;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Date;
-import java.util.jar.Manifest;
-
-public class ManifestWriter {
- StringBuffer buffer = new StringBuffer();
-
- public ManifestWriter() {
- }
-
- /**
- * Writes a manifest attribute to a temporary buffer.
- *
- * @param name Attribute name
- * @param value Attribute value
- */
- public void writeAttribute(String name, String value) {
- int linelen = name.length() + 2;
- buffer.append(name);
- buffer.append(": ");
-
- String remainingValue = value;
- while (linelen + remainingValue.length() > 72) {
- int fitsLine = 72 - linelen;
- buffer.append(remainingValue.substring(0, fitsLine) + "\n ");
- remainingValue = remainingValue.substring(fitsLine);
- linelen = 1;
- }
- buffer.append(remainingValue + "\n");
- }
-
- /**
- * Writes the manifest to given JAR file.
- *
- * The manifest must be created with {@code #writeAttribute(String, String)}
- * before calling this write.
- *
- * @param jarFilename File name of the JAR in which the manifest is written
- * @return 0 on success, nonzero value on error
- */
- int updateJar(String jarFilename) {
- int status = 0;
-
- // Determine a temporary file name
- String newMfPrefix = "vaadin-manifest-" + (new Date()).getTime();
- File newMfFile = null;
- try {
- newMfFile = File.createTempFile(newMfPrefix, ".mf");
- } catch (IOException e) {
- System.err.println("Creating temp file failed");
- status = 1;
- }
-
- // Write the manifest to the temporary file
- if (status == 0) {
- FileOutputStream fos = null;
- try {
- fos = new FileOutputStream(newMfFile);
- fos.write(getBytes());
- fos.close();
- } catch (IOException e) {
- System.err.println("Writing to file '"+newMfFile.getAbsolutePath() +"' failed because: " + e.getMessage());
- status = 1;
- }
- }
-
- // Check that the manifest is OK
- if (status == 0) {
- Manifest checkMf = new Manifest();
- FileInputStream is;
- try {
- is = new FileInputStream(newMfFile);
- checkMf.read(is);
- } catch (IOException e) {
- System.err.println("Reading from file '"+newMfFile.getAbsolutePath() +"' failed because: " + e.getMessage());
- status = 1;
- }
- }
-
- // Update the manifest in the Jar
- if (status == 0) {
- System.out.println("Updating manifest in JAR " + jarFilename);
- try {
- // The "mf" order must correspond with manifest-jarfile order
- Process process = Runtime.getRuntime().exec(new String[]{"jar", "umf", newMfFile.getAbsolutePath(), jarFilename});
- int exitValue = process.waitFor();
- if (exitValue != 0) {
- InputStream jarErr = process.getErrorStream();
- BufferedReader reader = new BufferedReader(new InputStreamReader(jarErr));
- while (reader.ready()) {
- System.err.println("jar: " + reader.readLine());
- }
- System.err.println("The 'jar' command returned with exit value " + exitValue);
- status = 1;
- }
- } catch (IOException e) {
- System.err.println("Failed to execute 'jar' command. " + e.getMessage());
- status = 1;
- } catch (InterruptedException e) {
- System.err.println("Execution of 'jar' command was interrupted. " + e.getMessage());
- status = 1;
- }
- }
-
- // Remove the temporary file
- if (newMfFile != null)
- newMfFile.delete();
-
- return status;
- }
-
- public String toString() {
- return buffer.toString();
- }
-
- public byte[] getBytes() {
- return buffer.toString().getBytes();
- }
-} \ No newline at end of file
diff --git a/build/package/META-INF/MANIFEST.MF b/build/package/META-INF/MANIFEST.MF
index ba28f96394..5d2e13a4da 100644
--- a/build/package/META-INF/MANIFEST.MF
+++ b/build/package/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@ Bundle-ManifestVersion: 2
Bundle-Name: Vaadin
Bundle-SymbolicName: com.vaadin
Bundle-Vendor: Vaadin Ltd
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: javax.servlet; version="2.3.0",javax.servlet.http; version="2.3.0"