Well the “type” is what we choose … also we can change the “classifier”s … the scope however is Maven-defined and we currently have to stick to that. But I’m happy to change naming, if that makes things easier.
Chris Am 15.02.17, 23:48 schrieb "Alex Harui" <aha...@adobe.com>: On 2/15/17, 1:09 PM, "Christofer Dutz" <christofer.d...@c-ware.de> wrote: >Ok … gee … think I still haven’t understood this completely ☹ Yeah, it is a bit tricky. I've been wondering whether the terms we currently use "typedefs", "externs", "runtime", "provided" are Maven standards or whether we can change some of them. In the dual branch, I am currently changing things so the Core.swc and CoreJS.swc are more like peers. They both contain .JS files, but the library.swf in Core is for SWF and the library.swf in CoreJS is for JS. I just want to get this working now, cut a release, then look into packing everything into one SWC. In light of that, my latest attempt to make categories for SWCs says that there are categories like: 1) External "Platform and JS Framework API" swcs. Playerglobal Airglobal Js Jquery Createjs Most of the flex-typedefs except for GCL. 2) External "JS Framework SWCs with SWF Mocks" We don't have any in the main repos but in flex-tourjs the BarcodeScanner makes a SWC like this. 3) Google Closure Library External SWCs GCL.swc Someday, some others. 4) SWF SWCs Core Binding Etc. 5) JS SWCs CoreJS BindingJS Etc. Bucket 1 always goes on the external-library-path for SWF and JS. Different ones are used for JS vs SWF. Bucket 2 goes on the external-library-path for JS, but on the library-path for SWF Bucket 3 goes on the library-path for JS and is not used for SWF unless it has a SWF Mock Bucket 4 goes on the external-library-path for SWC Bucket 4 goes on the library-path for SWF Bucket 5 goes on the library-path for cross-compiling to JS Bucket 5 goes on the external-library-path for building the library.swf for a JS.swc although it is probably ok if it is on the library-path. From another perspective, the JS within a SWC either uses goog.require or not. GCL.swc uses goog.require, as will other GCL-compatible code, and as our JS files do. That's why they go on the library-path for JS. But when building a SWF, you either want the code from a SWC's library.swf in your application so you use library-path or you don't and you use -external-library-path. This makes me think we need an easier-to-understand way to mark what is in a SWC and have the Mojo figure it out from there. I think we are currently using Typedefs + runtime to mean that it is meant for JS but doesn't use goog.require Typedefs by itself means that is meant for JS and uses goog.require Provided and Runtime seem to have the same meaning? If no typedefs it contains runnable ABC If no typedefs but provided it is bucket 1 for SWF. I think we just want to mark whether a SWC contains JS and/or runnable ABC and whether it contains goog.require or not. I'm not sure we have a combination right now for bucket 2, and the keywords might not have enough meaning to others. Can we use different keywords? Classifiers like "JS", "ABC", "JS+ABC", Scope of "usesGoog"? Thanks, -Alex