[SERVER-7118] Integrate Enterprise Build into Build System Created: 24/Sep/12  Updated: 02/Aug/18  Resolved: 23/Oct/12

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: 2.3.1

Type: Task Priority: Major - P3
Reporter: Eric Milkie Assignee: Andy Schwerin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-7332 Separate command line processing from... Closed
Participants:

 Description   

The current module system used for the enterprise build operates as a non-standard extension to the behavior of SCons. By replacing it with a system for discovering SConscript files, it will facilitate adding tests for enterprise-only features, library dependencies, and more.

The basic approach will be for the master SConstruct file to discover SConscript files for modules in the same way that it currently discovers build.py module configuration files. However, it will process these SConscript files in the same way that other SConscripts in the build system are processed. That means that these SConscripts will be able to import the "env" environment to describe build rules for libraries and tests.

A simple procedure for adding more library dependencies to mongod, mongos and friends will be necessary, and will be achieved by setting variables in the "env" environment, or through a specially named set of exported SConstruct variables.



 Comments   
Comment by auto [ 23/Oct/12 ]

Author:

{u'date': u'2012-10-18T13:07:39-07:00', u'email': u'schwerin@10gen.com', u'name': u'Andy Schwerin'}

Message: SERVER-7118 Change "mongo modules" to use SConscript files for modules.

Also allows you to have modules in mongos and the shell, as well as mongod.
Requires changes to the modules, to have SConscript files, and define libraries.
Allows modules to have unit tests, interesting linking rules, dependencies into
mongo, etc.

Still may need to do some work on includes. The mongo-enterprise module has very
simple include requirements, today.
Branch: master
https://github.com/mongodb/mongo/commit/2716c5467a5c171d6af5cfcbda5e63508e48f6ef

Comment by auto [ 08/Oct/12 ]

Author:

{u'date': u'2012-10-04T15:22:41-07:00', u'email': u'schwerin@10gen.com', u'name': u'Andy Schwerin'}

Message: SERVER-7118 Fix include order and whitespace in module.h/cpp
Branch: master
https://github.com/mongodb/mongo/commit/9a401a506af1f516cf591563d5d77c2cc4739977

Generated at Thu Feb 08 03:13:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.