Integrate Elemental to the build and deploy as Maven artifact Contributed by tbroyer Review at http://gwt-code-reviews.appspot.com/1727808/ git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@11064 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/build.xml b/build.xml index 3e9f299..37d6f9c 100755 --- a/build.xml +++ b/build.xml
@@ -66,6 +66,11 @@ <gwt.ant dir="user" /> </target> + <target name="elemental" description="[subdir] Builds (or runs ${target} if set) only the elemental library"> + <call-subproject subproject="user" subtarget="build"/> + <gwt.ant dir="elemental" /> + </target> + <target name="soyc" description="[subdir] Builds (or runs ${target} if set) only the soyc library"> <call-subproject subproject="dev" subtarget="build"/> <call-subproject subproject="user" subtarget="build"/>
diff --git a/common.ant.xml b/common.ant.xml index 166568e..e39e052 100755 --- a/common.ant.xml +++ b/common.ant.xml
@@ -152,7 +152,7 @@ </presetdef> <presetdef name="gwt.javac"> - <javac srcdir="src" destdir="${javac.out}" debug="${javac.debug}" debuglevel="${javac.debuglevel}" source="${javac.source}" target="${javac.target}" nowarn="${javac.nowarn}" encoding="${javac.encoding}" fork="true" memoryMaximumSize="1024m" /> + <javac srcdir="src" destdir="${javac.out}" debug="${javac.debug}" debuglevel="${javac.debuglevel}" source="${javac.source}" target="${javac.target}" nowarn="${javac.nowarn}" encoding="${javac.encoding}" fork="true" memoryMaximumSize="1024m" includeantruntime="false" /> </presetdef> <macrodef name="gwt.jar">
diff --git a/distro-source/build.xml b/distro-source/build.xml index 791aef6..64e8e33 100755 --- a/distro-source/build.xml +++ b/distro-source/build.xml
@@ -17,6 +17,14 @@ <!-- TODO: figure out how to share most of this across platforms --> <mkdir dir="${gwt.build.dist}" /> <mkdir dir="${gwt.build.out}/samples-scripts"/> + <if> + <not> + <available file="${gwt.build.lib}/gwt-elemental.jar" type="file" /> + </not> + <then> + <echo message="Building SDK without Elemental - did you forget to call 'ant elemental' before 'ant dist'?" /> + </then> + </if> <zip destfile="${project.dist}"> <!-- jars --> <zipfileset file="${gwt.build.lib}/gwt-dev.jar" prefix="${project.distname}" /> @@ -28,6 +36,7 @@ <zipfileset file="${gwt.build.lib}/gwt-soyc-vis.jar" prefix="${project.distname}" /> <zipfileset file="${gwt.build.lib}/gwt-api-checker.jar" prefix="${project.distname}" /> <zipfileset file="${gwt.build.lib}/requestfactory*.jar" prefix="${project.distname}" /> + <zipfileset file="${gwt.build.lib}/gwt-elemental.jar" prefix="${project.distname}" /> <!-- jni libs--> <zipfileset dir="${gwt.build.jni}/windows" prefix="${project.distname}" />
diff --git a/elemental/build.xml b/elemental/build.xml index fe48c91..d30ec28 100644 --- a/elemental/build.xml +++ b/elemental/build.xml
@@ -16,7 +16,7 @@ <target name="compile" description="Compile all class files"> <mkdir dir="${javac.out}" /> - <gwt.javac excludes="**/super/**"> + <gwt.javac srcdir="src:idl/generated/src" excludes="**/super/**"> <classpath> <pathelement location="${gwt.dev.jar}" /> <pathelement location="${gwt.user.jar}" /> @@ -41,6 +41,7 @@ <java classname="com.google.gwt.dev.CompileModule" fork="yes" failonerror="true"> <classpath> <pathelement location="${gwt.root}/elemental/src" /> + <pathelement location="${gwt.root}/elemental/idl/generated/src" /> <pathelement location="${gwt.dev.jar}" /> <pathelement location="${gwt.user.jar}" /> </classpath> @@ -56,6 +57,8 @@ <target name="clean" description="Cleans this project's intermediate and output files"> + <delete dir="idl/generated" /> + <delete dir="idl/database" /> <delete dir="${project.build}" /> <delete file="${project.lib}" /> </target>
diff --git a/elemental/idl/build b/elemental/idl/build index 8f6b266..028ea83 100755 --- a/elemental/idl/build +++ b/elemental/idl/build
@@ -10,4 +10,7 @@ python ${ROOT}/scripts/elemental_fremontcutbuilder.py python ${ROOT}/scripts/elementaldomgenerator.py -cp -R ${ROOT}/generated/src/elemental/* ${ROOT}/../java/elemental/ +# Keep compatibility with Google's internal build +if [ -d ${ROOT}/../java/elemental/ ]; then + cp -R ${ROOT}/generated/src/elemental/* ${ROOT}/../java/elemental/ +fi
diff --git a/elemental/idl/scripts/idlparser.py b/elemental/idl/scripts/idlparser.py index fcf7e60..ba67687 100755 --- a/elemental/idl/scripts/idlparser.py +++ b/elemental/idl/scripts/idlparser.py
@@ -412,8 +412,7 @@ includePaths -- an array of path strings. """ # FIXME: Handle gcc not found, or any other processing errors - if 'CC' in os.environ: - gcc = os.environ['CC'] + gcc = os.environ.get('CC', None) if not gcc: gcc = 'gcc' cmd = [gcc, '-E', '-P', '-C', '-x', 'c++'];
diff --git a/maven/lib-gwt.sh b/maven/lib-gwt.sh index cdccbb3..af8436c 100644 --- a/maven/lib-gwt.sh +++ b/maven/lib-gwt.sh
@@ -97,7 +97,13 @@ echo "Removing org.json classes from gwt-dev" zip -d $GWT_EXTRACT_DIR/gwt-dev.jar org/json/* - for i in dev user servlet codeserver + # Silently skip Elemental if it doesn't exist + gwtLibs='dev user servlet codeserver' + if [ -f $GWT_EXTRACT_DIR/gwt-elemental.jar ]; then + gwtLibs="${gwtLibs} elemental" + fi + + for i in $gwtLibs do CUR_FILE=`ls $GWT_EXTRACT_DIR/gwt-${i}.jar` @@ -126,7 +132,7 @@ # push parent poms maven-deploy-file $mavenRepoUrl $mavenRepoId $pomDir/gwt/pom.xml $pomDir/gwt/pom.xml - for i in dev user servlet codeserver + for i in $gwtLibs do CUR_FILE=`ls $GWT_EXTRACT_DIR/gwt-${i}.jar` gwtPomFile=$pomDir/gwt/gwt-$i/pom.xml
diff --git a/maven/poms/gwt/gwt-elemental/pom-template.xml b/maven/poms/gwt/gwt-elemental/pom-template.xml new file mode 100644 index 0000000..cf94ed3 --- /dev/null +++ b/maven/poms/gwt/gwt-elemental/pom-template.xml
@@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.google.gwt</groupId> + <artifactId>gwt</artifactId> + <version>${gwtVersion}</version> + </parent> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-elemental</artifactId> + <packaging>jar</packaging> + <version>${gwtVersion}</version> + + <dependencies> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwtVersion}</version> + </dependency> + </dependencies> +</project>
diff --git a/samples/build.xml b/samples/build.xml index 29c0327..0fe5f5f 100644 --- a/samples/build.xml +++ b/samples/build.xml
@@ -73,7 +73,7 @@ <length property="gwt.sample.length"> <fileset dir="${gwt.build.out}/samples" includes="*/war/*/*.cache.html,*/war/*/*.cache.js"/> </length> - <echo message="compiled size of all samples is ${gwt.sample.length} bytes."/> + <echo message="compiled size of all samples is ${gwt.sample.length} bytes." level="info"/> </target> <target name="checkstyle" description="Static analysis of GWT source">
diff --git a/tools/cldr-import/build.xml b/tools/cldr-import/build.xml index 8de567e..685ff75 100644 --- a/tools/cldr-import/build.xml +++ b/tools/cldr-import/build.xml
@@ -37,7 +37,8 @@ <javac srcdir="src" destdir="${javac.out}" debug="${javac.debug}" debuglevel="${javac.debuglevel}" source="${javac.source}" target="${javac.target}" - nowarn="${javac.nowarn}" encoding="${javac.encoding}"> + nowarn="${javac.nowarn}" encoding="${javac.encoding}" + includeantruntime="false"> <classpath refid="project.class.path"/> </javac> <copy todir="${javac.out}">