aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joshua Cohen <jco...@apache.org>
Subject Re: Review Request 61864: Bootstrap the build pipeline for new Preact UI.
Date Thu, 24 Aug 2017 20:34:47 GMT

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


Ship it!




lgtm modulo questions below.


src/main/resources/scheduler/assets/scheduler/new-index.html
Lines 21 (patched)
<https://reviews.apache.org/r/61864/#comment259837>

    Should we include this locally, rather than pulling it down from Google?



ui/.eslintrc
Lines 9 (patched)
<https://reviews.apache.org/r/61864/#comment259842>

    Are we using jest?


- Joshua Cohen


On Aug. 24, 2017, 7:15 p.m., David McLaughlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/61864/
> -----------------------------------------------------------
> 
> (Updated Aug. 24, 2017, 7:15 p.m.)
> 
> 
> Review request for Aurora, Joshua Cohen, Kai Huang, Santhosh Kumar Shanmugham, and Stephan
Erb.
> 
> 
> 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
> -----
> 
>   .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/3/
> 
> 
> Testing
> -------
> 
> The Scheduler is running in my Vagrant image with the Hello World message served under
/beta.
> 
> 
> Thanks,
> 
> David McLaughlin
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message