• Ralph Morelli's avatar
    Addresses Issue #259 -- implements annotations for component libraries (jars) · bd0f0111
    Ralph Morelli authored
    The main result of this change is that libraries are now conditionally loaded
    into the packaged app depending on what libraries are used by the components
    in the app. (Repl still loads all libraries for all components.)
    
    Adds the new class components/annotations/UsesLibraries.java and revises
    scripts/ComponentListGenerator.java and ComponentProcess.java, which are
    used to process annotations.
    
    Revised Compiler.java to dynamically construct the classpath and the
    dxCommand line from the annotations.
    
    Revised Twitter component to add an annotation:
    
      @UsesLibraries(libraries = "twitter4j.jar")
    
    Tested on existing projects, such as HelloPurr to confirm that Twitter
    library is not loaded into HelloPurr.apk.
    
    10/14: This changes does not affect the Ya version number or the
        Twitter component version.
    
    10/15: Fixed copyright, removed commented-out code, as per reviewer's
        suggestions.
    
    Change-Id: I7acb5d8e2702d47b8f2bdc8f0746ef7d550963c2
    bd0f0111
build.xml 16.5 KB