Re: Including CSS in apps

2020-01-07 Thread Harbs
For js and image/svg files this is probably a complete solution. For CSS, there 
also needs to be code to load the CSS.

I guess a combination of include_file and inject_html might work, but then we 
still have the problem of duplicate  injection and combined CSS would not 
be properly referenced.

> For Problem #1, instead of inject_html we could add something like 
> "include_file" that would reference a file in a SWC.  Then folks could have 
> images, css, js, whatever, added to the output file.  I think that wouldn't 
> be too hard to do.  There is already code in the compiler copying stuff out 
> of a SWC

> On Jan 7, 2020, at 12:11 AM, Alex Harui  wrote:
> 
> 
> 
> On 1/6/20, 12:45 PM, "Harbs"  wrote:
> 
>Yes. JS specific.
> 
>It would be very hard to do a SWF compatible build of Spectrum.
> 
> So to me, this isn't so much about CSS as it is about externs.  CSS that is 
> processed by the compiler is intended for multi-platform CSS.  Multi-platform 
> CSS is encoded for use by ValuesManager and implementations on other 
> platforms.  As Carlos noted in a recent thread, CSS is sort of downloaded 
> twice by Royale JS output, once in its .css file form for consumption by the 
> browser, and a second time as encoded CSS for use by the framework and 
> application code.  That avoids having the framework code call 
> getComputedStyles() and allows non-comforming CSS like 
> ClassReference("SomeBead").  Although there certainly could be a better way 
> to handle this.
> 
> On the other hand, the inject_html and externs are about 3rd-party or 
> external JS implementations.  There have been other threads about how to 
> handle inject_html and have it inject local references to .js files.  Right 
> now I think all inject_html use cases reference code on a CDN or some 
> canonical URL on the internet.  It feels like this is the same problem and 
> why you started by asking about inject_html.  You don't really need the 
> compiler to look at this CSS, you really want some amount of css and/or js 
> (and maybe even html) to be linked into the output instead of referenced by 
> URL.  Although it sounds like you are also looking to aggregate these bits 
> and pieces of external css or js into fewer files.
> 
> So I recommend approaching the problem in two pieces: 1) what is the best way 
> to add js and css to the output files and 2) once you have some set, can you 
> aggregate it into fewer files?
> 
> Problem #2 sounds straightforward: search the output folder and combine 
> files.  I guess it might be important what order you combine CSS files.
> 
> For Problem #1, instead of inject_html we could add something like 
> "include_file" that would reference a file in a SWC.  Then folks could have 
> images, css, js, whatever, added to the output file.  I think that wouldn't 
> be too hard to do.  There is already code in the compiler copying stuff out 
> of a SWC
> 
> My 2 cents,
> -Alex
> 
>> On Jan 6, 2020, at 8:56 PM, Alex Harui  wrote:
>> 
>> But is that CSS platform-specific, or will that same CSS be needed if you 
>> were to try to implement Spectrum in SWF?  IMO, that's a key question for 
>> how we solve this problem.
> 
> 
> 



Build failed in Jenkins: royale-compiler-integration-tests #355

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 157.09 KB...]
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:277: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   for (let i = isArrayLike ? 0 : 1; i < keys.length; i++) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:307: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:329: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:351: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const key = goog.object.findKey(obj, f, opt_this);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:363: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:376: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const i in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:390: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   let rv;
[junit]   ^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:480: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const val = f();
[junit]   ^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:495: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in a) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:500: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in b) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:520: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const res = {};
[junit]   ^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:521: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 9:40:17 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:545: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const type = goog.typeOf(obj);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 9:40:18 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:550: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] const clone = type == 'array' ? [] : {};
[junit] ^
[junit] 
[junit] Jan 07, 2020 9:40:18 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:551: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] for (const key in obj) {
[junit]  ^
[junit] 
[junit] Jan 07, 2020 9:40:18 AM 

Build failed in Jenkins: royale-compiler-integration-tests #356

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 155.94 KB...]
[junit] SEVERE: goog/object/object.js:271: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const isArrayLike = goog.isArrayLike(var_args);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:272: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const keys = isArrayLike ?
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:277: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   for (let i = isArrayLike ? 0 : 1; i < keys.length; i++) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:307: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:329: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:351: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const key = goog.object.findKey(obj, f, opt_this);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:363: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:376: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const i in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:390: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   let rv;
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:480: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const val = f();
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:495: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in a) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:500: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in b) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:520: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const res = {};
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:521: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:545: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const type = goog.typeOf(obj);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 12:42:05 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:550: ERROR - This language feature 

Build failed in Jenkins: royale-compiler-integration-tests #357

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 157.72 KB...]
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:277: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   for (let i = isArrayLike ? 0 : 1; i < keys.length; i++) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:307: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:329: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:351: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const key = goog.object.findKey(obj, f, opt_this);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:363: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:376: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const i in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:390: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   let rv;
[junit]   ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:480: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const val = f();
[junit]   ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:495: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in a) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:500: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in b) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:520: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const res = {};
[junit]   ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:521: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:545: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const type = goog.typeOf(obj);
[junit]   ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:550: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] const clone = type == 'array' ? [] : {};
[junit] ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:551: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] for (const key in obj) {
[junit]  ^
[junit] 
[junit] Jan 07, 2020 3:43:55 PM 

Re: Including CSS in apps

2020-01-07 Thread Alex Harui
I would think any of these files need to be loaded by some other code.  They 
can't just sit in the output folder.

They may not have to be loaded by inject_html directives.  As I proposed 
earlier in the thread, it might be best to think of this problem in separate 
pieces.  The first piece is to come up with a useful way to annotate code files 
to get other files stored in SWCs into the output folder.  A separate piece may 
be a post-processing step that deals with minification/aggregation of these 
files into fewer files.  The piece that post-processes the files may be 
responsible for modifying the .html file appropriately and could remove 
duplicates.  Or it may be that there is a protocol in the classes where if more 
than one class needs a particular file they must have a dependency on a class 
that carries the annotation to bring in that file so later steps don't have to 
deal with duplicate files.

My 2 cents,
-Alex

On 1/7/20, 12:16 AM, "Harbs"  wrote:

For js and image/svg files this is probably a complete solution. For CSS, 
there also needs to be code to load the CSS.

I guess a combination of include_file and inject_html might work, but then 
we still have the problem of duplicate  injection and combined CSS would 
not be properly referenced.

> For Problem #1, instead of inject_html we could add something like 
"include_file" that would reference a file in a SWC.  Then folks could have 
images, css, js, whatever, added to the output file.  I think that wouldn't be 
too hard to do.  There is already code in the compiler copying stuff out of a 
SWC

> On Jan 7, 2020, at 12:11 AM, Alex Harui  wrote:
> 
> 
> 
> On 1/6/20, 12:45 PM, "Harbs"  wrote:
> 
>Yes. JS specific.
> 
>It would be very hard to do a SWF compatible build of Spectrum.
> 
> So to me, this isn't so much about CSS as it is about externs.  CSS that 
is processed by the compiler is intended for multi-platform CSS.  
Multi-platform CSS is encoded for use by ValuesManager and implementations on 
other platforms.  As Carlos noted in a recent thread, CSS is sort of downloaded 
twice by Royale JS output, once in its .css file form for consumption by the 
browser, and a second time as encoded CSS for use by the framework and 
application code.  That avoids having the framework code call 
getComputedStyles() and allows non-comforming CSS like 
ClassReference("SomeBead").  Although there certainly could be a better way to 
handle this.
> 
> On the other hand, the inject_html and externs are about 3rd-party or 
external JS implementations.  There have been other threads about how to handle 
inject_html and have it inject local references to .js files.  Right now I 
think all inject_html use cases reference code on a CDN or some canonical URL 
on the internet.  It feels like this is the same problem and why you started by 
asking about inject_html.  You don't really need the compiler to look at this 
CSS, you really want some amount of css and/or js (and maybe even html) to be 
linked into the output instead of referenced by URL.  Although it sounds like 
you are also looking to aggregate these bits and pieces of external css or js 
into fewer files.
> 
> So I recommend approaching the problem in two pieces: 1) what is the best 
way to add js and css to the output files and 2) once you have some set, can 
you aggregate it into fewer files?
> 
> Problem #2 sounds straightforward: search the output folder and combine 
files.  I guess it might be important what order you combine CSS files.
> 
> For Problem #1, instead of inject_html we could add something like 
"include_file" that would reference a file in a SWC.  Then folks could have 
images, css, js, whatever, added to the output file.  I think that wouldn't be 
too hard to do.  There is already code in the compiler copying stuff out of a 
SWC
> 
> My 2 cents,
> -Alex
> 
>> On Jan 6, 2020, at 8:56 PM, Alex Harui  wrote:
>> 
>> But is that CSS platform-specific, or will that same CSS be needed if 
you were to try to implement Spectrum in SWF?  IMO, that's a key question for 
how we solve this problem.
> 
> 
> 





Re: About Jewel Table component

2020-01-07 Thread Carlos Rovira
Hi Yishay,

El dom., 5 ene. 2020 a las 12:39, Yishay Weiss ()
escribió:

> Piotr knows more about this than I do, but again, I’m not sure we are the
> right people to ask because we’ve been using it as a Grid replacement so
> what we actually need is the DataGrid API. What’s your issue with
> selectedItem/selectedProperty? The fact that these refer to cells rather
> than rows is probably a feature because that’s what distinguishes it from
> Grid.
>

I'm starting lo see it that way. I remember left the component to do other
urgent work, and at that time my feeling was that the API was not ok.
Maybe was due to me going as fast as possible from coding that to the other
tasks. Now revisiting the component seems to me almost ok...or nothing is
making me feel unconfortable with the API, and don't remember the reasons I
had at that time.

Anyway, all experience reported by you and Piotr is welcomed to know more.

I think this component has some useful features like the HTML/table layout,
the colapsan/rowspan feature and the header label alignments. Of course is
very oriented to the HTML world ;)

Thanks!


-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Apache Royale PMC member joins the ASF staff

2020-01-07 Thread Carlos Rovira
Great Andrew! :)

El dom., 5 ene. 2020 a las 20:05, Harbs () escribió:

> Nice. :-)
>
>
> > On Jan 5, 2020, at 8:34 PM, Andrew Wetmore  wrote:
> >
> > https://blogs.apache.org/infra/entry/another-oar-in-the-water
> >
> > --
> > Andrew Wetmore
> >
> > http://cottage14.blogspot.com/
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Including CSS in apps

2020-01-07 Thread Carlos Rovira
Hi Harbs,

about duplicate  elements: I solved it recently in TDJ by adding "id"
to link. The "loadCSS" method now returns that "id". I store it in TDJ so I
can remove the link element (and that remove all styles in the browser
too). Maybe we can have some Manager class (maybe a bead to use in
Application) that be in charge of ensuring link tags are unique.

About having CSS downloaded twice. I understand that for non conforming CSS
royale rules like ClassReference, but for normal CSS rules, seems to me a
waste of resources, right?
Maybe there are many things in that concrete topic and will deserve a new
thread about it to understand it completely. For example: Are we using
normal CSS rules in Royale? Can we separate royale rules from normal rules
and load normal ones via browsers css and royale ones vía JS? Can we
reprocess royale css rules again at later time? what means that framework
code does not need to call getComputedStyles()? and why should framework do
that?... I think this is very interesting now that Harbs are working on
Spectrum and I recently worked on runtime theme switching.






El mar., 7 ene. 2020 a las 9:16, Harbs () escribió:

> For js and image/svg files this is probably a complete solution. For CSS,
> there also needs to be code to load the CSS.
>
> I guess a combination of include_file and inject_html might work, but then
> we still have the problem of duplicate  injection and combined CSS
> would not be properly referenced.
>
> > For Problem #1, instead of inject_html we could add something like
> "include_file" that would reference a file in a SWC.  Then folks could have
> images, css, js, whatever, added to the output file.  I think that wouldn't
> be too hard to do.  There is already code in the compiler copying stuff out
> of a SWC
>
> > On Jan 7, 2020, at 12:11 AM, Alex Harui 
> wrote:
> >
> >
> >
> > On 1/6/20, 12:45 PM, "Harbs"  wrote:
> >
> >Yes. JS specific.
> >
> >It would be very hard to do a SWF compatible build of Spectrum.
> >
> > So to me, this isn't so much about CSS as it is about externs.  CSS that
> is processed by the compiler is intended for multi-platform CSS.
> Multi-platform CSS is encoded for use by ValuesManager and implementations
> on other platforms.  As Carlos noted in a recent thread, CSS is sort of
> downloaded twice by Royale JS output, once in its .css file form for
> consumption by the browser, and a second time as encoded CSS for use by the
> framework and application code.  That avoids having the framework code call
> getComputedStyles() and allows non-comforming CSS like
> ClassReference("SomeBead").  Although there certainly could be a better way
> to handle this.
> >
> > On the other hand, the inject_html and externs are about 3rd-party or
> external JS implementations.  There have been other threads about how to
> handle inject_html and have it inject local references to .js files.  Right
> now I think all inject_html use cases reference code on a CDN or some
> canonical URL on the internet.  It feels like this is the same problem and
> why you started by asking about inject_html.  You don't really need the
> compiler to look at this CSS, you really want some amount of css and/or js
> (and maybe even html) to be linked into the output instead of referenced by
> URL.  Although it sounds like you are also looking to aggregate these bits
> and pieces of external css or js into fewer files.
> >
> > So I recommend approaching the problem in two pieces: 1) what is the
> best way to add js and css to the output files and 2) once you have some
> set, can you aggregate it into fewer files?
> >
> > Problem #2 sounds straightforward: search the output folder and combine
> files.  I guess it might be important what order you combine CSS files.
> >
> > For Problem #1, instead of inject_html we could add something like
> "include_file" that would reference a file in a SWC.  Then folks could have
> images, css, js, whatever, added to the output file.  I think that wouldn't
> be too hard to do.  There is already code in the compiler copying stuff out
> of a SWC
> >
> > My 2 cents,
> > -Alex
> >
> >> On Jan 6, 2020, at 8:56 PM, Alex Harui 
> wrote:
> >>
> >> But is that CSS platform-specific, or will that same CSS be needed if
> you were to try to implement Spectrum in SWF?  IMO, that's a key question
> for how we solve this problem.
> >
> >
> >
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Including CSS in apps

2020-01-07 Thread Harbs
I agree with your approach, and including the files in a SWC to be extracted at 
build time would be the biggest immediate win.

One inline comments below:

> On Jan 7, 2020, at 7:28 PM, Alex Harui  wrote:
> 
> I would think any of these files need to be loaded by some other code.  They 
> can't just sit in the output folder.

True, but this problem is smaller for image files which can simply be 
referenced in the app (the src in an HTML app). As long as the relative path is 
predictable, this issue is manageable.

> They may not have to be loaded by inject_html directives.  As I proposed 
> earlier in the thread, it might be best to think of this problem in separate 
> pieces.  The first piece is to come up with a useful way to annotate code 
> files to get other files stored in SWCs into the output folder.  A separate 
> piece may be a post-processing step that deals with minification/aggregation 
> of these files into fewer files.  The piece that post-processes the files may 
> be responsible for modifying the .html file appropriately and could remove 
> duplicates.  Or it may be that there is a protocol in the classes where if 
> more than one class needs a particular file they must have a dependency on a 
> class that carries the annotation to bring in that file so later steps don't 
> have to deal with duplicate files.
> 
> My 2 cents,
> -Alex
> 
> On 1/7/20, 12:16 AM, "Harbs"  wrote:
> 
>For js and image/svg files this is probably a complete solution. For CSS, 
> there also needs to be code to load the CSS.
> 
>I guess a combination of include_file and inject_html might work, but then 
> we still have the problem of duplicate  injection and combined CSS 
> would not be properly referenced.
> 
>> For Problem #1, instead of inject_html we could add something like 
>> "include_file" that would reference a file in a SWC.  Then folks could have 
>> images, css, js, whatever, added to the output file.  I think that wouldn't 
>> be too hard to do.  There is already code in the compiler copying stuff out 
>> of a SWC
> 
>> On Jan 7, 2020, at 12:11 AM, Alex Harui  wrote:
>> 
>> 
>> 
>> On 1/6/20, 12:45 PM, "Harbs"  wrote:
>> 
>>   Yes. JS specific.
>> 
>>   It would be very hard to do a SWF compatible build of Spectrum.
>> 
>> So to me, this isn't so much about CSS as it is about externs.  CSS that is 
>> processed by the compiler is intended for multi-platform CSS.  
>> Multi-platform CSS is encoded for use by ValuesManager and implementations 
>> on other platforms.  As Carlos noted in a recent thread, CSS is sort of 
>> downloaded twice by Royale JS output, once in its .css file form for 
>> consumption by the browser, and a second time as encoded CSS for use by the 
>> framework and application code.  That avoids having the framework code call 
>> getComputedStyles() and allows non-comforming CSS like 
>> ClassReference("SomeBead").  Although there certainly could be a better way 
>> to handle this.
>> 
>> On the other hand, the inject_html and externs are about 3rd-party or 
>> external JS implementations.  There have been other threads about how to 
>> handle inject_html and have it inject local references to .js files.  Right 
>> now I think all inject_html use cases reference code on a CDN or some 
>> canonical URL on the internet.  It feels like this is the same problem and 
>> why you started by asking about inject_html.  You don't really need the 
>> compiler to look at this CSS, you really want some amount of css and/or js 
>> (and maybe even html) to be linked into the output instead of referenced by 
>> URL.  Although it sounds like you are also looking to aggregate these bits 
>> and pieces of external css or js into fewer files.
>> 
>> So I recommend approaching the problem in two pieces: 1) what is the best 
>> way to add js and css to the output files and 2) once you have some set, can 
>> you aggregate it into fewer files?
>> 
>> Problem #2 sounds straightforward: search the output folder and combine 
>> files.  I guess it might be important what order you combine CSS files.
>> 
>> For Problem #1, instead of inject_html we could add something like 
>> "include_file" that would reference a file in a SWC.  Then folks could have 
>> images, css, js, whatever, added to the output file.  I think that wouldn't 
>> be too hard to do.  There is already code in the compiler copying stuff out 
>> of a SWC
>> 
>> My 2 cents,
>> -Alex
>> 
>>> On Jan 6, 2020, at 8:56 PM, Alex Harui  wrote:
>>> 
>>> But is that CSS platform-specific, or will that same CSS be needed if you 
>>> were to try to implement Spectrum in SWF?  IMO, that's a key question for 
>>> how we solve this problem.
>> 
>> 
>> 
> 
> 
> 



Re: Including CSS in apps

2020-01-07 Thread Harbs
I solved it in Spectrum by using common base classes, so a CSS file is only 
ever referenced once.

Spectrum has many interesting approaches. It makes extensive use of CSS 
variables which makes for extremely powerful run-time theming. The major 
monkey-wrench with that is IE11 support. I’m not ready to drop IE11 yet, and 
that prevents making full use of CSS variables.

It also extensively uses SVG  elements and applies SVG coloring and 
shading via CSS.

> On Jan 7, 2020, at 6:58 PM, Carlos Rovira  wrote:
> 
> Hi Harbs,
> 
> about duplicate  elements: I solved it recently in TDJ by adding "id"
> to link. The "loadCSS" method now returns that "id". I store it in TDJ so I
> can remove the link element (and that remove all styles in the browser
> too). Maybe we can have some Manager class (maybe a bead to use in
> Application) that be in charge of ensuring link tags are unique.
> 
> About having CSS downloaded twice. I understand that for non conforming CSS
> royale rules like ClassReference, but for normal CSS rules, seems to me a
> waste of resources, right?
> Maybe there are many things in that concrete topic and will deserve a new
> thread about it to understand it completely. For example: Are we using
> normal CSS rules in Royale? Can we separate royale rules from normal rules
> and load normal ones via browsers css and royale ones vía JS? Can we
> reprocess royale css rules again at later time? what means that framework
> code does not need to call getComputedStyles()? and why should framework do
> that?... I think this is very interesting now that Harbs are working on
> Spectrum and I recently worked on runtime theme switching.
> 
> 
> 
> 
> 
> 
> El mar., 7 ene. 2020 a las 9:16, Harbs () escribió:
> 
>> For js and image/svg files this is probably a complete solution. For CSS,
>> there also needs to be code to load the CSS.
>> 
>> I guess a combination of include_file and inject_html might work, but then
>> we still have the problem of duplicate  injection and combined CSS
>> would not be properly referenced.
>> 
>>> For Problem #1, instead of inject_html we could add something like
>> "include_file" that would reference a file in a SWC.  Then folks could have
>> images, css, js, whatever, added to the output file.  I think that wouldn't
>> be too hard to do.  There is already code in the compiler copying stuff out
>> of a SWC
>> 
>>> On Jan 7, 2020, at 12:11 AM, Alex Harui 
>> wrote:
>>> 
>>> 
>>> 
>>> On 1/6/20, 12:45 PM, "Harbs"  wrote:
>>> 
>>>   Yes. JS specific.
>>> 
>>>   It would be very hard to do a SWF compatible build of Spectrum.
>>> 
>>> So to me, this isn't so much about CSS as it is about externs.  CSS that
>> is processed by the compiler is intended for multi-platform CSS.
>> Multi-platform CSS is encoded for use by ValuesManager and implementations
>> on other platforms.  As Carlos noted in a recent thread, CSS is sort of
>> downloaded twice by Royale JS output, once in its .css file form for
>> consumption by the browser, and a second time as encoded CSS for use by the
>> framework and application code.  That avoids having the framework code call
>> getComputedStyles() and allows non-comforming CSS like
>> ClassReference("SomeBead").  Although there certainly could be a better way
>> to handle this.
>>> 
>>> On the other hand, the inject_html and externs are about 3rd-party or
>> external JS implementations.  There have been other threads about how to
>> handle inject_html and have it inject local references to .js files.  Right
>> now I think all inject_html use cases reference code on a CDN or some
>> canonical URL on the internet.  It feels like this is the same problem and
>> why you started by asking about inject_html.  You don't really need the
>> compiler to look at this CSS, you really want some amount of css and/or js
>> (and maybe even html) to be linked into the output instead of referenced by
>> URL.  Although it sounds like you are also looking to aggregate these bits
>> and pieces of external css or js into fewer files.
>>> 
>>> So I recommend approaching the problem in two pieces: 1) what is the
>> best way to add js and css to the output files and 2) once you have some
>> set, can you aggregate it into fewer files?
>>> 
>>> Problem #2 sounds straightforward: search the output folder and combine
>> files.  I guess it might be important what order you combine CSS files.
>>> 
>>> For Problem #1, instead of inject_html we could add something like
>> "include_file" that would reference a file in a SWC.  Then folks could have
>> images, css, js, whatever, added to the output file.  I think that wouldn't
>> be too hard to do.  There is already code in the compiler copying stuff out
>> of a SWC
>>> 
>>> My 2 cents,
>>> -Alex
>>> 
 On Jan 6, 2020, at 8:56 PM, Alex Harui 
>> wrote:
 
 But is that CSS platform-specific, or will that same CSS be needed if
>> you were to try to implement Spectrum in SWF?  IMO, that's a key question
>> for how we solve this problem.

Re: Including CSS in apps

2020-01-07 Thread Alex Harui


On 1/7/20, 9:33 AM, "Harbs"  wrote:
> On Jan 7, 2020, at 7:28 PM, Alex Harui  wrote:
> 
> I would think any of these files need to be loaded by some other code.  
They can't just sit in the output folder.

True, but this problem is smaller for image files which can simply be 
referenced in the app (the src in an HTML app). As long as the relative path is 
predictable, this issue is manageable.

I might just be too nit-picky, but I think even an image needs a HTMLElement in 
the DOM.   So any class that wants to have an image copied into the output 
folder needs to either run code to insert an  tag in the DOM or have the 
post-process somehow know to add an  tag into the output .html file and 
since the position of  tags really matter specifying position in the 
annotation would be painful, IMO, so I would expect class code to insert the 
img tag.

Order of loading CSS and JS matter as well, but hopefully it will match class 
initialization order so we don't have to define order in the annotation.

Class code is generally required because Royale does not put an initial DOM of 
HTMLElements in the output html file.  All HTMLElements are added to the DOM by 
code (or by inject_html, but not in any particular order).  Teaching the 
compiler to construct an initial DOM and have the class code find the DOM 
elements (I think JQuery sort of worked this way) would require a different 
component set and two initialization paths in the components ("find the 
element", and "add the element") so Basic does not try to support that.  Some 
other component set could, but because we want to encourage dynamic, 
state-based UX I'm not clear there would be significant advantages.  In 
Alina/Pashmina's app, for example, the initial DOM would just be a login screen.

-Alex



Re: Including CSS in apps

2020-01-07 Thread Josh Tynjala
As a developer, I would expect to create my own image element in
ActionScript code and reference the appropriate URL based on where the file
was copied. I wouldn't want the compiler to add an  to my HTML
template. It would feel too much like magic and probably wouldn't be
configurable enough to be useful.

--
Josh Tynjala
Bowler Hat LLC 


On Tue, Jan 7, 2020 at 9:51 AM Alex Harui  wrote:

>
>
> On 1/7/20, 9:33 AM, "Harbs"  wrote:
> > On Jan 7, 2020, at 7:28 PM, Alex Harui 
> wrote:
> >
> > I would think any of these files need to be loaded by some other
> code.  They can't just sit in the output folder.
>
> True, but this problem is smaller for image files which can simply be
> referenced in the app (the src in an HTML app). As long as the relative
> path is predictable, this issue is manageable.
>
> I might just be too nit-picky, but I think even an image needs a
> HTMLElement in the DOM.   So any class that wants to have an image copied
> into the output folder needs to either run code to insert an  tag in
> the DOM or have the post-process somehow know to add an  tag into the
> output .html file and since the position of  tags really matter
> specifying position in the annotation would be painful, IMO, so I would
> expect class code to insert the img tag.
>
> Order of loading CSS and JS matter as well, but hopefully it will match
> class initialization order so we don't have to define order in the
> annotation.
>
> Class code is generally required because Royale does not put an initial
> DOM of HTMLElements in the output html file.  All HTMLElements are added to
> the DOM by code (or by inject_html, but not in any particular order).
> Teaching the compiler to construct an initial DOM and have the class code
> find the DOM elements (I think JQuery sort of worked this way) would
> require a different component set and two initialization paths in the
> components ("find the element", and "add the element") so Basic does not
> try to support that.  Some other component set could, but because we want
> to encourage dynamic, state-based UX I'm not clear there would be
> significant advantages.  In Alina/Pashmina's app, for example, the initial
> DOM would just be a login screen.
>
> -Alex
>
>


Re: Including CSS in apps

2020-01-07 Thread Harbs
I have two use cases in mind:

1. Components which use images (most likely SVG) for skinning. The components 
would reference their own internal files by default, but would probably allow 
the end user to specify their own graphics instead for custom skinning.

2. A library which includes graphics that would allow developers to use the 
graphics by reference (i.e. some kind of manager class or something as simple 
as a constant which would resolve to the correct url location).

In either of these cases, the compiler wouldn’t (and shouldn’t) do any magic, 
but the component set might in certain cases create HTMLElements that use the 
assets.

> On Jan 7, 2020, at 7:56 PM, Josh Tynjala  wrote:
> 
> As a developer, I would expect to create my own image element in
> ActionScript code and reference the appropriate URL based on where the file
> was copied. I wouldn't want the compiler to add an  to my HTML
> template. It would feel too much like magic and probably wouldn't be
> configurable enough to be useful.
> 
> --
> Josh Tynjala
> Bowler Hat LLC 
> 
> 
> On Tue, Jan 7, 2020 at 9:51 AM Alex Harui  wrote:
> 
>> 
>> 
>> On 1/7/20, 9:33 AM, "Harbs"  wrote:
>>> On Jan 7, 2020, at 7:28 PM, Alex Harui 
>> wrote:
>>> 
>>> I would think any of these files need to be loaded by some other
>> code.  They can't just sit in the output folder.
>> 
>>True, but this problem is smaller for image files which can simply be
>> referenced in the app (the src in an HTML app). As long as the relative
>> path is predictable, this issue is manageable.
>> 
>> I might just be too nit-picky, but I think even an image needs a
>> HTMLElement in the DOM.   So any class that wants to have an image copied
>> into the output folder needs to either run code to insert an  tag in
>> the DOM or have the post-process somehow know to add an  tag into the
>> output .html file and since the position of  tags really matter
>> specifying position in the annotation would be painful, IMO, so I would
>> expect class code to insert the img tag.
>> 
>> Order of loading CSS and JS matter as well, but hopefully it will match
>> class initialization order so we don't have to define order in the
>> annotation.
>> 
>> Class code is generally required because Royale does not put an initial
>> DOM of HTMLElements in the output html file.  All HTMLElements are added to
>> the DOM by code (or by inject_html, but not in any particular order).
>> Teaching the compiler to construct an initial DOM and have the class code
>> find the DOM elements (I think JQuery sort of worked this way) would
>> require a different component set and two initialization paths in the
>> components ("find the element", and "add the element") so Basic does not
>> try to support that.  Some other component set could, but because we want
>> to encourage dynamic, state-based UX I'm not clear there would be
>> significant advantages.  In Alina/Pashmina's app, for example, the initial
>> DOM would just be a login screen.
>> 
>> -Alex
>> 
>> 



CSS Downloaded Twice (was Re: Including CSS in apps)

2020-01-07 Thread Carlos Rovira
Hi,

About having CSS downloaded twice, I think is a very interesting topic to
know more info about.
I understand that for non-conforming CSS royale rules like ClassReference
is ok, but for normal CSS rules, seems to me a waste of resources, right?

Questions I have about this:


   - Are we using normal CSS rules in Royale Code? (If not why we load
   again in code and encode all that simple CSS rules that are processed by
   Browsers)
   - Can we separate royale rules (i.e: ClassReference) from normal rules
   and load normal ones via browsers css and royale ones vía JS?
   - Can we reprocess royale css rules again at later time? (When doing
   runtime theme switch, I'm only switching normal standard rules by loading a
   normal CSS file, but what If I want to change beads in components or other
   things like that? Can I do that? If so how can I load that at runtime and
   process?
   - What means that framework code doesn't need to call
   "getComputedStyles()"? and why should framework do that?

Thanks


-- 
Carlos Rovira
http://about.me/carlosrovira


Re: CSS Downloaded Twice (was Re: Including CSS in apps)

2020-01-07 Thread Alex Harui


On 1/7/20, 10:41 AM, "Carlos Rovira"  wrote:

Hi,

About having CSS downloaded twice, I think is a very interesting topic to
know more info about.
I understand that for non-conforming CSS royale rules like ClassReference
is ok, but for normal CSS rules, seems to me a waste of resources, right?

Questions I have about this:


   - Are we using normal CSS rules in Royale Code? (If not why we load
   again in code and encode all that simple CSS rules that are processed by
   Browsers)
Royale has a ValuesManager.  The various IValuesImpls implement enough CSS to 
get some app to work.  I'm pretty sure nobody has done a full CSS 
implementation yet.

   - Can we separate royale rules (i.e: ClassReference) from normal rules
   and load normal ones via browsers css and royale ones vía JS?
Don't know.  Probably.  But maintaining the list of what to exclude may not be 
worth the effort.

   - Can we reprocess royale css rules again at later time? (When doing
   runtime theme switch, I'm only switching normal standard rules by 
loading a
   normal CSS file, but what If I want to change beads in components or 
other
   things like that? Can I do that? If so how can I load that at runtime and
   process?
Basic doesn't yet have support for runtime loading of CSS (AFAIK).  But folks 
are welcome to add it in a PAYG manner.

   - What means that framework code doesn't need to call
   "getComputedStyles()"? and why should framework do that?
ValuesManager is called ValuesManager on purpose: to not imply that there must 
be a CSS subsystem determining the values.  In fact, some really simple apps 
don't need CSS at all and can use, for example, SimpleValuesImpl.

The code in the framework (and sometimes the application) needs to know default 
values for things.  By separating the defaults from the code that uses it, it 
makes it easier for folks to change it and helps make sure we don't have 
unnecessary dependencies.

I can quickly think of 3 categories of default values.  There might be more:
1) default beads
2) default values that are not CSS-compliant (MX Emulation of 
"horizontalCenter")
3) default values that are CSS-compliant   

In the Royale component lifecycle, a component is instantiated, then some 
properties are assigned, including custom beads, then the component is added to 
a parent where default beads are added.  Values in categories 1 & 2 must be 
encoded somehow.  The browser will barf if we try to put that stuff in a CSS 
file.  Some stuff in Category 3  is never asked for (color), but some stuff is. 
 If you ask for the width or height, we need to check the CSS to see if it has 
been specified there.  getComputedStyle is supposedly expensive, so the current 
implementation in UIBase checks for a locally set style, then tries for 
offsetHeight/Width.   That seems to be working well enough for now.  Subclasses 
can always do something else.

If someone wants to try using getComputedStyle, they should create a branch, 
build some tests, and see if there is a better way.

-Alex



Thanks


-- 
Carlos Rovira

https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosroviradata=02%7C01%7Caharui%40adobe.com%7Cbe680796db94415702f908d793a13a01%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637140192989760630sdata=9TS0PDQeiFU8dZ4V%2B69ZzrVQFu2x3DrwnJKQvP2iMBI%3Dreserved=0




Build failed in Jenkins: royale-compiler-integration-tests #361

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 156.45 KB...]
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:277: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   for (let i = isArrayLike ? 0 : 1; i < keys.length; i++) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:307: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:329: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:351: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const key = goog.object.findKey(obj, f, opt_this);
[junit]   ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:363: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:376: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const i in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:390: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   let rv;
[junit]   ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:480: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const val = f();
[junit]   ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:495: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in a) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:500: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in b) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:520: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const res = {};
[junit]   ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:521: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:545: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const type = goog.typeOf(obj);
[junit]   ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:550: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] const clone = type == 'array' ? [] : {};
[junit] ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:551: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] for (const key in obj) {
[junit]  ^
[junit] 
[junit] Jan 08, 2020 7:38:51 AM 

Build failed in Jenkins: royale-compiler-integration-tests #358

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 159.22 KB...]
[junit] scanning for overrides: ApplicationBase
[junit] scanning for overrides: IEventDispatcher
[junit] scanning for overrides: IInitialViewApplication
[junit] scanning for overrides: IParent
[junit] scanning for overrides: IPopUpHost
[junit] scanning for overrides: IPopUpHostParent
[junit] scanning for overrides: IRenderedObject
[junit] scanning for overrides: IStrand
[junit] scanning for overrides: Application
[junit] scanning for overrides: RoyaleTest_again_Flash
[junit] scanning for overrides: IDocument
[junit] scanning for overrides: MyController
[junit] scanning for overrides: HTMLElementWrapper
[junit] scanning for overrides: IId
[junit] scanning for overrides: IChild
[junit] scanning for overrides: IUIBase
[junit] scanning for overrides: ILayoutChild
[junit] scanning for overrides: IParentIUIBase
[junit] scanning for overrides: IRoyaleElement
[junit] scanning for overrides: IStrandWithModel
[junit] scanning for overrides: IStrandWithModelView
[junit] scanning for overrides: IStyleableObject
[junit] scanning for overrides: UIBase
[junit] scanning for overrides: IContainer
[junit] scanning for overrides: IContentViewHost
[junit] scanning for overrides: ILayoutParent
[junit] scanning for overrides: ILayoutView
[junit] scanning for overrides: IStatesObject
[junit] scanning for overrides: GroupBase
[junit] scanning for overrides: IApplicationView
[junit] scanning for overrides: ViewBase
[junit] scanning for overrides: IMXMLDocument
[junit] scanning for overrides: View
[junit] scanning for overrides: MyInitialView
[junit] scanning for overrides: IItemConverter
[junit] scanning for overrides: JSONItemConverter
[junit] scanning for overrides: StockDataJSONItemConverter
[junit] scanning for overrides: EventDispatcher
[junit] scanning for overrides: MyModel
[junit] scanning for overrides: IBead
[junit] scanning for overrides: IBeadController
[junit] scanning for overrides: ComboBoxController
[junit] scanning for overrides: DropDownListController
[junit] scanning for overrides: EditableTextKeyboardController
[junit] scanning for overrides: ScrollBarMouseControllerBase
[junit] scanning for overrides: HScrollBarMouseController
[junit] scanning for overrides: ItemRendererMouseController
[junit] scanning for overrides: ListSingleSelectionMouseController
[junit] scanning for overrides: VScrollBarMouseController
[junit] scanning for overrides: IBeadLayout
[junit] scanning for overrides: LayoutBase
[junit] scanning for overrides: BasicLayout
[junit] scanning for overrides: HScrollBarLayout
[junit] scanning for overrides: VScrollBarLayout
[junit] scanning for overrides: VerticalLayout
[junit] scanning for overrides: IBeadModel
[junit] scanning for overrides: IRollOverModel
[junit] scanning for overrides: IDataProviderModel
[junit] scanning for overrides: ISelectionModel
[junit] scanning for overrides: ArraySelectionModel
[junit] scanning for overrides: IComboBoxModel
[junit] scanning for overrides: ComboBoxModel
[junit] scanning for overrides: DataProviderModel
[junit] scanning for overrides: IRangeModel
[junit] scanning for overrides: RangeModel
[junit] scanning for overrides: IScrollBarModel
[junit] scanning for overrides: ScrollBarModel
[junit] scanning for overrides: IBorderModel
[junit] scanning for overrides: SingleLineBorderModel
[junit] scanning for overrides: ITextModel
[junit] scanning for overrides: TextModel
[junit] scanning for overrides: IToggleButtonModel
[junit] scanning for overrides: ToggleButtonModel
[junit] scanning for overrides: IValueToggleButtonModel
[junit] scanning for overrides: ValueToggleButtonModel
[junit] scanning for overrides: IViewportModel
[junit] scanning for overrides: ViewportModel
[junit] scanning for overrides: IBeadView
[junit] scanning for overrides: BeadViewBase
[junit] scanning for overrides: CSSButtonView
[junit] scanning for overrides: CSSTextButtonView
[junit] scanning for overrides: CheckBoxView
[junit] scanning for overrides: IViewWithPopUp
[junit] scanning for overrides: IComboBoxView
[junit] scanning for overrides: ComboBoxView
[junit] scanning for overrides: ILayoutHost
[junit] scanning for overrides: GroupView
[junit] scanning for overrides: ContainerView
[junit] scanning for overrides: IItemRendererParent
[junit] scanning for overrides: IListView
[junit] scanning for overrides: DataContainerView
[junit] scanning for overrides: IDataProviderItemRendererMapper
[junit] scanning for overrides: 

Build failed in Jenkins: royale-compiler-integration-tests #360

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 156.46 KB...]
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:277: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   for (let i = isArrayLike ? 0 : 1; i < keys.length; i++) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:307: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:329: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:351: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const key = goog.object.findKey(obj, f, opt_this);
[junit]   ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:363: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:376: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const i in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:390: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: let declaration.
[junit]   let rv;
[junit]   ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:480: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const val = f();
[junit]   ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:495: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in a) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:500: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const k in b) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:520: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const res = {};
[junit]   ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:521: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   for (const key in obj) {
[junit]^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:545: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit]   const type = goog.typeOf(obj);
[junit]   ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:550: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] const clone = type == 'array' ? [] : {};
[junit] ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 
com.google.javascript.jscomp.LoggerErrorManager println
[junit] SEVERE: goog/object/object.js:551: ERROR - This language feature is 
only supported for ECMASCRIPT6 mode or better: const declaration.
[junit] for (const key in obj) {
[junit]  ^
[junit] 
[junit] Jan 08, 2020 5:04:14 AM 

Build failed in Jenkins: royale-compiler-integration-tests #359

2020-01-07 Thread apacheroyaleci
See 


Changes:


--
[...truncated 159.08 KB...]
[junit] scanning for overrides: ApplicationBase
[junit] scanning for overrides: IEventDispatcher
[junit] scanning for overrides: IInitialViewApplication
[junit] scanning for overrides: IParent
[junit] scanning for overrides: IPopUpHost
[junit] scanning for overrides: IPopUpHostParent
[junit] scanning for overrides: IRenderedObject
[junit] scanning for overrides: IStrand
[junit] scanning for overrides: Application
[junit] scanning for overrides: RoyaleTest_again_Flash
[junit] scanning for overrides: IDocument
[junit] scanning for overrides: MyController
[junit] scanning for overrides: HTMLElementWrapper
[junit] scanning for overrides: IId
[junit] scanning for overrides: IChild
[junit] scanning for overrides: IUIBase
[junit] scanning for overrides: ILayoutChild
[junit] scanning for overrides: IParentIUIBase
[junit] scanning for overrides: IRoyaleElement
[junit] scanning for overrides: IStrandWithModel
[junit] scanning for overrides: IStrandWithModelView
[junit] scanning for overrides: IStyleableObject
[junit] scanning for overrides: UIBase
[junit] scanning for overrides: IContainer
[junit] scanning for overrides: IContentViewHost
[junit] scanning for overrides: ILayoutParent
[junit] scanning for overrides: ILayoutView
[junit] scanning for overrides: IStatesObject
[junit] scanning for overrides: GroupBase
[junit] scanning for overrides: IApplicationView
[junit] scanning for overrides: ViewBase
[junit] scanning for overrides: IMXMLDocument
[junit] scanning for overrides: View
[junit] scanning for overrides: MyInitialView
[junit] scanning for overrides: IItemConverter
[junit] scanning for overrides: JSONItemConverter
[junit] scanning for overrides: StockDataJSONItemConverter
[junit] scanning for overrides: EventDispatcher
[junit] scanning for overrides: MyModel
[junit] scanning for overrides: IBead
[junit] scanning for overrides: IBeadController
[junit] scanning for overrides: ComboBoxController
[junit] scanning for overrides: DropDownListController
[junit] scanning for overrides: EditableTextKeyboardController
[junit] scanning for overrides: ScrollBarMouseControllerBase
[junit] scanning for overrides: HScrollBarMouseController
[junit] scanning for overrides: ItemRendererMouseController
[junit] scanning for overrides: ListSingleSelectionMouseController
[junit] scanning for overrides: VScrollBarMouseController
[junit] scanning for overrides: IBeadLayout
[junit] scanning for overrides: LayoutBase
[junit] scanning for overrides: BasicLayout
[junit] scanning for overrides: HScrollBarLayout
[junit] scanning for overrides: VScrollBarLayout
[junit] scanning for overrides: VerticalLayout
[junit] scanning for overrides: IBeadModel
[junit] scanning for overrides: IRollOverModel
[junit] scanning for overrides: IDataProviderModel
[junit] scanning for overrides: ISelectionModel
[junit] scanning for overrides: ArraySelectionModel
[junit] scanning for overrides: IComboBoxModel
[junit] scanning for overrides: ComboBoxModel
[junit] scanning for overrides: DataProviderModel
[junit] scanning for overrides: IRangeModel
[junit] scanning for overrides: RangeModel
[junit] scanning for overrides: IScrollBarModel
[junit] scanning for overrides: ScrollBarModel
[junit] scanning for overrides: IBorderModel
[junit] scanning for overrides: SingleLineBorderModel
[junit] scanning for overrides: ITextModel
[junit] scanning for overrides: TextModel
[junit] scanning for overrides: IToggleButtonModel
[junit] scanning for overrides: ToggleButtonModel
[junit] scanning for overrides: IValueToggleButtonModel
[junit] scanning for overrides: ValueToggleButtonModel
[junit] scanning for overrides: IViewportModel
[junit] scanning for overrides: ViewportModel
[junit] scanning for overrides: IBeadView
[junit] scanning for overrides: BeadViewBase
[junit] scanning for overrides: CSSButtonView
[junit] scanning for overrides: CSSTextButtonView
[junit] scanning for overrides: CheckBoxView
[junit] scanning for overrides: IViewWithPopUp
[junit] scanning for overrides: IComboBoxView
[junit] scanning for overrides: ComboBoxView
[junit] scanning for overrides: ILayoutHost
[junit] scanning for overrides: GroupView
[junit] scanning for overrides: ContainerView
[junit] scanning for overrides: IItemRendererParent
[junit] scanning for overrides: IListView
[junit] scanning for overrides: DataContainerView
[junit] scanning for overrides: IDataProviderItemRendererMapper
[junit] scanning for overrides: