-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/61864/
-----------------------------------------------------------

(Updated Aug. 24, 2017, 9:04 p.m.)


Review request for Aurora, Joshua Cohen, Kai Huang, Santhosh Kumar Shanmugham, 
and Stephan Erb.


Changes
-------

* Remove unused Google Font.
* Remove reference to jest.


Repository: aurora


Description
-------

Bootstrap the build pipeline for new Preact UI. Obviously due to the 
disappointing decision by Facebook to keep their PATENTS clause, we can no 
longer use React or jest or any of the other Facebook OSS projects. Thankfully 
Preact has a compatibility layer that mostly hides this (see code), so it's 
really only jest (which is so much simpler than Karma) that is missed here. 

Right now we only insert a "Hello, World" message under a new path in the 
Scheduler. The goal here is to verify that this works in the Apache 
infrastructure, and that people can download the patch and confirm their local 
development environment is built correctly by gradle. Will be particularly 
useful if you don't have any of the modern Node/UI stack installed, because the 
idea is that Gradle will do it all for you.

Note: this will add time, perhaps significant time, to the Scheduler build 
process the first time it sets up the environment. I've made sure to set up 
input/output directories in Gradle to make sure the UP-TO-DATE mechanism is 
respected and the work isn't repeated. 

The following tasks become available:

./gradlew ui:install (runs npm install and fetches 3rd party JS dependencies)
./gradlew ui:webpack (the main build step - performed by webpack)
./gradlew ui:test (runs Karma-Jasmine-Webpack-Chai powered test suite) 
./gradlew ui:lint (runs eslint on the source code)

And all of these are now performed as part of the root ./gradlew build step. 
This also maintains feature parity with ./gradlew processResources 
--continuous. 

This is the first time I've ever really had to do significant changes to our 
Gradle build, so any feedback on my changes there are particularly appreciated.


Diffs (updated)
-----

  .gitignore b4e2bcbef6fdb1c049acda7c4fda4bd47988bea2 
  build.gradle c2c402f3ed0043b1e9befb6f9c4423649ee5c105 
  settings.gradle b097e2fd958fa0ce6076fc104eb3890c4029295d 
  src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java 
f7e72e77e50680d937d727cb4c0eb8940aabf03b 
  src/main/resources/scheduler/assets/scheduler/new-index.html PRE-CREATION 
  ui/.babelrc PRE-CREATION 
  ui/.eslintrc PRE-CREATION 
  ui/karma.conf.js PRE-CREATION 
  ui/package.json PRE-CREATION 
  ui/src/main/js/components/Home.js PRE-CREATION 
  ui/src/main/js/components/__tests__/Home-test.js PRE-CREATION 
  ui/src/main/js/index.js PRE-CREATION 
  ui/webpack.config.js PRE-CREATION 


Diff: https://reviews.apache.org/r/61864/diff/4/

Changes: https://reviews.apache.org/r/61864/diff/3-4/


Testing
-------

The Scheduler is running in my Vagrant image with the Hello World message 
served under /beta.


Thanks,

David McLaughlin

Reply via email to