]> source.dussan.org Git - vaadin-framework.git/commitdiff
Module for compiled client side (#9299)
authorArtur Signell <artur@vaadin.com>
Fri, 31 Aug 2012 13:13:18 +0000 (16:13 +0300)
committerArtur Signell <artur@vaadin.com>
Sun, 9 Sep 2012 08:23:07 +0000 (11:23 +0300)
build.xml
client-compiled/build.xml [new file with mode: 0644]
client-compiled/ivy.xml [new file with mode: 0644]
client-compiler/build.xml [changed mode: 0755->0644]
client-compiler/ivy.xml [changed mode: 0755->0644]
common.xml
server/ivy.xml

index 03c0ecfe5e1ad06532f1e26259d22be855db65ef..fc7007f47cbdb5cf45f3934de02762a8735cb141 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<project name="vaadin" basedir="." default="all" xmlns:ivy="antlib:org.apache.ivy.ant">
+<project name="vaadin" basedir="." default="package" xmlns:ivy="antlib:org.apache.ivy.ant">
        <include file="common.xml" as="common" />
 
        <path id="vaadin.buildhelpers.classpath" location="${vaadin.basedir}/buildhelpers/result/classes" />
@@ -9,8 +9,8 @@
           target: all              
          ================================= -->
        <!--<target name="all" description="Compiles all parts of the project" depends="buildhelpers,theme-compiler,shared,server,client">-->
-       <target name="all" description="Compiles all parts of the project" depends="buildorder">
-               <subant buildpathref="build-path">
+       <target name="package" description="Compiles and packages all modules in the project" depends="buildorder">
+               <subant buildpathref="build-path" target="publish-local">
                </subant>
        </target>
 
diff --git a/client-compiled/build.xml b/client-compiled/build.xml
new file mode 100644 (file)
index 0000000..588d232
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-client-compiler" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+       <description>
+               Compiled (JS+HTML) version of client side 
+       </description>
+
+       <include file="../common.xml" as="common" />
+       <include file="../build.xml" as="vaadin" />
+       <include file="../gwt-files.xml" as="gwtfiles" />
+
+       <!-- global properties -->
+       <property name="module.name" value="vaadin-client-compiled" />
+       <property name="result.dir" value="result" />
+
+       <target name="default-widgetset">
+               <antcall target="compile-module">
+                       <param name="module" value="com.vaadin.DefaultWidgetSet" />
+               </antcall>
+       </target>
+
+
+       <target name="compile-module">
+               <fail unless="module" message="You must give the module to compile in the 'module' parameter" />
+               <property name="result.dir" location="result" />
+               <property name="style" value="OBF" />
+               <property name="localWorkers" value="2" />
+               <property name="extraParams" value="" />
+               <property name="module.output.dir" location="${result.dir}/VAADIN/widgetsets" />
+
+               <ivy:resolve resolveid="common" conf="build" />
+               <ivy:cachepath pathid="classpath.compile.widgetset" conf="build" />
+
+               <echo>Compiling ${module} to ${module.output.dir}</echo>
+               <mkdir dir="${module.output.dir}" />
+
+               <!-- Disabled to reduce JAR size: precompile the widgetset to a .gwtar file -->
+               <!--
+               <java classname="com.google.gwt.dev.CompileModule" classpathref="compile.classpath.widgetset" failonerror="yes" fork="yes" maxmemory="512m">
+                   <arg value="-out" />
+                   <arg value="${result-precompiled-widgetsets}" />
+                   <arg value="-strict" />
+                   <arg value="${widgetset}" />
+
+                   <jvmarg value="-Xss8M"/>
+                   <jvmarg value="-XX:MaxPermSize=256M"/>  
+                   <jvmarg value="-Djava.awt.headless=true"/>
+               </java>
+               -->
+
+               <!-- compile the widgetset -->
+               <java classname="com.google.gwt.dev.Compiler" classpathref="classpath.compile.widgetset" failonerror="yes" fork="yes" maxmemory="512m">
+                       <arg value="-war" />
+                       <arg value="${module.output.dir}" />
+                       <arg value="-style" />
+                       <arg value="${style}" />
+                       <arg value="-localWorkers" />
+                       <arg value="${localWorkers}" />
+                       <arg value="-strict" />
+                       <arg line="${extraParams}" />
+                       <arg value="${module}" />
+
+                       <sysproperty key="vFailIfNotSerializable" value="true" />
+
+                       <jvmarg value="-Xss8M" />
+                       <jvmarg value="-XX:MaxPermSize=256M" />
+                       <jvmarg value="-Djava.awt.headless=true" />
+               </java>
+
+               <!--<antcall target="remove-gwt-tmp" />-->
+
+               <echo>Compiled ${module}</echo>
+       </target>
+
+
+       <target name="jar" depends="default-widgetset">
+               <property name="result.jar" location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
+               <property name="module.output.dir" location="${result.dir}/VAADIN/widgetsets" />
+
+               <jar file="${result.jar}" compress="true">
+                       <fileset dir="${module.output.dir}">
+                       </fileset>
+                       <fileset refid="common.files.for.all.jars" />
+               </jar>
+       </target>
+
+       <target name="publish-local" depends="jar">
+               <antcall target="common.publish-local" />
+       </target>
+
+       <target name="clean">
+               <antcall target="common.clean" />
+       </target>
+
+       <target name="tests">
+               <!--<antcall target="common.tests.run" />-->
+               <echo>WHAT? No tests for ${module.name}!</echo>
+       </target>
+
+</project>
\ No newline at end of file
diff --git a/client-compiled/ivy.xml b/client-compiled/ivy.xml
new file mode 100644 (file)
index 0000000..5e739a0
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="2.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+
+    <info organisation="com.vaadin" module="vaadin-client-compiled"
+        revision="${vaadin.version}" />
+
+    <configurations>
+        <conf name="build" />
+    </configurations>
+    <publications>
+        <artifact type="jar"></artifact>
+    </publications>
+    <dependencies defaultconfmapping="*->build">
+        <dependency org="com.vaadin" name="vaadin-server"
+            rev="${vaadin.version}" />
+        <dependency org="com.vaadin" name="vaadin-client"
+            rev="${vaadin.version}" />
+        <dependency org="com.vaadin" name="vaadin-client-compiler"
+            rev="${vaadin.version}" />
+        <dependency org="javax.validation" name="validation-api"
+            rev="1.0.0.GA" conf="build-> default,sources" />
+    </dependencies>
+
+</ivy-module>
old mode 100755 (executable)
new mode 100644 (file)
index 3db3cbd..2b5d9e3
        <property name="module.name" value="vaadin-client-compiler" />
        <property name="result.dir" value="result" />
        <path id="classpath.compile.custom">
-               <fileset file="${gwt.dev.jar}"/>
+               <fileset file="${gwt.dev.jar}" />
        </path>
 
+       <union id="compiler.includes">
+               <union refid="client-compiler.gwt.includes" />
+               <fileset dir="${result.dir}">
+                       <include name="com/google/gwt/dev/About.properties" />
+               </fileset>
+       </union>
+
        <target name="jar">
+               <echo file="${result.dir}/com/google/gwt/dev/About.properties">gwt.version=${vaadin.version}</echo>
+
                <antcall target="common.jar">
-                       <reference refid="client-compiler.gwt.includes" torefid="extra.jar.includes" />
+                       <reference refid="compiler.includes" torefid="extra.jar.includes" />
                </antcall>
-
        </target>
 
        <target name="publish-local" depends="jar">
@@ -29,7 +37,7 @@
        <target name="clean">
                <antcall target="common.clean" />
        </target>
-       
+
        <target name="tests">
                <!--<antcall target="common.tests.run" />-->
                <echo>WHAT? No tests for ${module.name}!</echo>
old mode 100755 (executable)
new mode 100644 (file)
index 69ebc41b1739fa6056fdaa9f881747d2ac185fdf..5e1943aba2ab8c084711320abfd357acb49dea13 100644 (file)
@@ -33,7 +33,7 @@
                <fail unless="module.name" message="No module.name parameter given" />
                <fail unless="src" message="No src directory parameter given" />
 
-               <property name="sources.jar" location="${result.dir}/${module.name}-${vaadin.version}-sources.jar" />
+               <property name="sources.jar" location="${result.dir}/lib/${module.name}-${vaadin.version}-sources.jar" />
 
                <jar file="${sources.jar}" compress="true">
                        <fileset dir="${src}">
@@ -49,9 +49,9 @@
        <target name="javadoc.jar" depends="dependencies">
                <fail unless="result.dir" message="No result.dir parameter given" />
                <fail unless="module.name" message="No module.name parameter given" />
-               <fail unless="src" message="No src directory parameter given" />
+               <property name="src" location="{$result.dir}/../src" />
                <property name="javadoc.dir" value="${result.dir}/javadoc" />
-               <property name="javadoc.jar" location="${result.dir}/${module.name}-${vaadin.version}-javadoc.jar" />
+               <property name="javadoc.jar" location="${result.dir}/lib/${module.name}-${vaadin.version}-javadoc.jar" />
 
                <javadoc destdir="${javadoc.dir}" author="true" version="true" use="true" windowtitle="${module.name}">
                        <packageset dir="${src}" excludes="${classes.exclude}" />
                <fail unless="result.dir" message="No result.dir parameter given" />
 
                <ivy:resolve />
-               <ivy:publish resolver="build-temp" overwrite="true">
+               <ivy:publish resolver="build-temp" overwrite="true" forcedeliver="true">
                        <!--                    <artifacts pattern="${result.dir}/[artifact]-[revision].[ext]" />-->
                        <artifacts pattern="${result.dir}/lib/[artifact]-[revision](-[classifier]).[ext]" />
 
index 85278fa1d06f7f5520a353f2e8f85cd19a7c6a60..10f06700e55deb363a282347a8b24ec19173d89a 100644 (file)
@@ -58,7 +58,7 @@
         <dependency org="commons-io" name="commons-io" rev="1.4"
             conf="tests->default" />
         <dependency org="commons-lang" name="commons-lang"
-            rev="2.3" conf="tests->default" />
+            rev="2.3" conf="tests,ide->default" />
 
     </dependencies>