* Export VAADIN/widgetsets/* in client-compiled * Export VAADIN/themes/* in themes * Export VAADIN in server (vaadinBootstrap.js) Change-Id: I15b0f7352779479bf73585017f0b95492692f73btags/7.0.0.beta6
@@ -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; | |||
} | |||
} |
@@ -108,6 +108,7 @@ | |||
<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> |
@@ -241,8 +241,7 @@ | |||
<!-- 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> |
@@ -26,6 +26,7 @@ | |||
<antcall target="common.jar"> | |||
<param name="require-bundle" value="com.vaadin.vaadin-shared;bundle-version="${vaadin.version}""/> | |||
<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> |
@@ -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> |