Uploaded image for project: 'Torque'
  1. Torque
  2. TORQUE-50

Supporting local and add-on Generator "Override" jars

    XMLWordPrintableJSON

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.

      Attachments

        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

          People

            Unassigned Unassigned
            monroe CG Monroe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: