]> source.dussan.org Git - vaadin-framework.git/commitdiff
Allow specifying prefixes also for resource directories (#9793) 92/92/3
authorArtur Signell <artur@vaadin.com>
Tue, 9 Oct 2012 14:58:01 +0000 (17:58 +0300)
committerArtur Signell <artur@vaadin.com>
Tue, 9 Oct 2012 15:54:37 +0000 (18:54 +0300)
 * Export VAADIN/widgetsets/* in client-compiled
 * Export VAADIN/themes/* in themes
 * Export VAADIN in server (vaadinBootstrap.js)

Change-Id: I15b0f7352779479bf73585017f0b95492692f73b

buildhelpers/src/com/vaadin/buildhelpers/GeneratePackageExports.java
client-compiled/build.xml
common.xml
server/build.xml
themes/build.xml

index 33c822193a284a6b76bd98e9bd2d338d2a67e2fe..0a69fbdf9765e0298ef82b5b7339b50490981918 100644 (file)
@@ -123,18 +123,15 @@ public class GeneratePackageExports {
         HashSet<String> packages = new HashSet<String>();
         for (Enumeration<JarEntry> it = jar.entries(); it.hasMoreElements();) {
             JarEntry entry = it.nextElement();
-            if (!entry.getName().endsWith(".class")) {
+
+            boolean classFile = entry.getName().endsWith(".class");
+            boolean directory = entry.isDirectory();
+
+            if (!classFile && !directory) {
                 continue;
             }
 
-            boolean accept = false;
-            for (String prefix : acceptedPackagePrefixes) {
-                if (entry.getName().startsWith(prefix)) {
-                    accept = true;
-                    break;
-                }
-            }
-            if (!accept) {
+            if (!acceptEntry(entry.getName(), acceptedPackagePrefixes)) {
                 continue;
             }
 
@@ -144,19 +141,16 @@ public class GeneratePackageExports {
             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);
+        return packages;
+    }
+
+    private static boolean acceptEntry(String name,
+            List<String> acceptedPackagePrefixes) {
+        for (String prefix : acceptedPackagePrefixes) {
+            if (name.startsWith(prefix)) {
+                return true;
             }
         }
-
-        return packages;
+        return false;
     }
 }
index f75a27ffcd400765a3e5617aa495d2ec74a53996..e02acd31ba0fb8b393a0c4740e329c8c2fa7ebac 100644 (file)
 
        <target name="jar" depends="default-widgetset">
                <antcall target="common.jar">
+                       <param name="osgi.extra.package.prefixes" value="VAADIN/widgetsets/" />
                        <reference torefid="extra.jar.includes" refid="jar.includes" />
                </antcall>
        </target>
index 15f4891c126569c81756e54fa6250d60e0934b3c..9c9adc006238af70b7ccfab40d2e80d411512473 100644 (file)
                <!-- Generate the Export-Package attribute in the manifest -->
                <java classname="com.vaadin.buildhelpers.GeneratePackageExports" failonerror="true" fork="yes">
                        <arg value="${jar}" />
-                       <arg value="com/vaadin" />
-                       <arg value="com/google" />
+                       <arg line="com/vaadin com/google ${osgi.extra.package.prefixes}" />
                        <classpath refid="vaadin.buildhelpers.classpath" />
                        <jvmarg value="-Dvaadin.version=${vaadin.version}" />
                </java>
index a987ec3846fdf9a44eaf0692c53059e790826117..a61f341f582ebf466728207876522ae3b9e61c26 100644 (file)
@@ -26,6 +26,7 @@
                <antcall target="common.jar">
                        <param name="require-bundle" value="com.vaadin.vaadin-shared;bundle-version=&quot;${vaadin.version}&quot;"/>
                        <param name="import-package" value="${server.osgi.import}" />
+                       <param name="osgi.extra.package.prefixes" value="VAADIN" />
                        <reference torefid="extra.jar.includes" refid="jar.includes" />
                </antcall>
        </target>
index 83675867ad0f8a183a4f2bc6b660e57c57973da2..c2437c86ae1e98265f1eb47dd3155ccda824117f 100644 (file)
@@ -12,7 +12,7 @@
        <!-- global properties -->
        <property name="module.name" value="vaadin-themes" />
        <property name="result.dir" value="result" />
-       <property name="theme.result.dir" value="${result.dir}/VAADIN/themes" />
+       <property name="theme.result.dir" value="${result.dir}/VAADIN/themes/" />
 
        <union id="jar.includes">
                <fileset dir="${result.dir}">
@@ -43,6 +43,7 @@
        
        <target name="jar" depends="compile-themes">
                <antcall target="common.jar">
+                       <param name="osgi.extra.package.prefixes" value="VAADIN/themes" />
                        <reference torefid="extra.jar.includes" refid="jar.includes" />
                </antcall>
        </target>