5 Replies Latest reply on Oct 16, 2009 10:29 AM by dmlloyd

    Redundant WAR deployer redundancy

    dmlloyd

      The subclasses of AbstractVFSStructureDeployer are not consistently distributed among projects.

      FileStructure and JARStructure are in jboss-deployers-vfs, while EARStructure is in jboss-as-server. WARStructure is duplicated in both jboss-deployers-vfs and jboss-as-server.

      Where should these classes exist? At the least, WARStructure should be moved to one place or the other.

        • 1. Re: Redundant WAR deployer redundancy
          alesj

           

          "david.lloyd@jboss.com" wrote:

          Where should these classes exist? At the least, WARStructure should be moved to one place or the other.

          It depends on their dependencies.

          e.g. EARStructure depends on JBossAppMetaData, which is definitely
          something I don't wanna pull in for Deployers (--> keeping the project generic)
          Whereas WarStructure, doesn't have any ext dependency, hence should/could only live in Deployers.

          I guess when I was porting WarStructure from AS to Deployers
          I left it in AS for back compatibility.
          This should be removed for AS trunk --> only keeping the one in Deployers.

          • 2. Re: Redundant WAR deployer redundancy
            emuckenhuber

             

            "alesj" wrote:

            I guess when I was porting WarStructure from AS to Deployers
            I left it in AS for back compatibility.
            This should be removed for AS trunk --> only keeping the one in Deployers.


            AFAIK there was a discussion last year to only keep the WarStructure in the AS codebase and have a mock implementation for the deployers tests only. Adrian then ported the WarStructure to AS.

            • 3. Re: Redundant WAR deployer redundancy
              alesj

               

              "emuckenhuber" wrote:

              AFAIK there was a discussion last year to only keep the WarStructure in the AS codebase and have a mock implementation for the deployers tests only. Adrian then ported the WarStructure to AS.

              What was the reason to do so?

              For me it makes more sense to keep the one in Deployers,
              as then I don't have to fix/port any new features when I "mock" the .war deployment in Deployers.
              And with .wars being mostly the only ones that have a bit diff CL policy,
              we do/should use WarStructure a lot.

              Perhaps if the AS WarStructure would in the future use some of the ext metadata classes,
              we should just make sure there are properly exposed hooks in Deployer's WarStructure,
              and make AS's AdvancedWarStrucutre extends WarStrucutre.

              • 4. Re: Redundant WAR deployer redundancy
                emuckenhuber

                 

                "alesj" wrote:
                "emuckenhuber" wrote:

                AFAIK there was a discussion last year to only keep the WarStructure in the AS codebase and have a mock implementation for the deployers tests only. Adrian then ported the WarStructure to AS.

                What was the reason to do so?

                For me it makes more sense to keep the one in Deployers,
                as then I don't have to fix/port any new features when I "mock" the .war deployment in Deployers.
                And with .wars being mostly the only ones that have a bit diff CL policy,
                we do/should use WarStructure a lot.

                Perhaps if the AS WarStructure would in the future use some of the ext metadata classes,
                we should just make sure there are properly exposed hooks in Deployer's WarStructure,
                and make AS's AdvancedWarStrucutre extends WarStrucutre.


                There was a bug in the WarStructure and it would have required a deployers release. I think that all War*Deployers should be in the same project, as they belong together - tests should go there as well. As long as it does not affect the core functionality of the deployers.


                • 5. Re: Redundant WAR deployer redundancy
                  dmlloyd

                  Well, I'm not updating it in two places, and leaving "mock" code around is rather useless I would say.

                  So... take your pick ;)