Solid:Builders

From MozillaWiki
Revision as of 15:26, 21 June 2005 by AxelHecht (talk | contribs) (add a scratch pad for an XML build config file)
Jump to navigation Jump to search

Builders should be able to create flat and jarred versions of extensions or XULrunner applications.

Do we need a preprocessor or some sorts?

Alternatives

Makefile

Pros:

Cons:

  • need Makefile in build
  • lots of extra tools required
  • no good dependency tracking for jars

Standalone

Pros:

  • easy to ship

Cons:

  • lots of code to duplicate

Note that my Extension Developer's extension has a standalone build system, and it wasn't terribly hard to put together. The hardest part was finding a suitable zip tool on the user's system, and knowing how to call that. --Luser 06:25, 21 Jun 2005 (PDT)

I'd prefer to have something hooked up to eclipse, so at least one implementation will be java based. I'm currently thinking about a helper jar that the ant task and an eclipse builder can hook into. --AxelHecht 08:26, 21 Jun 2005 (PDT)

Ant task

Pros:

  • easy to ship, ant already comes with eclipse
  • known to quite a few java coders

Cons:

  • ant not really known in the mozilla world

Topics

  • do we want wildcards? (yes, AxelHecht)
  • do we want a preprocessor? (yes, AxelHecht)

Configuration file

Let's scratch-pad an XML configuration file to be used to pack content/locale/skin.

<?xml version="1.0"?>
<solid:packager>
  <solid:package type="content" use-preprocessor="yes">
    <solid:include pattern="src/content//*.xul"/>
    <solid:include pattern="src/content//*.js"/>
    <solid:destination pattern="chrome://foo/content"/>
  </solid:package>
</solid:packager>

Wether the content goes to the build dir, unjarred or is jarred up would best be up to a build.properties file, I guess.