[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-filesystem-cvs
Subject:    [Filesystem-cvs] local/platform/win smplfsys.rc, 1.4.108.1, 1.4.108.2
From:       dcollins () helixcommunity ! org
Date:       2013-10-09 21:33:09
[Download RAW message or body]

Update of /cvsroot/filesystem/local/platform/win
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv22665/platform/win

Modified Files:
      Tag: SERVER_NUCLEUS
	smplfsys.rc 
Log Message:
Synopsis
========
Implements RPD-2432: centralize RPDS server/plugin versioning

Branches:  SERVER_NUCLEUS
Reviewer:  Jamie


Description
===========
This implements a change that gives all executables and plugins in the
RPDS build the same version.  Prior to this, modules had their own
versions which were not always in sync.

The implementation accommodates Helix modules which are shared with
other products, like smplsys (even though we're on our own branch
for the foreseeable future, there was no legitimate reason to break
them with server-specific changes.)

The approach is to add a new .ver file to 
common/include/hxcommonversion.ver.  Also, a header is added in this 
same module,
hxcommonversion.h.  To enable the common module versioning, the build
profile should define HX_COMMON_VERSION_ENABLE.  (I used a name that
was not prefixed with HELIX_FEATURE_xxx in order to more easily get
this define when compiling Windows .rc files.)  The .ver and .h files
needed to be in a directory that all modules already have in their
includepath.

For RPDS-specific modules, each plugin was updated to replace it's
#include of "<modulename>.ver" with "hxcommonversion.h".  We can
also remove the .ver files once mercury-desktop-server.cf is updated.
Since we control these modules, we can just switch them to use
the new version header.

For common modules, each plugin was updated to add a #include of
"hxcommonversion.h" *after* it's module-specific .ver include.
If common versions are enabled, the .h file first undefs then
redefines the version values.  If common versions are not enabled,
the header does nothing.

Modules using the common version should #include "hxcommonversion.h"
instead of "hxcommonversion.ver".  Only hxcommonversion.h should
include this .ver file.

For the .bif files, I removed all has_version_file settings from
all modules for simplicity, and added this flag to the common_include
module.

This supports building sub-targets other than the full installer
while maintaining the common version.  It is easily adaptable
to other non-RPDS builds.


Files Affected
==============
Added:
common/include/hxcommonversion.h
common/include/hxcommonversion.ver

Modified:
mercury-desktop-server.cf
SERVER_NUCLEUS.bif
SERVER_NUCLEUS_deps.bif
server_rn/nucleus/aloha/alohaplin.cpp
server_rn/nucleus/aloha/platform/win/alohaplin.rc
server_rn/nucleus/analytics/metricspln/metricspln.cpp
server_rn/nucleus/analytics/metricspln/platform/win/metricspln.rc
server_rn/nucleus/cloud/manager/cloudmgr.cpp
server_rn/nucleus/cloud/manager/requestmgr.cpp
server_rn/nucleus/cloud/manager/platform/win/cldplin.rc
server_rn/nucleus/cms/cmsplin/platform/win/cmsplin.rc
server_rn/nucleus/common/launcher/platform/win/rpdslauncher.rc
server_rn/nucleus/common/mfx/platform/win/mfxtest.rc
server_rn/nucleus/common/util/test/platform/win/msgtest.rc
server_rn/nucleus/fs/transfs/transfspln.cpp
server_rn/nucleus/fs/transfs/platform/win/transfspln.rc
server_rn/nucleus/fs/webapi/webapipln.cpp
server_rn/nucleus/fs/webapi/platform/win/webapipln.rc
server_rn/nucleus/httpfsysshim/plugin.cpp
server_rn/nucleus/httpfsysshim/platform/win/plugin.rc
server_rn/nucleus/installer/package_info.cpp
server_rn/nucleus/installer/platform/win/postinst.cpp
server_rn/nucleus/installer/platform/win/res/instshell.rc2
server_rn/nucleus/sdk/cloud/api/platform/win/r1api.rc
server_rn/nucleus/sdk/cloud/com/resource.rc
filesystem/local/full/smplfsys.cpp
filesystem/local/platform/win/smplfsys.rc
protocol/sdp/sdpplin.cpp
protocol/sdp/platform/win/sdpplin.rc
server/installer/common/uninstall/platform/win/res/servuninst.rc2
server/log/tmplgpln/tmplgpln.cpp
server/log/tmplgpln/platform/win/tmplgpln.rc
server-restricted/common/util/sysinfo/hxsysinfo.cpp
server-restricted/engine/bin/requiredplugins.cpp
server-restricted/engine/bin/server_version.cpp
server-restricted/engine/bin/pub/server_version_data.h
server-restricted/installer/common/package_info.cpp
server-restricted/installer/common/platform/win/postinst.cpp
server-restricted/installer/common/platform/win/res/instshell.rc2

Deleted:
cloudshellextension/shellext.ver
server/common/runtime/platform/linux/servruntime.ver
server/installer/common/uninstall/servuninst.ver
server/log/tmplgpln/tmplgpln.ver
server-restricted/common/util/sysinfo/hxsysinfo.ver
server_rn/nucleus/aloha/alohaplin.ver
server_rn/nucleus/analytics/metricspln/metricspln.ver
server_rn/nucleus/cloud/manager/cldplin.ver
server_rn/nucleus/cms/cmsplin/cmsplin.ver
server_rn/nucleus/common/launcher/launcher.ver
server_rn/nucleus/common/mfx/mfxtest.ver
server_rn/nucleus/common/util/util.ver
server_rn/nucleus/engine/bin/server.ver
server_rn/nucleus/fs/transfs/transfspln.ver
server_rn/nucleus/fs/webapi/webapipln.ver
server_rn/nucleus/httpfsysshim/plugin.ver
server_rn/nucleus/sdk/cloud/api/r1api.ver
server_rn/nucleus/sdk/cloud/com/r1com.ver
systemtray/systemtray.ver


Testing Performed
=================
Unit Tests:
- None

Integration Tests:
- This builds on my dev system, with modules getting the expected
   version.

Leak Tests:
- None

Performance Tests:
- None

Platforms Tested:  Windows 7 / x86 (Release)
Builds Verified:  VC10 / x86 / Release


QA Hints
========
N/A



Index: smplfsys.rc
===================================================================
RCS file: /cvsroot/filesystem/local/platform/win/smplfsys.rc,v
retrieving revision 1.4.108.1
retrieving revision 1.4.108.2
diff -u -d -r1.4.108.1 -r1.4.108.2
--- smplfsys.rc	9 May 2013 16:56:52 -0000	1.4.108.1
+++ smplfsys.rc	9 Oct 2013 21:33:01 -0000	1.4.108.2
@@ -66,6 +66,7 @@
 
 #include "hxver.h"        // Defines for standard deliverables
 #include "smplfsys.ver"    // Defines for this deliverable created by GETFILES
+#include "hxcommonversion.h"
 
 VS_VERSION_INFO         VERSIONINFO
     FILEVERSION         TARVER_LIST_VERSION


_______________________________________________
Filesystem-cvs mailing list
Filesystem-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/filesystem-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic