diff options
Diffstat (limited to 'buildScripts')
-rw-r--r-- | buildScripts/compile.ant.xml | 131 | ||||
-rw-r--r-- | buildScripts/deps.ant.xml | 46 | ||||
-rw-r--r-- | buildScripts/maven.ant.xml | 111 | ||||
-rw-r--r-- | buildScripts/publish.ant.xml | 75 | ||||
-rw-r--r-- | buildScripts/website.ant.xml | 224 |
5 files changed, 587 insertions, 0 deletions
diff --git a/buildScripts/compile.ant.xml b/buildScripts/compile.ant.xml new file mode 100644 index 00000000..82ee07f7 --- /dev/null +++ b/buildScripts/compile.ant.xml @@ -0,0 +1,131 @@ +<!-- + Copyright © 2009 Reinier Zwitserloot and Roel Spilker. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +--> +<project name="lombok-compile" basedir=".." default="dist"> + <description>This buildfile is part of projectlombok.org. It responsible for compiling the main +lombok code including the various agents.</description> + <property name="build.compiler" value="javac1.6" /> + + <target name="version" unless="lombok.version"> + <ant antfile="build.xml" target="version" inheritAll="false" /> + <loadresource property="lombok.version"> + <file file="build/version.txt" /> + <filterchain> + <striplinebreaks /> + </filterchain> + </loadresource> + </target> + + <fileset dir="src" id="eclipse.agent.main.deps"> + <include name="lombok/core/SpiLoadUtil.java" /> + <include name="lombok/Lombok.java" /> + </fileset> + + <path id="deps.path"> + <fileset dir="deps/lombok"> + <include name="**/*.jar" /> + </fileset> + </path> + + <path id="lombok.libs.path"> + <fileset dir="lib/lombok"> + <include name="**/*.jar" /> + </fileset> + </path> + + <path id="eclipse.agent.libs.path"> + <fileset dir="lib/eclipse.agent"> + <include name="**/*.jar" /> + </fileset> + </path> + + <target name="-unpackLibs"> + <unjar dest="build/lombok"> + <path refid="lombok.libs.path" /> + </unjar> + <unjar dest="build/eclipse.agent"> + <path refid="eclipse.agent.libs.path" /> + </unjar> + </target> + + <target name="compile" description="Compiles the code"> + <mkdir dir="build/lombok" /> + <!-- This version trickery is so that an eclipse running in a JVM 1.5 will run + properly (It'll never touch the javac files and hence never trigger a + Bad Class Version Number error, but for javac we definitely cannot support + javac 1.5, partly because they completely rewrote large swaths of javac, + and partly because our injection mechanism (annotations) doesn't work very + well on javac 1.5, hence, when using javac, we do demand you're on 1.6. --> + <javac srcdir="src" debug="on" destdir="build/lombok" target="1.5" excludes="lombok/javac/**"> + <classpath refid="deps.path" /> + <classpath refid="lombok.libs.path" /> + </javac> + <javac srcdir="src" debug="on" destdir="build/lombok" target="1.6" includes="lombok/javac/**"> + <classpath refid="deps.path" /> + <classpath refid="lombok.libs.path" /> + </javac> + <copy todir="build/lombok"> + <fileset dir="src"> + <exclude name="**/*.java" /> + <exclude name="**/*.class" /> + <exclude name="**/*.svg" /> + </fileset> + </copy> + + <mkdir dir="build/lombok/META-INF" /> + <mkdir dir="build/lombok/META-INF/services" /> + <echo file="build/lombok/META-INF/services/javax.annotation.processing.Processor">lombok.javac.apt.Processor</echo> + + <mkdir dir="build/eclipse.agent" /> + <mkdir dir="build/eclipse.agent.src" /> + <copy todir="build/eclipse.agent.src"> + <fileset dir="src_eclipseagent" /> + <fileset refid="eclipse.agent.main.deps" /> + </copy> + + <javac debug="on" destdir="build/eclipse.agent" target="1.5" srcdir="build/eclipse.agent.src"> + <classpath refid="deps.path" /> + <classpath refid="eclipse.agent.libs.path" /> + </javac> + </target> + + <target name="dist" description="Builds THE lombok.jar file which contains everything" depends="compile, version, -unpackLibs"> + <mkdir dir="dist" /> + <jar basedir="build/eclipse.agent" destfile="dist/lombok.eclipse.agent-${lombok.version}.jar"> + <manifest> + <attribute name="Premain-Class" value="lombok.eclipse.agent.EclipsePatcher" /> + <attribute name="Can-Redefine-Classes" value="true" /> + </manifest> + </jar> + <copy file="dist/lombok.eclipse.agent-${lombok.version}.jar" tofile="dist/lombok.eclipse.agent.jar" /> + <copy file="doc/changelog.markdown" tofile="build/changelog.txt" /> + <jar destfile="dist/lombok-${lombok.version}.jar"> + <fileset dir="build/lombok" /> + <fileset dir="dist" includes="lombok.eclipse.agent.jar" /> + <fileset dir="build" includes="changelog.txt" /> + <manifest> + <attribute name="Main-Class" value="lombok.installer.Installer" /> + <attribute name="Lombok-Version" value="${lombok.version}" /> + </manifest> + </jar> + <copy file="dist/lombok-${lombok.version}.jar" tofile="dist/lombok.jar" /> + </target> +</project> diff --git a/buildScripts/deps.ant.xml b/buildScripts/deps.ant.xml new file mode 100644 index 00000000..648685dc --- /dev/null +++ b/buildScripts/deps.ant.xml @@ -0,0 +1,46 @@ +<!-- + Copyright © 2009 Reinier Zwitserloot and Roel Spilker. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +--> +<project name="lombok-deps" basedir=".." default="buildDeps"> + <description>This buildfile is part of projectlombok.org. It responsible for finding, downloading, +and building dependencies.</description> + + <property name="dir.lombok.patcher" location="../lombok.patcher" /> + + <target name="buildDeps" description="Builds dependencies" depends="build-lombok.patcher" /> + + <target name="-check-lombok.patcher"> + <ant dir="${dir.lombok.patcher}" target="dist" inheritAll="false" /> + <condition property="replace-lombok.patcher"> + <or> + <not><available file="lib/eclipse.agent/lombok-patcher.jar" /></not> + <not><uptodate + srcfile="${dir.lombok.patcher}/dist/lombok-patcher.jar" + targetfile="lib/eclipse.agent/lombok-patcher.jar" /></not> + </or> + </condition> + </target> + + <target name="build-lombok.patcher" depends="-check-lombok.patcher" if="replace-lombok.patcher"> + <copy file="${dir.lombok.patcher}/dist/lombok-patcher.jar" todir="lib/eclipse.agent" /> + <echo>** UPDATED: lib/eclipse.agent/lombok-patcher.jar</echo> + </target> +</project> diff --git a/buildScripts/maven.ant.xml b/buildScripts/maven.ant.xml new file mode 100644 index 00000000..783303f2 --- /dev/null +++ b/buildScripts/maven.ant.xml @@ -0,0 +1,111 @@ +<!-- + Copyright © 2009 Reinier Zwitserloot and Roel Spilker. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +--> +<project name="lombok-maven" basedir=".." default="maven"> + <description>This buildfile is part of projectlombok.org. It is responsible for creating and maintaining +the maven repository that contains lombok's deliverables for those using maven.</description> + <target name="version" unless="lombok.version"> + <ant antfile="build.xml" target="version" inheritAll="false" /> + <loadresource property="lombok.version"> + <file file="build/version.txt" /> + <filterchain> + <striplinebreaks /> + </filterchain> + </loadresource> + </target> + + <target name="dist" unless="lombok.dist.built" depends="version"> + <ant antfile="buildScripts/compile.xml" target="dist" inheritAll="false"> + <property name="lombok.version" value="${lombok.version}" /> + </ant> + </target> + + <target name="maven" depends="version, dist" description="Build a maven repository."> + <loadresource property="mvn.oldversions"> + <url url="http://projectlombok.org/mavenrepo/org/projectlombok/lombok/maven-metadata.xml" /> + <filterchain> + <linecontains><contains value="/version>" /></linecontains> + <headfilter lines="-1" skip="1" /> + </filterchain> + </loadresource> + <mkdir dir="build" /> + <echo file="build/version.tagged.tmp"><version>${lombok.version}</version></echo> + <loadfile srcFile="build/version.tagged.tmp" property="lombok.version.tagged" /> + <delete file="build/version.tagged.tmp" /> + <fail message="You already created a maven target for this version. You'll have to update the version to something new!"> + <condition> + <contains string="${mvn.oldversions}" substring="${lombok.version.tagged}" /> + </condition> + </fail> + + <delete dir="build/maven" quiet="true" /> + <property name="mvn.dir" value="build/maven/org/projectlombok/lombok" /> + <property name="mvn.bin" value="${mvn.dir}/${lombok.version}" /> + <property name="mvn.pom" value="${mvn.bin}/lombok-${lombok.version}.pom" /> + <mkdir dir="${mvn.bin}" /> + <tstamp> + <format property="now.millis" pattern="yyyyMMddHHmmss" timezone="UTC" /> + </tstamp> + <copy todir="${mvn.bin}" file="dist/lombok-${lombok.version}.jar" /> + <checksum property="mvn.bin.md5" file="${mvn.bin}/lombok-${lombok.version}.jar" algorithm="MD5" /> + <checksum property="mvn.bin.sha1" file="${mvn.bin}/lombok-${lombok.version}.jar" algorithm="SHA1" /> + <echo file="${mvn.bin}/lombok-${lombok.version}.jar.md5">${mvn.bin.md5}</echo> + <echo file="${mvn.bin}/lombok-${lombok.version}.jar.sha1">${mvn.bin.sha1}</echo> + <jar destfile="${mvn.bin}/lombok-${lombok.version}-sources.jar" basedir="src" excludes="**/.DS_Store" /> + <checksum property="mvn.src.md5" file="${mvn.bin}/lombok-${lombok.version}-sources.jar" algorithm="MD5" /> + <checksum property="mvn.src.sha1" file="${mvn.bin}/lombok-${lombok.version}-sources.jar" algorithm="SHA1" /> + <echo file="${mvn.bin}/lombok-${lombok.version}-sources.jar.md5">${mvn.src.md5}</echo> + <echo file="${mvn.bin}/lombok-${lombok.version}-sources.jar.sha1">${mvn.src.sha1}</echo> + <copy tofile="${mvn.pom}" file="doc/maven-pom.xml"> + <filterchain> + <replacetokens> + <token key="VERSION" value="${lombok.version}" /> + </replacetokens> + </filterchain> + </copy> + <checksum property="mvn.pom.md5" file="${mvn.pom}" algorithm="MD5" /> + <checksum property="mvn.pom.sha1" file="${mvn.pom}" algorithm="SHA1" /> + <echo file="${mvn.pom}.md5">${mvn.pom.md5}</echo> + <echo file="${mvn.pom}.sha1">${mvn.pom.sha1}</echo> + <echo file="${mvn.dir}/maven-metadata.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?> +<metadata> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>${lombok.version}</version> + <versioning> + <versions> + <version>${lombok.version}</version> + ${mvn.oldversions} + </versions> + <lastUpdated>${now.millis}</lastUpdated> + </versioning> +</metadata> +]]></echo> + <checksum property="mvn.manifest.md5" file="${mvn.dir}/maven-metadata.xml" algorithm="MD5" /> + <checksum property="mvn.manifest.sha1" file="${mvn.dir}/maven-metadata.xml" algorithm="SHA1" /> + <echo file="${mvn.dir}/maven-metadata.xml.md5">${mvn.manifest.md5}</echo> + <echo file="${mvn.dir}/maven-metadata.xml.sha1">${mvn.manifest.sha1}</echo> + <tar destfile="dist/maven.tar.bz2" compression="bzip2"> + <tarfileset dir="build/maven" /> + </tar> + <echo>Now copy maven.tar.bz2 to the website and unpack it in the mavenrepo directory. Let it overwrite files.</echo> + </target> +</project> diff --git a/buildScripts/publish.ant.xml b/buildScripts/publish.ant.xml new file mode 100644 index 00000000..6c31b42b --- /dev/null +++ b/buildScripts/publish.ant.xml @@ -0,0 +1,75 @@ +<!-- + Copyright © 2009 Reinier Zwitserloot and Roel Spilker. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +--> +<project name="lombok-publish" basedir=".." default="publish"> + <description>This buildfile is part of projectlombok.org. It is responsible for turning the build results +into the actual deliverable form, and uploading it to the distribution websites.</description> + <property name="credentialsFile" value="google.properties" /> + + <target name="version" unless="lombok.version"> + <ant antfile="build.xml" target="version" inheritAll="false" /> + <loadresource property="lombok.version"> + <file file="build/version.txt" /> + <filterchain> + <striplinebreaks /> + </filterchain> + </loadresource> + </target> + + <target name="dist" unless="lombok.dist.built" depends="version"> + <ant antfile="buildScripts/compile.xml" target="dist" inheritAll="false"> + <property name="lombok.version" value="${lombok.version}" /> + </ant> + </target> + + <target name="-credentials"> + <available property="hasCredentialsFile" file="${credentialsFile}"/> + </target> + + <target name="-checkCredentialsFile" depends="-credentials" unless="hasCredentialsFile"> + <echo file="${credentialsFile}">#username=[your google account name without @gmail.com] +#password=[your googlecode password, is NOT your gmail password]</echo> + <fail message="fill in ${credentialsFile} to provide your credentials"/> + </target> + + <target name="publish" description="Publishes the latest build to googlecode" depends="version, -checkCredentialsFile, dist"> + <taskdef classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpath="deps/website/ant-googlecode-0.0.2.jar" name="gcupload"/> + <property file="${credentialsFile}" prefix="google" /> + <gcupload + username="${google.username}" + password="${google.password}" + projectname="projectlombok" + filename="dist/lombok.jar" + targetfilename="lombok-${lombok.version}.jar" + summary="Version ${lombok.version}" + labels="" + verbose="true" /> + <gcupload + username="${google.username}" + password="${google.password}" + projectname="projectlombok" + filename="dist/lombok.jar" + targetfilename="lombok.jar" + summary="Version ${lombok.version} - The everything jar - doubleclick it to install, or just include it in your projects." + labels="Featured" + verbose="true" /> + </target> +</project> diff --git a/buildScripts/website.ant.xml b/buildScripts/website.ant.xml new file mode 100644 index 00000000..d4b0605d --- /dev/null +++ b/buildScripts/website.ant.xml @@ -0,0 +1,224 @@ +<!-- + Copyright © 2009 Reinier Zwitserloot and Roel Spilker. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +--> +<project name="lombok-website" basedir=".." default="website"> + <description> +This buildfile is part of projectlombok.org. It is responsible for building the website and all website-related aspects, +such as converting the changelog into HTML, and creating javadoc.</description> + <property name="SNIPPET_TAB_STOP" value="2" /> + + <target name="-website-clean"> + <delete dir="build/website" quiet="true" /> + </target> + + <target name="website" description="Prepares the website for distribution" depends="-website-main, -website-videos, -website-dist" /> + <target name="website-novideo" description="Prepares the website for distribution, but does not add the videos to the zip." depends="-website-main, -website-dist" /> + + <target name="version" unless="lombok.version"> + <ant antfile="build.xml" target="version" inheritAll="false" /> + <loadresource property="lombok.version"> + <file file="build/version.txt" /> + <filterchain> + <striplinebreaks /> + </filterchain> + </loadresource> + </target> + + <target name="-website-videos" depends="-website-clean"> + <mkdir dir="build/website/videos" /> + <copy todir="build/website/videos"> + <fileset dir="website/videos" /> + </copy> + </target> + + <target name="-website-main" depends="-website-clean, version, javadoc, changelogToHtml"> + <taskdef classpath="deps/website/java2html.jar" name="java2html" classname="de.java2html.anttasks.Java2HtmlTask" /> + <mkdir dir="build/website" /> + <copy todir="build/website"> + <fileset dir="website"> + <exclude name="**/*.jpage" /> + <exclude name="**/*.svg" /> + <exclude name="**/*.psd" /> + <exclude name="**/*.ai" /> + <exclude name="**/publish" /> + <exclude name="**/*unused*" /> + <exclude name="videos/**" /> + </fileset> + </copy> + <copy todir="build/website" overwrite="true"> + <fileset dir="website"> + <include name="index.html" /> + <include name="download.html" /> + <include name="slideshow.html" /> + <include name="mavenrepo/index.html" /> + </fileset> + <filterchain> + <replacetokens> + <token key="VERSION" value="${lombok.version}" /> + </replacetokens> + </filterchain> + </copy> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="GetterSetter" /> + </antcall> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="ToString" /> + </antcall> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="EqualsAndHashCode" /> + </antcall> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="Data" /> + </antcall> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="Cleanup" /> + </antcall> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="Synchronized" /> + </antcall> + <antcall target="-integrateSnippet"> + <param name="transformationName" value="SneakyThrows" /> + </antcall> + <mkdir dir="dist" /> + </target> + + <target name="-website-dist"> + <tar destfile="dist/website.tar.bz2" compression="bzip2"> + <tarfileset dir="build/website" /> + <tarfileset dir="doc/api" prefix="api" /> + </tar> + <echo>Now upload dist/website.tar.bz2 to the webserver.</echo> + </target> + + <target name="-integrateSnippet"> + <mkdir dir="build/website" /> + <property name="prefile" location="usage_examples/${transformationName}Example_pre.jpage" /> + <property name="postfile" location="usage_examples/${transformationName}Example_post.jpage" /> + <property name="htmlfile" location="website/features/${transformationName}.html" /> + <mkdir dir="build/temp" /> + <property name="preout" location="build/temp/${transformationName}Example_pre.jpage.html" /> + <property name="postout" location="build/temp/${transformationName}Example_post.jpage.html" /> + <java2html srcdir="usage_examples" includes="${transformationName}Example_*.jpage" destdir="build/temp" tabs="${SNIPPET_TAB_STOP}" + showLineNumbers="true" overwrite="true" /> + <loadfile property="pre" encoding="UTF-8" srcFile="${preout}"> + <filterchain> + <linecontainsregexp> + <regexp pattern="(code>)|(font>)" /> + </linecontainsregexp> + <striplinebreaks /> + </filterchain> + </loadfile> + <loadfile property="post" encoding="UTF-8" srcFile="${postout}"> + <filterchain> + <linecontainsregexp> + <regexp pattern="(code>)|(font>)" /> + </linecontainsregexp> + <striplinebreaks /> + </filterchain> + </loadfile> + <delete dir="build/temp" quiet="true" /> + <copy file="${htmlfile}" todir="build/website/features" overwrite="true"> + <filterchain> + <replacetokens> + <token key="HTML_PRE" value="${pre}" /> + <token key="HTML_POST" value="${post}" /> + </replacetokens> + </filterchain> + </copy> + </target> + + <target name="changelogToHtml"> + <mkdir dir="build/changelog" /> + <echo file="build/changelog/CompileChangelog.java"><![CDATA[ + import com.petebevin.markdown.MarkdownProcessor; + import java.io.*; + + public class CompileChangelog { + public static void main(String[] args) { + try { + FileInputStream in = new FileInputStream(args[0]); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] b = new byte[65536]; + while ( true ) { + int r = in.read(b); + if ( r == -1 ) break; + out.write(b, 0, r); + } + in.close(); + String markdown = new String(out.toByteArray(), "UTF-8"); + String html = new MarkdownProcessor().markdown(markdown); + FileOutputStream file = new FileOutputStream(args[1]); + file.write(html.getBytes("UTF-8")); + file.close(); + System.exit(0); + } catch ( Throwable e ) { + e.printStackTrace(); + System.exit(1); + } + } + } + ]]></echo> + <mkdir dir="build/website" /> + <javac srcdir="build/changelog" destdir="build/changelog" classpath="deps/website/markdownj.jar" debug="on" /> + <property name="CHANGELOG_FILE" location="doc/changelog.markdown" /> + <property name="CHANGELOG_HTML" location="build/website/changelog.html" /> + <java fork="true" classname="CompileChangelog" failonerror="true"> + <classpath> + <pathelement location="deps/website/markdownj.jar" /> + <pathelement location="build/changelog" /> + </classpath> + <arg value="${CHANGELOG_FILE}" /> + <arg value="${CHANGELOG_HTML}" /> + </java> + </target> + + <target name="javadoc" description="Generates the javadoc" depends="version"> + <delete dir="build/api" quiet="true" /> + <delete dir="doc/api" quiet="true" /> + <mkdir dir="build/api" /> + <property name="javadoc.overview.html" location="build/javadoc.overview.html" /> + <echo file="${javadoc.overview.html}"><![CDATA[<html><body> + Welcome to the lombok javadoc. If you're just looking to learn more about using lombok + You probably want to look at <a href="http://projectlombok.org/features/index.html">the feature documentation</a>. Otherwise, + check the <a href="lombok/package-summary.html">lombok</a> package. If you're trying to extend lombok or + write your own plugins, the other packages are what you're looking for.</body></html> + ]]></echo> + <javadoc sourcepath="src" defaultexcludes="yes" destdir="build/api" windowtitle="Lombok" Overview="${javadoc.overview.html}"> + <classpath refid="lombok.deps.path" /> + <classpath refid="lombok.libs.path" /> + <link href="http://java.sun.com/javase/6/docs/api/" offline="true" packagelistLoc="./deps/javadoc/java6"/> + <header><![CDATA[<a href='http://projectlombok.org/'>Lombok</a> - ]]>v${lombok.version}</header> + <bottom><![CDATA[<i>Copyright © 2009 Reinier Zwitserloot and Roel Spilker, licensed under the <a href='http://www.opensource.org/licenses/mit-license.php'>MIT licence</a>.]]></bottom> + </javadoc> + <mkdir dir="doc/api" /> + <copy todir="doc/api"> + <fileset dir="build/api" includes="**/*.html" /> + <filterchain> + <linecontainsregexp negate="true"> + <regexp pattern="(Generated by javadoc)|(.META NAME=.date.)" /> + </linecontainsregexp> + </filterchain> + </copy> + <copy todir="doc/api"> + <fileset dir="build/api" excludes="**/*.html" /> + </copy> + </target> +</project> |