Sling
  1. Sling
  2. SLING-1451

Clean up compiler API and use classloading infrastructure

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Commons Compiler 1.0.0
    • Fix Version/s: Commons Compiler 2.0.0
    • Component/s: Commons
    • Labels:
      None

      Description

      The current interface of the commons compiler is unnecessary complicated and does not use all of the features of the commons classloading infrastructure.

      We can:

      • remove the CompilerEnvironment interface - this can be handled internally
      • remove the ClassWriter interface - we have the ClassLoaderWriter interface in the commons classloader
      • change the options interface to extend a map - this allows us to add new options without changing interfaces/api
      • the compile unit interface can be changed to
        CompileUnit { InputStream getSource(); String getMainTypeName(); }

        This simplifies the integration with the rest of sling which is resource based.
        The JavaCompiler interface then just takes an array of compile units, an error handler and the options

        Activity

        Gavin made changes -
        Workflow re-open possible,doc-test-required [ 12788205 ] no-reopen-closed,doc-test-required [ 12791014 ]
        Gavin made changes -
        Workflow no-reopen-closed,doc-test-required [ 12766072 ] re-open possible,doc-test-required [ 12788205 ]
        Gavin made changes -
        Workflow Copy of no-reopen-closed,doc-test-required [ 12764460 ] no-reopen-closed,doc-test-required [ 12766072 ]
        Gavin made changes -
        Workflow no-reopen-closed,doc-test-required [ 12502326 ] Copy of no-reopen-closed,doc-test-required [ 12764460 ]
        Carsten Ziegeler made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Carsten Ziegeler made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Carsten Ziegeler made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Carsten Ziegeler made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Carsten Ziegeler created issue -

          People

          • Assignee:
            Carsten Ziegeler
            Reporter:
            Carsten Ziegeler
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development