[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.buckminster] Re: exporting product for Java web start

Hi Thomas,
jnlp file generation works like a charm.

Two questions though:

1. When the jnlp file gets generated, the value of the codebase attribute is '$$codebase'. Is there a possibility to set a specific value during JNLP file generation ?

2. When I export the jnlp file manually via the Eclipse IDE, the <jar> elements look like this <jar href="plugins/com.x.y_1.0.0.200801011000.jar"/>. The <jar> elements that get generated by Buckminster look like this <jar href="plugins/com.x.y.jar" version="200801011000"/>. When trying to download the application via Web Start, the Buckminster-generated version results in an HTTP 404 error when trying to download the plugins. If I change it to the former format, then the download succeeds. I'm not sure how web start maps that separate 'version' attribute to an actual resource in the HTTP GET request it sends out. Any idea why this is happening ?

Thanks,
Thomas.


Thomas Hallgren wrote:
Hi Thomas,
yes, this is possible. Take a look at the org.eclipse.buckminster.jnlp.product source. The buckminster.cspex extension file contains an action that creates the Buckminster JNLP product.


The project in itself is a feature with a product definition (that references the feature).

The action calls on an ant target defined in our PDE plugin. The relevant parts of that looks like this:

<target name="create.eclipse.product">
  <mkdir dir="${sp:action.output}"/>
  <property name="copyJavaLauncher" value="true"/>
  <buckminster.copy todir="${sp:action.output}" overwrite="true">
    <buckminster.filesetgroup value="${fs:action.requirements}"/>
  </buckminster.copy>

  <buckminster.convertSiteToRuntime sitedir="${sp:action.output}"/>

  <buckminster.createProductBase
    productFile="${buckminster.eclipse.productFile}"
    outputDir="${sp:action.output}"
    copyJavaLauncher="${copyJavaLauncher}">
    <buckminster.filesetgroup value="${fs:action.requirements}"/>
  </buckminster.createProductBase>

  <buckminster.multichmod dir="${sp:action.output}">
    <propertyset>
      <propertyref prefix="buckminster.install.permissions."/>
    </propertyset>
  </buckminster.multichmod>
</target>

<target name="create.eclipse.jnlp.product" depends="create.eclipse.product">
<buckminster.jnlpSiteGenerator sitedir="${sp:action.output}"/>
</target>


So first, a standard product is created with all bells and whistles. After that, the relevant files needed for the JNLP launcher are added.

- thomas


Thomas Spiessens wrote:
Hi,
in Eclipse it is possible to export a product such that it can be deployed as a web start application (http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/java_web_start.htm). This is basically a product export with some specific parameters set. As Buckminster already allows us to export a standalone client based on a product file, is it possible to also export the application for web start deployment e.g. by providing the correct parameters in the 'product export' action ?


Thanks,
Thomas.