[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [orion-dev] Changes to Orion build-time JS minification
|
Plus, publishing Hudson build results to
the Eclipse download page. Today they are just pushed to repo.eclipse.org
which is not a suitable place for end users to consume from.
John
From:
Ken Walker/Ottawa/IBM@IBMCA
To:
Orion developer discussions
<orion-dev@xxxxxxxxxxx>,
Cc:
Orion developer discussions
<orion-dev@xxxxxxxxxxx>, orion-dev-bounces@xxxxxxxxxxx
Date:
03/07/2014 10:48 AM
Subject:
Re: [orion-dev]
Changes to Orion build-time JS minification
Sent by:
orion-dev-bounces@xxxxxxxxxxx
Getting Client Side tests running from
the Hudson build.
Ken Walker
Lead of the Orion Project at Eclipse and within IBM | Tools for the Web,
On the Web
https://orionhub.org
| http://wiki.eclipse.org/Orion
| https://hub.jazz.net
@kwalker | @orionhub
Mike
Wilson---2014/03/07 10:41:12 AM---"Once the PDE build is decommissioned"
What is preventing us from doing this?
From:
|
Mike Wilson/Ottawa/IBM@IBMCA
|
To:
|
Orion developer discussions <orion-dev@xxxxxxxxxxx>,
|
Date:
|
2014/03/07 10:41 AM
|
Subject:
|
Re: [orion-dev] Changes to Orion build-time JS minification
|
Sent by:
|
orion-dev-bounces@xxxxxxxxxxx |
"Once the PDE build is decommissioned"
What is preventing us from doing this?
McQ.
Mark
Macdonald ---2014/03/06 20:34:57---Bad news: It turned out my previous
test builds were not being minified correctly.
From: Mark Macdonald <mamacdon@xxxxxxxxx>
To: Orion developer discussions <orion-dev@xxxxxxxxxxx>
Date: 2014/03/06 20:34
Subject: Re: [orion-dev] Changes
to Orion build-time JS minification
Sent by: orion-dev-bounces@xxxxxxxxxxx
Bad news:
It turned out my previous test builds were not being minified correctly.
r.js has an option ("skipDirOptimize") that I was using to minify
only the pages that Orion needs at runtime, and skip other .js files in
the build directory. But for the PDE build running at build.eclipse.org,
this inexplicably causes the minifier to skip all the files and
minify nothing. I could not reproduce the problem in Maven builds.
The only workaround I could find was to run the minifier on all 602 js
files in the build folder, even though only about 8% of those are ultimately
needed at runtime after dependencies have been inlined. Once the PDE build
is decommissioned -- hopefully soon -- we can remove this workaround and
the builds will be fast again.
The build time is now 40 minutes.
On Thu, Mar 6, 2014 at 1:52 PM, John Arthorne <John_Arthorne@xxxxxxxxxx>
wrote:
I have added these instructions to the
wiki, because there is no chance I will find this email at the moment these
instructions are needed:
https://wiki.eclipse.org/Orion/Releng_Builds#Minification
John
From: Mark
Macdonald <mamacdon@xxxxxxxxx>
To: Orion
developer discussions <orion-dev@xxxxxxxxxxx>,
Date: 03/05/2014
06:24 PM
Subject: [orion-dev]
Changes to Orion build-time JS minification
Sent by: orion-dev-bounces@xxxxxxxxxxx
I've released some changes to Orion's build-time JS minification. The rationale
is twofold:
1. Reduce build
times [1].
2. Reduce duplicated
logic across various builds of Orion (Maven, PDE, Node, etc), to make it
easier for developers to get new pages minified without breaking things.
[2]
After some initial problems, builds seem to
be working OK again. (If you notice any problems with build output or minification,
please open a bug and assign it to me.)
Here's a summary of the results:
1. Build times
Proper use of r.js has reduced the minification time for Orion's client
code from 68 minutes to 12 minutes [3][4]. As the build scripts are now
shared, the PDE build has seen similar improvements. This gives us total
build times of ~21 minutes (PDE) and ~28 minutes (Hudson
, orion-client + orion-server).
2. Build maintenance
>From now on, the only file developers should normally have to maintain
is this one in the client repo:
releng\org.eclipse.orion.client.releng\builder\scripts\orion.build.js.
This is the RequireJS build file used to minify the Orion client UI.
It contains a few additional parameters that are not standard RequireJS.
See below for Orion-developer-oriented details about the client build.
Adding a new module to the client build
There's just one step:
1. Add an entry
to the modules section of orion.build.js.
Every entry needs a name property and a bundle, which tells
the builder which bundle the minified module should be copied back into.
For example, here is the Git Commit page's entry:
{ name: "git/git-commit",
bundle: "${buildDirectory}/bundles/org.eclipse.orion.client.git"
},
^ Ant-style property replacement is supported, but ${buildDirectory} is
all you should use there. The PDE, Hudson, and Node builds all share orion.build.js,
so your new module will be correctly built everywhere.
Adding a new client bundle to the JS build
1. Add an entry to the bundles
section of orion.build.js.
2. If your bundle contains
any JSDocs, add an entry to the jsdocs section of orion.build.js.
3. Add module
entries for any of the bundle's modules you want minified (see previous
section).
4. Add an entry
to the <modules> section of the client repo's top-level pom.xml
to ensure that the Maven builder finds your bundle.
Building stand-alone features (like the standalone Orion editor)
Right now these are still handled separately by the build script. You must
add logic to orion.mini.xml that invokes r.js, passing the build file for
your feature. Use the standalone editor build as a reference.
Thanks
Mark
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=429077
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=422699
[3] https://hudson.eclipse.org/orion/job/orion-client/162/
[4] https://hudson.eclipse.org/orion/job/orion-client/167/
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev