CN104199715A - 一种同一工程下编译不同版本产品的方法及系统 - Google Patents

一种同一工程下编译不同版本产品的方法及系统 Download PDF

Info

Publication number
CN104199715A
CN104199715A CN201410457075.2A CN201410457075A CN104199715A CN 104199715 A CN104199715 A CN 104199715A CN 201410457075 A CN201410457075 A CN 201410457075A CN 104199715 A CN104199715 A CN 104199715A
Authority
CN
China
Prior art keywords
product
compiling
different editions
configuration information
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410457075.2A
Other languages
English (en)
Inventor
余伟民
伍本强
杨远彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhangzhou Malata Technology Co., Ltd.
Original Assignee
NANJING MALATA TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANJING MALATA TECHNOLOGY Co Ltd filed Critical NANJING MALATA TECHNOLOGY Co Ltd
Priority to CN201410457075.2A priority Critical patent/CN104199715A/zh
Publication of CN104199715A publication Critical patent/CN104199715A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种同一工程下编译不同版本产品的方法,所述方法包括如下步骤:步骤1、找出项目差异化的控制变量并记录下来;步骤2、根据不同产品的功能设置不同的配置信息;步骤3、通过界面显示给编译者产品的配置选项,选择不同产品的配置信息;步骤4、对项目进行编译,并结合编译环境的全局变量编译定制的产品。本发明还提供一种同一工程下编译不同版本产品的系统,包括分析模块、设计模块、选择模块和编译模块。本发明实现在同一工程下编译不同版本的产品,避免了差异化较小的不同产品的重复新建工程,便于后续维护。

Description

一种同一工程下编译不同版本产品的方法及系统
技术领域
本发明涉及一种同一工程下编译不同版本产品的方法及系统。
背景技术
存在这种客户要求,同一型号衍生出多种不同需求的项目,而多种不同需求的项目,型号要求一样,不便于新建工程,也不便后续维护。例如要在一个项目A上根据不同客户的不同需求衍生出4款定制产品,而4款产品名称都是A,这样重命名使得无法在代码库中新建工程,也不便于后期的维护,若将这些差异不大的产品分别用不同名字建立工程,则增加了工作量。
发明内容
本发明要解决的技术问题之一,在于提供一种同一工程下编译不同版本产品的方法,通过对不同版本产品的配置信息进行控制,实现在同一工程下编译不同版本的产品。
本发明要解决的技术问题之一是这样实现的:一种同一工程下编译不同版本产品的方法,包括如下步骤:
步骤1、找出项目差异化的控制变量并记录下来;
步骤2、根据产品的需求并通过控制变量设置不同版本产品的配置信息;
步骤3、选择所需版本的产品;
步骤4、对项目进行编译时,脚本根据所选择的产品自动加载该产品的配置信息,编译系统结合编译环境的全局变量编译定制的产品。
进一步的,所述步骤1还包括增加新变量来对新特性进行控制。
进一步的,所述步骤3具体为:通过shell脚本的方式制定一与编译人员交互的界面,通过界面提供给编译者可选择产品的版本信息,供编译者选择其所需版本的产品。
进一步的,所述配置信息为差异化的控制变量的具体值。
本发明要解决的技术问题之二,在于提供一种同一工程下编译不同版本产品的系统,通过对不同版本产品的配置信息进行控制,实现在同一项目下控制编译不同版本的产品。
本发明要解决的技术问题之二是这样实现的:一种同一工程下编译不同版本产品的系统,包括:
分析模块:用于找出项目差异化的控制变量并记录下来;
设计模块:用于根据产品的需求并通过控制变量设置不同版本产品的配置信息;
选择模块:用于选择所需版本的产品;
编译模块:用于对项目进行编译时,脚本根据所选择的产品自动加载该产品的配置信息,编译系统结合编译环境的全局变量编译定制的产品。
进一步的,所述分析模块还用于增加新变量来对新特性进行控制。
进一步的,所述选择模块具体为:通过shell脚本的方式制定一与编译人员交互的界面,通过界面提供给编译者可选择产品的版本信息,供编译者选择其所需版本的产品。
进一步的,所述配置信息为差异化的控制变量的具体值。
本发明具有如下优点:本发明通过增加变量配置的脚本,对变量进行统一管理和控制,实现在同一工程下编译不同版本的产品,避免了差异化较小的不同产品的重复新建工程,便于后续维护。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施方式
如图1所示,一种同一工程下编译不同版本产品的方法,对新特性则增加新变量来对新特性进行控制,包括如下步骤:
步骤1、找出项目的差异化的控制变量并记录下来,所述差异化包括Logo的不同、版本的不同、资源类的不同、输入法的不同、动画的不同和Modem的不同等,例如,要在一个名称为A的项目上做出4款存在差异化的定制产品,则需要找出这4种版本的产品的差异化控制变量并记录下来:
"BOOT_LOGO","CUSTOM_BUILD_VERNO",
"RESOURCE_OVERLAY_SUPPORT",
"DEFAULT_INPUT_METHOD";
步骤2、根据产品的需求并通过控制变量设置不同版本产品的配置信息,配置信息为差异化的控制变量的具体值,如为以上4款中的1款产品设置产品的配置信息:
"BOOT_LOGO=SK_3G",
"CUSTOM_BUILD_VERNO=11",
"RESOURCE_OVERLAY_SUPPORT=a",
"DEFAULT_INPUT_METHOD=baidushurufa";
步骤3、选择所需版本的产品,通过shell脚本的方式制定一与编译人员交互的界面,通过界面提供给编译者可选择产品的版本信息,供编译者选择其所需版本的产品,如引入CUSTOMER_NAME用来区分4个产品,该值可为:SK、GR、CZ和HU,其中SK、GR、CZ和HU表示4个客户名;
步骤4、对项目进行编译时,脚本通过makefile语言判断所选择的产品的CUSTOMER_NAME值,根据该值自动加载该产品的配置信息来控制该产品需要的内容或特性,编译系统结合编译环境的全局变量编译定制的产品。
本发明的一种同一工程下编译不同版本产品的系统,包括:
分析模块:用于找出项目的差异化的控制变量并记录下来,所述差异化包括Logo的不同、版本的不同、资源类的不同、输入法的不同、动画的不同和Modem的不同等,例如,要在一个名称为A的项目上做出4款存在差异化的定制产品,则需要找出这4种版本的产品的差异化控制变量并记录下来:
"BOOT_LOGO","CUSTOM_BUILD_VERNO",
"RESOURCE_OVERLAY_SUPPORT",
"DEFAULT_INPUT_METHOD";
设计模块:用于根据产品的需求并通过控制变量设置不同版本产品的配置信息,配置信息为差异化的控制变量的具体值,如为以上4款中的1款产品设置产品的配置信息:
"BOOT_LOGO=SK_3G",
"CUSTOM_BUILD_VERNO=11",
"RESOURCE_OVERLAY_SUPPORT=a",
"DEFAULT_INPUT_METHOD=baidushurufa";
选择模块:用于选择所需版本的产品,通过shell脚本的方式制定一与编译人员交互的界面,通过界面提供给编译者可选择产品的版本信息,供编译者选择其所需版本的产品,如引入CUSTOMER_NAME用来区分4个产品,该值可为:SK、GR、CZ和HU,其中SK、GR、CZ和HU表示4个客户名;
编译模块:用于对项目进行编译时,脚本通过makefile语言判断所选择的产品的CUSTOMER_NAME值,根据该值自动加载该产品的配置信息来控制该产品需要的内容或特性,编译系统结合编译环境的全局变量编译定制的产品。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (8)

1.一种同一工程下编译不同版本产品的方法,其特征在于:包括如下步骤:
步骤1、找出项目差异化的控制变量并记录下来;
步骤2、根据产品的需求并通过控制变量设置不同版本产品的配置信息;
步骤3、选择所需版本的产品;
步骤4、对项目进行编译时,脚本根据所选择的产品自动加载该产品的配置信息,编译系统结合编译环境的全局变量编译定制的产品。
2.根据权利要求1所述的一种同一工程下编译不同版本产品的方法,其特征在于:所述步骤1还包括增加新变量来对新特性进行控制。
3.根据权利要求1所述的一种同一工程下编译不同版本产品的方法,其特征在于:所述步骤3具体为:通过shell脚本的方式制定一与编译人员交互的界面,通过界面提供给编译者可选择产品的版本信息,供编译者选择其所需版本的产品。
4.根据权利要求1所述的一种同一工程下编译不同版本产品的方法,其特征在于:所述配置信息为差异化的控制变量的具体值。
5.一种同一工程下编译不同版本产品的系统,其特征在于:包括:
分析模块:用于找出项目差异化的控制变量并记录下来;
设计模块:用于根据产品的需求并通过控制变量设置不同版本产品的配置信息;
选择模块:用于选择所需版本的产品;
编译模块:用于对项目进行编译时,脚本根据所选择的产品自动加载该产品的配置信息,编译系统结合编译环境的全局变量编译定制的产品。
6.根据权利要求5所述的一种同一工程下编译不同版本产品的系统,其特征在于:所述分析模块还用于增加新变量来对新特性进行控制。
7.根据权利要求5所述的一种同一工程下编译不同版本产品的系统,其特征在于:所述选择模块具体为:通过shell脚本的方式制定一与编译人员交互的界面,通过界面提供给编译者可选择产品的版本信息,供编译者选择其所需版本的产品。
8.根据权利要求5所述的一种同一工程下编译不同版本产品的系统,其特征在于:所述配置信息为差异化的控制变量的具体值。
CN201410457075.2A 2014-09-10 2014-09-10 一种同一工程下编译不同版本产品的方法及系统 Pending CN104199715A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410457075.2A CN104199715A (zh) 2014-09-10 2014-09-10 一种同一工程下编译不同版本产品的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410457075.2A CN104199715A (zh) 2014-09-10 2014-09-10 一种同一工程下编译不同版本产品的方法及系统

Publications (1)

Publication Number Publication Date
CN104199715A true CN104199715A (zh) 2014-12-10

Family

ID=52085012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410457075.2A Pending CN104199715A (zh) 2014-09-10 2014-09-10 一种同一工程下编译不同版本产品的方法及系统

Country Status (1)

Country Link
CN (1) CN104199715A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843623A (zh) * 2016-03-29 2016-08-10 乐视控股(北京)有限公司 目标程序的生成方法和装置
CN106020918A (zh) * 2016-04-29 2016-10-12 广州小百合信息技术有限公司 电视软件编译方法及系统
CN109976619A (zh) * 2019-03-27 2019-07-05 携程计算机技术(上海)有限公司 微信小程序运行环境的切换系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226722A1 (en) * 2006-03-24 2007-09-27 Chou Yuan C Method and apparatus for selectively executing different executable code versions which are optimized in different ways
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN102566986A (zh) * 2010-12-10 2012-07-11 上海晨兴希姆通电子科技有限公司 Td无线固话软件版本管理系统及其应用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226722A1 (en) * 2006-03-24 2007-09-27 Chou Yuan C Method and apparatus for selectively executing different executable code versions which are optimized in different ways
CN102566986A (zh) * 2010-12-10 2012-07-11 上海晨兴希姆通电子科技有限公司 Td无线固话软件版本管理系统及其应用方法
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843623A (zh) * 2016-03-29 2016-08-10 乐视控股(北京)有限公司 目标程序的生成方法和装置
CN106020918A (zh) * 2016-04-29 2016-10-12 广州小百合信息技术有限公司 电视软件编译方法及系统
CN106020918B (zh) * 2016-04-29 2020-01-17 广州朗国电子科技有限公司 电视软件编译方法及系统
CN109976619A (zh) * 2019-03-27 2019-07-05 携程计算机技术(上海)有限公司 微信小程序运行环境的切换系统及方法

Similar Documents

Publication Publication Date Title
US8417798B2 (en) Deploying artifacts for packaged software application in cloud computing environment
Hammar et al. The realestatecore ontology
US8789015B2 (en) Integrated application localization
US10402308B2 (en) Sandboxing for custom logic
CN108984160B (zh) 基于组件化的信息化快速开发框架系统
CN102375733A (zh) 一种便捷的界面布局方法
AU2011213842B2 (en) A system and method of managing mapping information
CN102521120A (zh) 一种软件自动化测试系统及方法
CN103903086A (zh) 一种基于业务模型驱动的管理信息系统开发方法及系统
CN104199715A (zh) 一种同一工程下编译不同版本产品的方法及系统
CN103631590A (zh) 自动化测试脚本的编辑方法
US11029978B2 (en) Industrial controller and method for automatically creating user interface
Daniotti et al. Benefits and challenges using BIM for operation and maintenance
CN103279347A (zh) 一种通用的软件产品线领域模型与应用模型的同步方法
CN105718434A (zh) 一种自然语言公式编辑方法和系统
CN101303663A (zh) 一种数字机顶盒软件开发模拟测试方法
Prehofer et al. From IoT mashups to model-based IoT
KR100993309B1 (ko) Rfid 비즈니스 이벤트 모델링 시스템
Paternò et al. User task-based development of multi-device service-oriented applications.
CN110119502A (zh) 一种基于ofd文档实现动态表单域的方法
Glohr et al. The IT factory: a vision of standardization and automation
KR102382703B1 (ko) 어플리케이션 개발을 위한 멀티채널통합플랫폼 저작장치 및 저작방법
Vellis et al. Towards a new generation of MBUI engineering methods: Supporting polymorphic instantiation in synchronous collaborative and ubiquitous environments
WO2023142058A1 (zh) 信息处理方法、装置、系统、计算设备和计算机可读介质
Rawat et al. Introduction to Azure Data Factory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180906

Address after: 363000 a factory building of Jingcheng Malata Industrial Park, Nanjing County, Zhangzhou, Fujian.

Applicant after: Zhangzhou Malata Technology Co., Ltd.

Address before: 363000 Malata Nanjing Industrial Park, Zhangzhou, Fujian

Applicant before: Nanjing Malata Technology Co., Ltd.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141210