Create a JS fragment or similar that includes all JS necessary files
--------------------------------------------------------------------

                 Key: MOJO-1139
                 URL: http://jira.codehaus.org/browse/MOJO-1139
             Project: Mojo
          Issue Type: New Feature
          Components: javascript-tools
         Environment: n/a
            Reporter: Harlan Iverson


Create a JS fragment or similar that includes all JS necessary files.

Please leave feedback, maybe discuss on list.

The end result of this is two things:

- convenience and a (more) compelling reason to use Maven for JS builds (where 
MAKE seems to have a lot of traction, what the?)
- the foundation for functionality needed to create the biggest, most bad-assed 
Google AJAX API killer ever.

Think: 
Mate Maven JS artifacts with the Dojo dependency system

This would be the use case:

I have MyCoolLib that depends on Prototype and Scriptaculous. 
MyCoolLib is broken into core, and sub-functionalities A and B. Scriptaculous 
and possibly Prototype are further broken up using this same model.

I want to be able to include MyCoolLib (any sub module) and everything that it 
requires to run without explicitly knowing assembly/file names of packages that 
are depended upon within the HTML file. 

===================================
Prototype
 |
 +- prototype.js


Scriptaculous
 |
 +- scriptaculous.js
 |
 +- dragdrop.js
 |
 +- slider.js


MyCoolLibrary
 |
 +- coolstuff_core.js
 |
 +- coolstuff_a.js
 |
 +- coolstuff_b.js
===================================

Order matters for both dependencies and local files (assemblies). MyCoolLib 
might be one or more JS files, and the order of its own files matter--likewise 
for each dependency.

- One possible solution could be to always assume that every artifact has only 
one assembly. 
- Another would be to add an intra-assembly dependency extension to the 
assembler document, in its own namespace.

===================================

<assembler 
xmlns:dep="http://mojo.codehaus.org/javascript-maven-tools/#assembly-dependency";>
  <scripts>
    <script>
      <dep:dep script="prototype.js" groupId="com.prototype" 
artifactId="prototype"/>
      <fileName>coolstuff_core.js</fileName>
      <includes><!-- ... --></includes>
    </script>

    <script>
      <dep:dep script="coolstuff_core.js"/>
      <!-- slider depends on dragdrop, depends on scriptaculous, depends on 
prototype (which is already depended on by core) -->
      <dep:dep script="slider.js" groupId="com.scriptaculous" 
artifactId="scriptaculous"/>
      <fileName>coolstuff_a.js</fileName>
      <includes><!-- ... --></includes>
    </script>

    <script>
      <dep:dep script="coolstuff_core.js"/>
      <fileName>coolstuff_a.js</fileName>
      <includes><!-- ... --></includes>
    </script>
  </scripts>
</assembler>

===================================

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to