Added new Eclipse update site build script to be imported from main LWJGL build script.

See org.lwjgl.build/README for details.

Removed old build script depending on pre-build LWJGL archives.
This commit is contained in:
Jens von Pilgrim 2011-12-05 12:41:45 +00:00
parent 9330766c3c
commit c26ba8ee58
8 changed files with 566 additions and 473 deletions

View File

@ -1,3 +1,33 @@
How to build the Eclipse update site
------------------------------------
Building the Eclipse update site is fully integrated into the main LWJGL build script.
Here is how to build the update site:
Run main lwjgl ant script (LWJGL/build.xml) with target "eclipse-updatesite"
You will find the updatesite in
LWJGL/eclipse-update/org.lwjgl.build/build/plugins/org.lwjgl.updatesite
Note that there are two targets: eclipse-updatesite and
eclipse-updatesite-simple. The first one depends from the target "release",
defined in the main build file. However, if you are sure the relase target has
been called before, you may want to only create the update site without
building the release target again. In that case, you can all
eclipse-update-simple.
The update site build requires some Java classes to be precompiled. These classes
can be found in some zip archives in folder plugin-classes and anttasks.jar.
Building these classes requires Eclipse dependencies (in case of the
plugin-classes) or they define anttasks required to be present when running ant.
In order to build these classes, open all projects found in subfolder
LWJGL/eclipse-update in Eclipse: this way, all Eclipse classes will get
automatically compiled. Then run the ant script buildEclipseClasses.xml from
within Eclipse. Actually, this is rarely necessary as the archives are all
committed to the LWJGL SVN and will be present if you check out everything. You
only need to run that build if the Eclise plugin classes (or the anttasks) were
changed.
The build plugin is part of the LWJGL Eclipse plugins. The following plugins are
required:
@ -46,35 +76,11 @@ org.lwjgl.build -- THIS Plugin
This is the build script project. Although it is an Eclipse project, you can
simply run the build script with ant from command line. See later on.
Everything is created in org.lwjgl.build/build.
Here is how to build the update site:
1) Create a new folder in org.lwjgl.build/lwjgl-archives , use the version
number as folder name. E.g., for version 2.6 create a folder "2.6",
for version 2.6.1 "2.6.1" and so on.
2) Copy the lwjgl, lwjgl-docs and lwjgl-source zips into that folder. E.g.,
for version 2.6, this folder must contain the following files:
org.lwjgl.build/lwjgl-archives
+ 2.6
- lwjgl-2.6.zip
- lwjgl-docs-2.6.zip
- lwjgl-source-2.6.zip
3) In order to run the build script, change to folder org.lwjgl.build and run
ant with a parameter indicating the appropriate LWJGL version, e.g.
ant -Dversion=2.6 dist
You will find the updatesite in
org.lwjgl.build/build/plugins/org.lwjgl.updatesite
You may note that the jars are all signed. I have added a temporary keystore
with a dummy alias. In order to use your key, simply edit the properties
(line 11-14) in the build script. If you do not want to store the password in
the build script, simply define it via "-Dstorepass=****" in the command line.
Everything is created in LWJGL/eclipse-update/org.lwjgl.build/build.
Some additional remarks:
- The version number is automatically "normalized" to Eclipse standards,
that is 2.6 will become 2.6.0. You do not have to rename the initial archives,
you can use 2.6. Or 2.6.1 ;-)
that is 2.6 will become 2.6.0 with the current date and time added.
- The lwjgl-debug.jar is not added to the org.lwjgl plugin, as I do not know
how to select one or the other. But I have not further investigated in
that direction.
@ -85,4 +91,5 @@ Some additional remarks:
to the Eclipse P2 system, which caches a lot of things. Simply uninstalling
a plugin does not remove the plugins from the Eclipse installation. When
the very same version is re-installed, instead of loading new files from the
update site these pre-installed versions are reused!
update site these pre-installed versions are reused! Since the date and time
is added to the plugin version number, this should cause no problems.

Binary file not shown.

View File

@ -0,0 +1,482 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Called from main build script.
Expects
lwjgl.version
to be set.
(C) 2011 LWJGL-Project
Author: Jens von Pilgrim, developer@jevopi.de
-->
<project default="eclipse-updatesite" basedir="." name="eclipse.antscript" xmlns:ant4eclipse="antlib:org.ant4eclipse" xmlns:antcontrib="antlib:net.sf.antcontrib">
<dirname property="eclipse.antscript.basedir" file="${ant.file.eclipse.antscript}" />
<property name="keystore" value="teststore" />
<property name="alias" value="tester" />
<property name="password" value="tester" />
<property name="keypass" value="${password}" />
<property name="eclipse.updatesite" value="http://www.lwjgl.org/update/" />
<property name="eclipse.bundle.vendor" value="lwjgl.org" />
<taskdef name="packagelist" classname="org.lwjgl.ant.PackageList">
<classpath>
<pathelement location="eclipse-update/org.lwjgl.build/anttasks.jar" />
</classpath>
</taskdef>
<taskdef name="normalizeversion" classname="org.lwjgl.ant.NormalizeVersion">
<classpath>
<pathelement location="eclipse-update/org.lwjgl.build/anttasks.jar" />
</classpath>
</taskdef>
<!-- properties imported from build-definitions.xml:
<property name="lwjgl.temp" location="temp" />
<property name="lwjgl.src" location="src" />
<property name="lwjgl.version" value="2.8.3" />
-->
<!-- where to build the update site and temporary build files -->
<property name="eclipse.build.path" value="${eclipse.antscript.basedir}/build" />
<property name="eclipse.build.temp" value="${eclipse.build.path}/temp" />
<property name="eclipse.build.plugins" value="${eclipse.build.path}/plugins" />
<property name="eclipse.prebuild-plugin-classes" value="${eclipse.antscript.basedir}/plugin-classes" />
<!-- from where to retrieve LWJGL files -->
<property name="eclipse.skeletons.dir" value="${eclipse.antscript.basedir}/.." />
<!-- base: ${lwjgl.temp} : <patternset refid="lwjgl_applet"/>
doc: basedir="${lwjgl.docs}" includes="javadoc/**"
source: refid="lwjgl.source.fileset"
-->
<property name="NL" value="&#10;" />
<target name="eclipse-updatesite" depends="release">
<antcall target="eclipse-updatesite-simple" />
</target>
<target name="eclipse-updatesite-simple">
<normalizeversion version="${lwjgl.version}" property="eclipse.normversion" addDateQualifier="yes" />
<echo>Building plugins for version ${lwjgl.version}, normalized version ${eclipse.normversion}</echo>
<mkdir dir="${eclipse.build.temp}" />
<!-- *******************************************************************
*
* Assemble plugins
*
******************************************************************** -->
<!-- Main plugin: lwjgl.org -->
<!-- Copy plugin skeletons -->
<mkdir dir="${eclipse.build.plugins}" />
<copy todir="${eclipse.build.plugins}/org.lwjgl">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl" casesensitive="yes">
<exclude name="**/src/**" />
<exclude name="**/*.jar" />
<!-- do not copy jars used for development -->
<exclude name="**/build/**" />
<exclude name="**/build.properties" />
<!-- do not copy development settings -->
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
<!-- do not copy native libraries -->
<exclude name="**/native/**" />
</fileset>
</copy>
<!-- Copy LWJGL native files and classes -->
<copy todir="${eclipse.build.plugins}/org.lwjgl">
<fileset dir="${lwjgl.temp}">
<patternset refid="lwjgl_base"/>
</fileset>
</copy>
<move todir="${eclipse.build.plugins}/org.lwjgl">
<fileset dir="${eclipse.build.plugins}/org.lwjgl/jar">
<include name="**" />
<exclude name="lwjgl-debug.jar" />
</fileset>
</move>
<delete dir="${eclipse.build.plugins}/org.lwjgl/jar" />
<!-- unzip Eclipse dependent classes,
have to be previously built by buildEclipseClasses.xml, but
are also contained in SVN
-->
<unzip dest="${eclipse.build.plugins}/org.lwjgl" src="${eclipse.prebuild-plugin-classes}/org.lwjgl.zip" />
<!-- Sources plugin: lwjgl.org.source -->
<!-- Copy plugin skeletons -->
<copy todir="${eclipse.build.plugins}/org.lwjgl.source">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.source" casesensitive="yes">
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<!-- Create zip files containing the source -->
<property name="eclipse.org.lwjgl.src.dir" value="${eclipse.build.plugins}/org.lwjgl.source/src/org.lwjgl_${eclipse.normversion}" />
<mkdir dir="${eclipse.org.lwjgl.src.dir}" />
<!-- Build src zips for plugin org.lwjgl -->
<!-- lwjgl sources (only Java sources) -->
<zip destfile="${eclipse.org.lwjgl.src.dir}/lwjglsrc.zip">
<fileset dir="${lwjgl.src}/generated" />
<fileset dir="${lwjgl.src}/java">
<exclude name="org/lwjgl/util/**" />
</fileset>
</zip>
<zip destfile="${eclipse.org.lwjgl.src.dir}/lwjgl_utilsrc.zip">
<fileset dir="${lwjgl.src}/java">
<include name="org/lwjgl/util/**" />
<exclude name="org/lwjgl/util/applet/**" />
</fileset>
</zip>
<zip destfile="${eclipse.org.lwjgl.src.dir}/lwjgl_util_applet.zip">
<fileset dir="${lwjgl.src}/java">
<include name="org/lwjgl/util/applet/**" />
</fileset>
</zip>
<!-- and the Eclipse related sources -->
<zip destfile="${eclipse.org.lwjgl.src.dir}/lwjgl_eclipse.zip">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl/src/java" casesensitive="yes">
<include name="org/lwjgl/**" />
</fileset>
</zip>
<zip destfile="${eclipse.org.lwjgl.src.dir}/lwjgl_tools.zip">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.tools/src/java" casesensitive="yes">
<include name="org/lwjgl/**" />
</fileset>
</zip>
<zip destfile="${eclipse.org.lwjgl.src.dir}/lwjgl_info.zip">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.info/src/java" casesensitive="yes">
<include name="org/lwjgl/**" />
</fileset>
</zip>
<!-- Documentation plugin: lwjgl.org.doc -->
<!-- Copy plugin skeletons including Eclipse documentation-->
<copy todir="${eclipse.build.plugins}/org.lwjgl.doc">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.doc" casesensitive="yes">
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<copy todir="${eclipse.build.plugins}/org.lwjgl.doc">
<fileset dir="${lwjgl.docs}">
<exclude name="javadoc/**" />
</fileset>
</copy>
<!-- create JavaDoc archive -->
<zip destfile="${eclipse.build.plugins}/org.lwjgl.doc/doc.zip" basedir="${lwjgl.docs}" includes="javadoc/**" />
<!-- Information view plugin: org.lwjgl.info -->
<copy todir="${eclipse.build.plugins}/org.lwjgl.info">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.info" casesensitive="yes">
<exclude name="**/src/**" />
<exclude name="**/build/**" />
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<!-- unzip Eclipse dependent classes,
have to be previously built by buildEclipseClasses.xml, but
are also contained in SVN
-->
<unzip dest="${eclipse.build.plugins}/org.lwjgl.info" src="${eclipse.prebuild-plugin-classes}/org.lwjgl.info.zip" />
<!-- Tools plugin: org.lwjgl.tools -->
<copy todir="${eclipse.build.plugins}/org.lwjgl.tools">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.tools" casesensitive="yes">
<exclude name="**/src/**" />
<exclude name="**/build/**" />
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<!-- unzip Eclipse dependent classes,
have to be previously built by buildEclipseClasses.xml, but
are also contained in SVN
-->
<unzip dest="${eclipse.build.plugins}/org.lwjgl.tools" src="${eclipse.prebuild-plugin-classes}/org.lwjgl.tools.zip" />
<!-- Feature -->
<copy todir="${eclipse.build.plugins}/org.lwjgl.feature">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.feature" casesensitive="yes">
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
<exclude name="**/*.template" />
</fileset>
</copy>
<!-- Update Site -->
<copy todir="${eclipse.build.plugins}/org.lwjgl.updatesite">
<fileset dir="${eclipse.skeletons.dir}/org.lwjgl.updatesite" casesensitive="yes">
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
<exclude name="**/*.template" />
</fileset>
</copy>
<!-- *******************************************************************
*
* Build manifest files
*
******************************************************************** -->
<!-- Calculate package export and bundle class paths -->
<packagelist property="eclipse.bundle.export-package" pathsep=",${NL} ">
<fileset dir="${lwjgl.temp}/jar">
<exclude name="**/lwjgl-debug.jar" />
</fileset>
<patternset>
<exclude name="**/test/**" />
<exclude name="**/examples/**" />
</patternset>
</packagelist>
<pathconvert property="eclipse.bundle.classpath.jars" pathsep=",${NL} ">
<map from="${lwjgl.temp}/jar/" to="" />
<fileset dir="${lwjgl.temp}/jar">
<exclude name="**/lwjgl-debug.jar" />
<exclude name="**/lwjgl_test.jar" />
</fileset>
</pathconvert>
<!-- *******************************************************************
*
* org.lwjgl
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<echo file="${eclipse.build.plugins}/org.lwjgl/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Lightweight Java Game Library
Bundle-SymbolicName: org.lwjgl
Bundle-Version: ${eclipse.normversion}
Bundle-Vendor: ${eclipse.bundle.vendor}
Bundle-Activator: org.lwjgl.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Export-Package: org.lwjgl.eclipse,${NL} ${eclipse.bundle.export-package}
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ClassPath: .,${NL} ${eclipse.bundle.classpath.jars}
</echo>
<!-- *******************************************************************
*
* org.lwjgl.doc
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<echo file="${eclipse.build.plugins}/org.lwjgl.doc/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-Vendor: ${eclipse.bundle.vendor}
Bundle-Version: ${eclipse.normversion}
Bundle-SymbolicName: org.lwjgl.doc;singleton:=true
Bundle-Localization: plugin
Require-Bundle: org.eclipse.help;bundle-version="3.2.0"
Eclipse-LazyStart: true
</echo>
<!-- *******************************************************************
*
* org.lwjgl.source
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<!-- Build manfest -->
<!-- not using manifest task, since manifest wraps at the wrong positions -->
<echo file="${eclipse.build.plugins}/org.lwjgl.source/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Sources
Bundle-Vendor: ${eclipse.bundle.vendor}
Bundle-Version: ${eclipse.normversion}
Bundle-SymbolicName: org.lwjgl.source;singleton:=true
Bundle-Localization: plugin
</echo>
<!-- *******************************************************************
*
* org.lwjgl.info
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<echo file="${eclipse.build.plugins}/org.lwjgl.info/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Test and Info View
Bundle-Vendor: ${eclipse.bundle.vendor}
Bundle-Version: ${eclipse.normversion}
Bundle-SymbolicName: org.lwjgl.info;singleton:=true
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.ui.views,
org.eclipse.core.resources,
org.lwjgl
Bundle-RequiredExecutionEnvironment: J2SE-1.5
</echo>
<!-- Files are already in place -->
<!-- *******************************************************************
*
* org.lwjgl.tools
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<!-- Build plugin org.lwjgl.tools -->
<echo file="${eclipse.build.plugins}/org.lwjgl.tools/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Tools Plug-in
Bundle-SymbolicName: org.lwjgl.tools;singleton:=true
Bundle-Version: ${eclipse.normversion}
Bundle-Vendor: ${eclipse.bundle.vendor}
Bundle-Activator: org.lwjgl.tools.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources;bundle-version="3.4.0",
org.eclipse.jdt.core;bundle-version="3.4.0",
org.eclipse.jdt.ui;bundle-version="3.4.0",
org.lwjgl;bundle-version="${eclipse.normversion}",
org.eclipse.jdt.launching;bundle-version="3.4.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
</echo>
<!-- Files are already in place -->
<!-- Create features -->
<!-- *******************************************************************
*
* org.lwjgl.feature
*
******************************************************************** -->
<!-- Build org.lwjgl.feature -->
<copy file="${eclipse.skeletons.dir}/org.lwjgl.feature/feature.xml.template" tofile="${eclipse.build.plugins}/org.lwjgl.feature/feature.xml" encoding="UTF-8" overwrite="true">
<filterset>
<filter token="VERSION" value="${eclipse.normversion}" />
<filter token="PROVIDERNAME" value="${eclipse.bundle.vendor}" />
<filter token="UPDATEURL" value="${eclipse.updatesite}" />
</filterset>
</copy>
<!-- *******************************************************************
*
* org.lwjgl.feature.sdk
*
******************************************************************** -->
<!-- Build org.lwjgl.feature -->
<copy file="${eclipse.skeletons.dir}/org.lwjgl.feature.sdk/feature.xml.template" tofile="${eclipse.build.plugins}/org.lwjgl.feature.sdk/feature.xml" encoding="UTF-8" overwrite="true">
<filterset>
<filter token="VERSION" value="${eclipse.normversion}" />
<filter token="PROVIDERNAME" value="${eclipse.bundle.vendor}" />
<filter token="UPDATEURL" value="${eclipse.updatesite}" />
</filterset>
</copy>
<!-- *******************************************************************
*
* Build update site, i.e. zip all plugins and feature with version
* number to appropriate place
*
******************************************************************** -->
<!-- Build update site -->
<copy file="${eclipse.skeletons.dir}/org.lwjgl.updatesite/site.xml.template" tofile="${eclipse.build.plugins}/org.lwjgl.updatesite/site.xml" encoding="UTF-8" overwrite="true">
<filterset>
<filter token="VERSION" value="${eclipse.normversion}" />
<filter token="PROVIDERNAME" value="${eclipse.bundle.vendor}" />
<filter token="UPDATEURL" value="${eclipse.updatesite}" />
</filterset>
</copy>
<mkdir dir="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins" />
<mkdir dir="${eclipse.build.plugins}/org.lwjgl.updatesite/features" />
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl_${eclipse.normversion}.jar" manifest="${eclipse.build.plugins}/org.lwjgl/META-INF/MANIFEST.MF">
<fileset dir="${eclipse.build.plugins}/org.lwjgl" casesensitive="yes" />
</jar>
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.doc_${eclipse.normversion}.jar" manifest="${eclipse.build.plugins}/org.lwjgl.doc/META-INF/MANIFEST.MF">
<fileset dir="${eclipse.build.plugins}/org.lwjgl.doc" casesensitive="yes" />
</jar>
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.source_${eclipse.normversion}.jar" manifest="${eclipse.build.plugins}/org.lwjgl.source/META-INF/MANIFEST.MF">
<fileset dir="${eclipse.build.plugins}/org.lwjgl.source" casesensitive="yes" />
</jar>
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.info_${eclipse.normversion}.jar" manifest="${eclipse.build.plugins}/org.lwjgl.info/META-INF/MANIFEST.MF">
<fileset dir="${eclipse.build.plugins}/org.lwjgl.info" casesensitive="yes" />
</jar>
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.tools_${eclipse.normversion}.jar" manifest="${eclipse.build.plugins}/org.lwjgl.tools/META-INF/MANIFEST.MF">
<fileset dir="${eclipse.build.plugins}/org.lwjgl.tools" casesensitive="yes" />
</jar>
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/features/org.lwjgl_${eclipse.normversion}.jar">
<fileset dir="${eclipse.build.plugins}/org.lwjgl.feature" casesensitive="yes" />
</jar>
<jar destfile="${eclipse.build.plugins}/org.lwjgl.updatesite/features/org.lwjgl.sdk_${eclipse.normversion}.jar">
<fileset dir="${eclipse.build.plugins}/org.lwjgl.feature.sdk" casesensitive="yes" />
</jar>
<!-- *******************************************************************
*
* Sign plugins and feature
*
******************************************************************** -->
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/features/org.lwjgl_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/features/org.lwjgl.sdk_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.doc_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.source_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.info_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<signjar jar="${eclipse.build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.tools_${eclipse.normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${password}" keypass="${keypass}" />
<echo>Created Eclipse update site: ${eclipse.build.plugins}/org.lwjgl.updatesite</echo>
</target>
<target name="eclipse-clean">
<delete dir="${eclipse.build.path}" />
</target>
<target name="eclipse-help">
<echo>This plugin is to be called from main LWJGL build.xml file.</echo>
<echo>It creates the update site, the result will be found in</echo>
<echo>${eclipse.build.plugins}/org.lwjgl.updatesite</echo>
</target>
</project>

View File

@ -1,446 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Call with
ant -Dversion=1.9.1 dist
(C) 2011 LWJGL-Project
Author: Jens von Pilgrim, developer@jevopi.de
-->
<project default="help" basedir="." name="" xmlns:ant4eclipse="antlib:org.ant4eclipse" xmlns:antcontrib="antlib:net.sf.antcontrib">
<property name="keystore" value="teststore" />
<property name="alias" value="tester" />
<property name="storepass" value="tester" />
<property name="keypass" value="${storepass}" />
<property name="eclipse.updatesite" value="http://www.lwjgl.org/update/" />
<property name="bundle.vendor" value="lwjgl.org" />
<taskdef name="packagelist" classname="org.lwjgl.ant.PackageList">
<classpath>
<pathelement location="./anttasks" />
</classpath>
</taskdef>
<taskdef name="normalizeversion" classname="org.lwjgl.ant.NormalizeVersion">
<classpath>
<pathelement location="./anttasks" />
</classpath>
</taskdef>
<property name="version" value="unknown" />
<property name="archives.dir" value="lwjgl-archives/${version}" />
<property name="skeletons.dir" value=".." />
<property name="build.path" value="build" />
<property name="build.temp" value="${build.path}/temp" />
<property name="build.plugins" value="${build.path}/plugins" />
<property name="lwjgl.zip" value="lwjgl-${version}.zip" />
<property name="lwjgl_docs.zip" value="lwjgl-docs-${version}.zip" />
<property name="lwjgl_source.zip" value="lwjgl-source-${version}.zip" />
<property name="lwjgl.dir" value="${build.temp}/lwjgl-${version}" />
<property name="lwjgl_docs.dir" value="${build.temp}/javadoc" />
<property name="lwjgl_source.dir" value="${build.temp}/src" />
<property name="NL" value="&#10;" />
<!--
<property name="" value="" />
-->
<target name="init">
<normalizeversion version="${version}" property="normversion" addDateQualifier="yes" />
<echo>Building plugins for version ${version}, normalized version ${normversion}</echo>
</target>
<target name="dist" depends="init">
<mkdir dir="${build.temp}" />
<!-- *******************************************************************
*
* Copy original plugins to build folder. Copy source to source plugin
* only, move classes into place.
*
******************************************************************** -->
<mkdir dir="${build.plugins}" />
<copy todir="${build.plugins}/org.lwjgl">
<fileset dir="${skeletons.dir}/org.lwjgl" casesensitive="yes">
<exclude name="**/src/**" />
<exclude name="**/*.jar" />
<!-- do not copy jars used for development -->
<exclude name="**/build/**" />
<exclude name="**/build.properties" />
<!-- do not copy development settings -->
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
<!-- do not copy native libraries -->
<exclude name="**/native/**" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl">
<fileset dir="${skeletons.dir}/org.lwjgl/build/classes" casesensitive="yes">
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.source">
<fileset dir="${skeletons.dir}/org.lwjgl.source" casesensitive="yes">
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.doc">
<fileset dir="${skeletons.dir}/org.lwjgl.doc" casesensitive="yes">
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.info">
<fileset dir="${skeletons.dir}/org.lwjgl.info" casesensitive="yes">
<exclude name="**/src/**" />
<exclude name="**/build/**" />
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.info">
<fileset dir="${skeletons.dir}/org.lwjgl.info/build/classes" casesensitive="yes">
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.tools">
<fileset dir="${skeletons.dir}/org.lwjgl.tools" casesensitive="yes">
<exclude name="**/src/**" />
<exclude name="**/build/**" />
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.tools">
<fileset dir="${skeletons.dir}/org.lwjgl.tools/build/classes" casesensitive="yes">
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.feature">
<fileset dir="${skeletons.dir}/org.lwjgl.feature" casesensitive="yes">
<exclude name="**/build.properties" />
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
<exclude name="**/*.template" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl.updatesite">
<fileset dir="${skeletons.dir}/org.lwjgl.updatesite" casesensitive="yes">
<exclude name="**/.settings/**" />
<exclude name="**/.classpath" />
<exclude name="**/.project" />
<exclude name="**/*.template" />
</fileset>
</copy>
<!-- *******************************************************************
*
* Unzip archives and move content into approriate plugins
*
******************************************************************** -->
<unzip src="${archives.dir}/${lwjgl.zip}" dest="${build.temp}" />
<copy todir="${build.plugins}/org.lwjgl/native">
<fileset dir="${lwjgl.dir}/native" />
</copy>
<copy todir="${build.plugins}/org.lwjgl/">
<fileset dir="${lwjgl.dir}/jar">
<exclude name="**/lwjgl-debug.jar" />
</fileset>
</copy>
<copy todir="${build.plugins}/org.lwjgl/doc">
<fileset dir="${lwjgl.dir}/doc" />
</copy>
<packagelist property="bundle.export-package" pathsep=",${NL} ">
<fileset dir="${lwjgl.dir}/jar">
<exclude name="**/lwjgl-debug.jar" />
</fileset>
<patternset>
<exclude name="**/test/**" />
<exclude name="**/examples/**" />
</patternset>
</packagelist>
<pathconvert property="bundle.classpath.jars" pathsep=",${NL} ">
<map from="${basedir}/${lwjgl.dir}/jar/" to="" />
<fileset dir="${lwjgl.dir}/jar">
<exclude name="**/lwjgl-debug.jar" />
<exclude name="**/lwjgl_test.jar" />
</fileset>
</pathconvert>
<!-- *******************************************************************
*
* Build plugins
*
******************************************************************** -->
<!-- *******************************************************************
*
* org.lwjgl
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<echo file="${build.plugins}/org.lwjgl/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Lightweight Java Game Library
Bundle-SymbolicName: org.lwjgl
Bundle-Version: ${normversion}
Bundle-Vendor: ${bundle.vendor}
Bundle-Activator: org.lwjgl.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Export-Package: org.lwjgl.eclipse,${NL} ${bundle.export-package}
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ClassPath: .,${NL} ${bundle.classpath.jars}
</echo>
<!-- *******************************************************************
*
* org.lwjgl.doc
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<copy file="${archives.dir}/${lwjgl_docs.zip}" tofile="${build.plugins}/org.lwjgl.doc/doc.zip" />
<echo file="${build.plugins}/org.lwjgl.doc/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-Vendor: ${bundle.vendor}
Bundle-Version: ${normversion}
Bundle-SymbolicName: org.lwjgl.doc;singleton:=true
Bundle-Localization: plugin
Require-Bundle: org.eclipse.help;bundle-version="3.2.0"
Eclipse-LazyStart: true
</echo>
<!-- *******************************************************************
*
* org.lwjgl.source
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<unzip src="${archives.dir}/${lwjgl_source.zip}" dest="${build.temp}" />
<!-- Build src zips for plugin org.lwjgl -->
<property name="org.lwjgl.src.dir" value="${build.plugins}/org.lwjgl.source/src/org.lwjgl_${normversion}" />
<mkdir dir="${org.lwjgl.src.dir}" />
<zip destfile="${org.lwjgl.src.dir}/lwjglsrc.zip">
<fileset dir="${lwjgl_source.dir}/generated" />
<fileset dir="${lwjgl_source.dir}/java">
<exclude name="org/lwjgl/util/**" />
</fileset>
</zip>
<zip destfile="${org.lwjgl.src.dir}/lwjgl_utilsrc.zip">
<fileset dir="${lwjgl_source.dir}/java">
<include name="org/lwjgl/util/**" />
<exclude name="org/lwjgl/util/applet/**" />
</fileset>
</zip>
<!--
<zip destfile="${org.lwjgl.src.dir}/lwjgl_util_applet.zip">
<fileset dir="${lwjgl_source.dir}/java">
<include name="org/lwjgl/util/applet/**" />
</fileset>
</zip>
-->
<zip destfile="${org.lwjgl.src.dir}/lwjgl_eclipse.zip">
<fileset dir="${skeletons.dir}/org.lwjgl/src/java" casesensitive="yes">
<include name="org/lwjgl/**" />
</fileset>
</zip>
<zip destfile="${org.lwjgl.src.dir}/lwjgl_tools.zip">
<fileset dir="${skeletons.dir}/org.lwjgl.tools/src/java" casesensitive="yes">
<include name="org/lwjgl/**" />
</fileset>
</zip>
<zip destfile="${org.lwjgl.src.dir}/lwjgl_info.zip">
<fileset dir="${skeletons.dir}/org.lwjgl.info/src/java" casesensitive="yes">
<include name="org/lwjgl/**" />
</fileset>
</zip>
<!-- Build manfest -->
<!-- not using manifest task, since manifest wraps at the wrong positions -->
<echo file="${build.plugins}/org.lwjgl.source/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Sources
Bundle-Vendor: ${bundle.vendor}
Bundle-Version: ${normversion}
Bundle-SymbolicName: org.lwjgl.source;singleton:=true
Bundle-Localization: plugin
</echo>
<!-- *******************************************************************
*
* org.lwjgl.info
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<echo file="${build.plugins}/org.lwjgl.info/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Test and Info View
Bundle-Vendor: ${bundle.vendor}
Bundle-Version: ${normversion}
Bundle-SymbolicName: org.lwjgl.info;singleton:=true
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.ui.views,
org.eclipse.core.resources,
org.lwjgl
Bundle-RequiredExecutionEnvironment: J2SE-1.5
</echo>
<!-- Files are already in place -->
<!-- *******************************************************************
*
* org.lwjgl.tools
*
* Build manifest files, not using manifest task, since manifest wraps
* at the wrong positions (at least ant 1.7)
*
******************************************************************** -->
<!-- Build plugin org.lwjgl.tools -->
<echo file="${build.plugins}/org.lwjgl.tools/META-INF/MANIFEST.MF" encoding="UTF-8">Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LWJGL Tools Plug-in
Bundle-SymbolicName: org.lwjgl.tools;singleton:=true
Bundle-Version: ${normversion}
Bundle-Vendor: ${bundle.vendor}
Bundle-Activator: org.lwjgl.tools.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources;bundle-version="3.4.0",
org.eclipse.jdt.core;bundle-version="3.4.0",
org.eclipse.jdt.ui;bundle-version="3.4.0",
org.lwjgl;bundle-version="${normversion}",
org.eclipse.jdt.launching;bundle-version="3.4.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
</echo>
<!-- Files are already in place -->
<!-- *******************************************************************
*
* org.lwjgl.feature
*
******************************************************************** -->
<!-- Build org.lwjgl.feature -->
<copy file="${skeletons.dir}/org.lwjgl.feature/feature.xml.template" tofile="${build.plugins}/org.lwjgl.feature/feature.xml" encoding="UTF-8" overwrite="true">
<filterset>
<filter token="VERSION" value="${normversion}" />
<filter token="PROVIDERNAME" value="${bundle.vendor}" />
<filter token="UPDATEURL" value="${eclipse.updatesite}" />
</filterset>
</copy>
<!-- *******************************************************************
*
* org.lwjgl.feature.sdk
*
*
******************************************************************** -->
<!-- Build org.lwjgl.feature -->
<copy file="${skeletons.dir}/org.lwjgl.feature.sdk/feature.xml.template" tofile="${build.plugins}/org.lwjgl.feature.sdk/feature.xml" encoding="UTF-8" overwrite="true">
<filterset>
<filter token="VERSION" value="${normversion}" />
<filter token="PROVIDERNAME" value="${bundle.vendor}" />
<filter token="UPDATEURL" value="${eclipse.updatesite}" />
</filterset>
</copy>
<!-- *******************************************************************
*
* Build update site, i.e. zip all plugins and feature with version
* number to appropriate place
*
******************************************************************** -->
<!-- Build update site -->
<copy file="${skeletons.dir}/org.lwjgl.updatesite/site.xml.template" tofile="${build.plugins}/org.lwjgl.updatesite/site.xml" encoding="UTF-8" overwrite="true">
<filterset>
<filter token="VERSION" value="${normversion}" />
<filter token="PROVIDERNAME" value="${bundle.vendor}" />
<filter token="UPDATEURL" value="${eclipse.updatesite}" />
</filterset>
</copy>
<mkdir dir="${build.plugins}/org.lwjgl.updatesite/plugins" />
<mkdir dir="${build.plugins}/org.lwjgl.updatesite/features" />
<jar destfile="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl_${normversion}.jar" manifest="${build.plugins}/org.lwjgl/META-INF/MANIFEST.MF">
<fileset dir="${build.plugins}/org.lwjgl" casesensitive="yes" />
</jar>
<jar destfile="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.doc_${normversion}.jar" manifest="${build.plugins}/org.lwjgl.doc/META-INF/MANIFEST.MF">
<fileset dir="${build.plugins}/org.lwjgl.doc" casesensitive="yes" />
</jar>
<jar destfile="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.source_${normversion}.jar" manifest="${build.plugins}/org.lwjgl.source/META-INF/MANIFEST.MF">
<fileset dir="${build.plugins}/org.lwjgl.source" casesensitive="yes" />
</jar>
<jar destfile="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.info_${normversion}.jar" manifest="${build.plugins}/org.lwjgl.info/META-INF/MANIFEST.MF">
<fileset dir="${build.plugins}/org.lwjgl.info" casesensitive="yes" />
</jar>
<jar destfile="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.tools_${normversion}.jar" manifest="${build.plugins}/org.lwjgl.tools/META-INF/MANIFEST.MF">
<fileset dir="${build.plugins}/org.lwjgl.tools" casesensitive="yes" />
</jar>
<jar destfile="${build.plugins}/org.lwjgl.updatesite/features/org.lwjgl_${normversion}.jar">
<fileset dir="${build.plugins}/org.lwjgl.feature" casesensitive="yes" />
</jar>
<jar destfile="${build.plugins}/org.lwjgl.updatesite/features/org.lwjgl.sdk_${normversion}.jar">
<fileset dir="${build.plugins}/org.lwjgl.feature.sdk" casesensitive="yes" />
</jar>
<!-- *******************************************************************
*
* Sign plugins and feature
*
******************************************************************** -->
<signjar jar="${build.plugins}/org.lwjgl.updatesite/features/org.lwjgl_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
<signjar jar="${build.plugins}/org.lwjgl.updatesite/features/org.lwjgl.sdk_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
<signjar jar="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
<signjar jar="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.doc_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
<signjar jar="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.source_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
<signjar jar="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.info_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
<signjar jar="${build.plugins}/org.lwjgl.updatesite/plugins/org.lwjgl.tools_${normversion}.jar" keystore="${keystore}" alias="${alias}" storepass="${storepass}" keypass="${keypass}" />
</target>
<target name="clean">
<delete dir="${build.path}" />
</target>
<target name="help">
<echo>Call this build with version number and target dist, e.g.</echo>
<echo> ant -Dversion=1.1.2 dist</echo>
</target>
</project>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
ant
(C) 2011 LWJGL-Project
Author: Jens von Pilgrim, developer@jevopi.de
-->
<project default="buildClasses" basedir="." name="Build Eclipse classes" xmlns:ant4eclipse="antlib:org.ant4eclipse" xmlns:antcontrib="antlib:net.sf.antcontrib">
<property name="plugin.lwjgl.org" value="org.lwjgl" />
<property name="plugin.lwjgl.org.info" value="org.lwjgl.info" />
<property name="plugin.lwjgl.org.tools" value="org.lwjgl.tools" />
<property name="classes.folder" value="build/classes" />
<property name="plugin.build.folder" value="plugin-classes" />
<!--
<property name="" value="" />
-->
<target name="init">
<echo></echo>
</target>
<target name="buildClasses" depends="init">
<mkdir dir="${plugin.build.folder}" />
<zip basedir="../${plugin.lwjgl.org}/${classes.folder}" destfile="${plugin.build.folder}/${plugin.lwjgl.org}.zip" />
<zip basedir="../${plugin.lwjgl.org.info}/${classes.folder}" destfile="${plugin.build.folder}/${plugin.lwjgl.org.info}.zip" />
<zip basedir="../${plugin.lwjgl.org.tools}/${classes.folder}" destfile="${plugin.build.folder}/${plugin.lwjgl.org.tools}.zip" />
<jar basedir="anttasks" destfile="anttasks.jar" />
</target>
<target name="clean">
<delete dir="${plugin.build.folder}" />
</target>
<target name="help">
<echo>Call this ant script in order to create archives containing the classes of all</echo>
<echo>Eclipes plugin related classes, such as Activors.</echo>
<echo>This build file removes the burden of building Eclipse dependent classes from</echo>
<echo>within the main build script</echo>
</target>
</project>