Torque
  1. Torque
  2. TORQUE-50

Supporting local and add-on Generator "Override" jars

    Details

      Description

      <From an e-mail proposal talked about on the torque-dev list>

      I've been looking at how to package, document, contribute
      my betwixt map/dtd generation code. As Thomas pointed out,
      it's not truely mainstream Torque but might be a useful
      addon. Anyway, this got me thinking about how to best
      support template and/or generator local modifications or
      add-on.

      If the generator build scripts supplied by the Torque
      distro had classpaths that first tried to add any
      *-override.jar files before the distro files, then
      Templates and generator classes could easily be locally
      overriden. This is trivial to do with the Ant
      torque-build.xml. I assume that it would be easy in Maven?

      If no *override.jar files exist, it's a standard install.
      But if you've got local changes to implement or want to
      use a supplied add-on, just add *override.jar files to the
      correct directory(s) and use the standard generation
      processes.

      IMHO, this seems cleaner than trying to maintain a full
      customized template or generator distros. If a new
      version comes out, just grab the standard, check for
      any gottcha's between it and your modified code, add back
      in your override jars. All the benefits of a new version
      with your local mods included.

      In a lot of cases, like changes to sql generation
      templates (e.g. MySQL Table options ) or new db
      adaptor support (like Informix/MSSQL7), this will be
      very easy. These areas don't change a lot or are
      mostly new templates.

      It also allows for easier add-on contributions. An add-on
      could be supplied as a set of jars that are simply put in
      the correct directories using common How-To instructions.
      The add-in supplier just needs to document any additional
      settings.

      It's not perfect since add-on's can override each other
      and break... but it's better than it was.

      1. custom-templates.xml
        10 kB
        CG Monroe
      2. how-templates-work.xml
        7 kB
        CG Monroe
      3. Generator Override Support.zip
        17 kB
        CG Monroe

        Activity

        CG Monroe created issue -
        CG Monroe made changes -
        Field Original Value New Value
        Attachment Generator Override Support.zip [ 12338499 ]
        CG Monroe made changes -
        Attachment Generator Override Support.zip [ 12338500 ]
        CG Monroe made changes -
        Attachment custom-templates.xml [ 12342755 ]
        Attachment how-templates-work.xml [ 12342756 ]
        Thomas Vandahl made changes -
        Resolution Won't Fix [ 2 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Thomas Vandahl made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            CG Monroe
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development