[
https://issues.apache.org/jira/browse/QPID-2924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928779#action_12928779
]
Chuck Rolke commented on QPID-2924:
-----------------------------------
I've resolved this issue without actually refactoring the kit.
I think a reasonable user can figure out how to set up the \bin directory for
debug and release DLLs without too much difficulty. As-patched the kit now does
not require the user to individually change the assembly reference to the DLLs,
which is a huge pain point.
Now the org.apache.qpid.messaging* assembly DLLs keep the same name whether
debug or release in keeping with the .NET naming convention.
> Refactor WinSDK to create separate debug and release /bin directories
> ---------------------------------------------------------------------
>
> Key: QPID-2924
> URL: https://issues.apache.org/jira/browse/QPID-2924
> Project: Qpid
> Issue Type: Improvement
> Affects Versions: 0.7
> Environment: WinSDK build
> Reporter: Chuck Rolke
> Assignee: Chuck Rolke
> Fix For: 0.7
>
>
> In the current WinSDK the \bin directory has become overloaded and difficult
> to use.
> The directory currently holds:
> * Boost (debug and release)
> * Qpid libraries (debug and release)
> * MSVC runtime (release)
> * .NET Messaging Binding libraries (debug)
> A user may:
> 1. To Compile/Run Debug
> 1a. C++ - Load the project and go
> 1b. .NET - Load the project and go.
> 2. To Compile/Run Release
> 2a. C++ - Load the project, flip the settings, and go
> 2b. .NET - Unpack the release libraries from zip, load the project, flip
> settings and references, and go
> After building the examples the \bin directory has 78 files in it.
> As a developer this isn't really that bad. But for a new user it gets harder
> to explain, particularly for the .NET examples. Between debug and release,
> C++ (.vcproj) projects have a simple way to specify differently-named
> libraries and differently named output files. .NET (.csproj) projects are not
> so simple: changing the names of a dependent library involve removing a
> reference and adding a references to the new file, and there is no great way
> at all to change the name of an output file.
> Currently the bld-winsdk procedure produces two zip files, one each for x86
> and x64 platforms. I propose to change the build to produce four zip files:
> x86-debug, x86-release, x64-debug, and x64-release. This has advantages and
> disadvantages:
> Advantages:
> * Each \bin directory is smaller and more easily understood
> * The directory arrangement prevents a user from mixing libraries from
> incompatible (debug vs release) component builds.
> * Customer's will have an easier time copying the kit's basic binary
> distribution as the debug and release parts are separate, and
> * Customer will not have to unzip and manage debug and release versions of a
> files that share the same name.
> * Kit consumers have already asked for this.
> Disadvantages:
> * There will be extra copies of identical example source files and project
> setting files.
> Implementing this will involve NO CHANGE to the qpid messaging library
> compile settings, minor changes to the .NET binding settings, and some
> moderate hacking in the bld-winsdk.ps1 script.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]