Uploaded image for project: 'NPanday'
  1. NPanday
  2. NPANDAY-247

exe.config handling is hardcoded and will not deploy to the repository


    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Maven Plugins
    • Labels:
    • Codeplex ID:


      There are several problems with the current exe.config implementation.

      Firstly, for it to be installed in the local repository, it has to be in target\${project.artifactId}.exe.config. However, it is copied to that location only by the resgen plugin, which is not part of every build. In addition, the resgen plugin doesn't offer anyway to configure the source location - it is hardcoded to src/main/config/${project.artifactId}.exe.config

      Secondly, the POM of an installed project is modified to refer to the exe.config, which seems incorrect - while it is unfortunate that Maven doesn't have the concept of "dependency attachments" that are always obtained, it is best to stick with its correct model and declare the config dependency along side the use of the actual app.

      Thirdly, it is never deployed to the repository. The exe lifecycles use the Maven deploy plugin, not the npanday deploy plugin (which has special handling for exe.config). However, the NPanday deploy plugin further has a bug that the exe.config would be attached incorrectly anyway.

      Finally, there is no handling for *.dll.config.

      To correct this, I suggest a simplification:

      • remove the ApplicationConfig class from NPanday
      • remove the exe.config copying from the resgen plugin
      • remove the POM mutation from the installer
      • alter any packaging plugins that might have a config file to make the config file configurable by mojo parameters, and to attach the config file to the main project so that the default installers will handle it


          Issue Links



              • Assignee:
                brettporter Brett Porter
              • Votes:
                1 Vote for this issue
                0 Start watching this issue


                • Created: