Infusion Build Scripts Roadmap

Goals

  • Use the Builder as the primary place to get Infusion
  • Discontinue standalone zip file distribution of Infusion: users can get code from Builder or Github
  • Unify the structure and contents of our source code repository and a source build

Features, Fixes, and Enhancements

  • Remove support for Maven and WAR file generation
  • Ship demos with a custom source build
  • Symmetry between the file system layout of the source code tree and builds

Structural Differences Between Source Tree and Builds

  • Builds contain a synthesized top-level licenses directory, containing all licenses for third-party code
  • Stuff missing from a custom source build, but in the source tree:
    • src/webapp wrapper
    • Demos
      • Integration demos
      • Standalone demos
    • Unit tests
    • Build scripts and Maven POM files

The Proposal

  1. Production builds will include only the absolute minimum required to deploy on a Web server:
    • A MyInfusion.js file
    • A components/ directory containing only html/, images/ and css/
    • Infusion's top-level license file
    • README.txt
  2. Development builds will be identical to the source tree, except:
    • They won't include tests/ or build-scripts/
    • They will include MyInfusion.js/InfusionAll.js
    • If any modules are excluded, they will only be excluded from the MyInfusion.js, file, not from the rest of the source tree. This is to ensure that demos will continue to work nicely even if a user excludes key stuff like jQuery.
  3. As of Infusion 1.5, we will no longer support Maven builds and WAR files