Skip to content

WIP: Change build system from bower to WebPack

Fabian Kosmale requested to merge no_bower into dev

Motivation: By changing the build system, I hope to achieve faster iterations, enhanced testability and easier access to new features.

This pull request does the following things:

  • it changes the build system from the (EOLed, maintenance only) bower to one of the build systems du jour, webpack
  • to work correctly with webpack, throughout the project ES6 import and export statements are used (thanks to webpack,also for non JS ressources)
  • As there is a plugin for it, we now have offline support via Service Workers, with a fallback to appcache if Service Worker are not supported
  • Now that the dependency structure is clear, Angular's strict DI is enabled (and everywhere where we were using implicit DI, explicit DI is now used). This also allows for more aggressive minimization.
  • it adds the basic infrastructure for integration testing with protractor, and adds two very simple test cases
  • webpack makes it easier to use the webworker, and we don't need some magic global state which works after concatenation; the worker just imports what it needs
  • browserify isn't needed either anymore, as webpack can handle that job just fine. It also obsoletes those pre- and post- PseuCoCo files

Building: The way to build PseuCo obviously changes and it works now as follows:

  • run npm install to get all required packages
  • use npm run build for a release build, npm run devbuild for a development build and npm run watch to watch for file changes

Testplan:

Entering PseuCo and CCS works

all the exercises

The Data Race detector

The Jani Connector (as long as the default connection is used, at least)

My memory model work (duh)

? Embedded mode (I'm not sure how to even test this)

? Anything else?

Merge request reports