Movatterモバイル変換


[0]ホーム

URL:


CN114968261B - Application program compilation method and device - Google Patents

Application program compilation method and device
Download PDF

Info

Publication number
CN114968261B
CN114968261BCN202210731077.0ACN202210731077ACN114968261BCN 114968261 BCN114968261 BCN 114968261BCN 202210731077 ACN202210731077 ACN 202210731077ACN 114968261 BCN114968261 BCN 114968261B
Authority
CN
China
Prior art keywords
compilation
configuration file
target
tool
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.)
Active
Application number
CN202210731077.0A
Other languages
Chinese (zh)
Other versions
CN114968261A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co LtdfiledCriticalBeijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210731077.0ApriorityCriticalpatent/CN114968261B/en
Publication of CN114968261ApublicationCriticalpatent/CN114968261A/en
Application grantedgrantedCritical
Publication of CN114968261BpublicationCriticalpatent/CN114968261B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

Translated fromChinese

本公开提供了应用程序编译方法和装置,涉及计算机技术领域,具体涉及软件开发技术领域和代码编译技术领域。具体实现方案为:首先响应于接收到应用程序的编译请求,从多种编译工具中选择目标编译工具,该编译请求包括应用程序的开发任务信息,然后基于开发任务信息对应的开源代码库,通过目标编译工具创建对应的代码配置文件,并基于编译工具对应的预设操作,确定目标编译工具是否符合编译条件,最后响应于确定目标编译工具符合编译条件,基于开发任务信息对应的组件信息以及代码配置文件,通过目标编译工具进行编译开发,生成应用程序,针对同一个仓库同一个工程能够支持多种编译链配置,能够提高工程编译的灵活性和兼容性。

The present disclosure provides an application compilation method and device, which relates to the field of computer technology, and specifically to the field of software development technology and the field of code compilation technology. The specific implementation scheme is: first, in response to receiving a compilation request for an application, a target compilation tool is selected from a plurality of compilation tools, and the compilation request includes development task information of the application, and then based on the open source code library corresponding to the development task information, a corresponding code configuration file is created through the target compilation tool, and based on the preset operation corresponding to the compilation tool, it is determined whether the target compilation tool meets the compilation conditions, and finally, in response to determining that the target compilation tool meets the compilation conditions, based on the component information corresponding to the development task information and the code configuration file, the target compilation tool is used to compile and develop, and an application is generated, which can support multiple compilation chain configurations for the same warehouse and the same project, and can improve the flexibility and compatibility of project compilation.

Description

Application compiling method and device
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to the field of software development technologies and the field of code compiling technologies, and in particular, to an application program compiling method and apparatus.
Background
Open source component (open source Demo) engineering includes registration of applets, applet function interfaces, component implementation layers, applet capability extensions, and the like. At present, an open source Demo project is used for framework upgrading for integrating reference and small programs for an open source alliance host, multiple compiling tools need to be adapted simultaneously, and different compiling tools need to use the same code base and the open source Demo project simultaneously.
At present, if multiple compiling tools are needed to be used simultaneously, some open-source code adaptation work can be done in advance, or SDK integration is carried out by referring to open-source Demo engineering of other compiling tools.
Disclosure of Invention
The present disclosure provides an application program compiling method, apparatus, electronic device, storage medium, and computer program product.
According to one aspect of the disclosure, an application program compiling method is provided, and the method comprises the steps of responding to a received compiling request of an application program, selecting a target compiling tool from a plurality of compiling tools, wherein the compiling request comprises development task information of the application program, creating a corresponding code configuration file through the target compiling tool based on an open source code base corresponding to the development task information, determining whether the target compiling tool meets compiling conditions or not based on preset operation corresponding to the compiling tool, and carrying out compiling development through the target compiling tool to generate the application program based on component information and the code configuration file corresponding to the development task information in response to determining that the target compiling tool meets the compiling conditions.
According to another aspect of the present disclosure, there is provided an application program compiling apparatus including a selection module configured to select a target compiling tool from a plurality of compiling tools in response to receiving a compiling request of an application program, wherein the compiling request includes development task information of the application program, a creation module configured to create a corresponding code configuration file by the target compiling tool based on an open source code library corresponding to the development task information, a determination module configured to determine whether the target compiling tool meets a compiling condition based on a preset operation corresponding to the compiling tool, and a generation module configured to compile and develop by the target compiling tool based on component information corresponding to the development task information and the code configuration file in response to determining that the target compiling tool meets the compiling condition, to generate the application program.
According to another aspect of the present disclosure, there is provided an electronic device comprising at least one processor, and a memory communicatively coupled to the at least one processor, wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the application compilation method described above.
According to another aspect of the present disclosure, there is provided a computer-readable medium having stored thereon computer instructions for enabling a computer to perform the above-described application compiling method.
According to another aspect of the present disclosure, an embodiment of the present application provides a computer program product, which includes a computer program/instruction that when executed by a processor implements the above-described application compiling method.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are for a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1 is a flow chart of one embodiment of an application compilation method according to the present disclosure;
FIG. 2 is a schematic illustration of one application scenario of an application compilation method according to the present disclosure;
FIG. 3 is a flow chart of yet another embodiment of an application compilation method according to the present disclosure;
FIG. 4 is a flow chart of one embodiment of generating an application according to the present disclosure;
FIG. 5 is a flow chart of yet another embodiment of a generating application according to the present disclosure;
FIG. 6 is a flow chart of another embodiment of an application compilation method according to the present disclosure;
FIG. 7 is a schematic diagram of an embodiment of an application compilation apparatus according to the present disclosure;
fig. 8 is a block diagram of an electronic device for implementing the application compilation method of an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Referring to fig. 1, fig. 1 shows a flow diagram 100 of an embodiment of an application compilation method that may be applied to the present disclosure. The compiling method of the application program comprises the following steps:
In response to receiving the compiling request for the application, a target compiling tool is selected from the plurality of compiling tools, step 110.
In this embodiment, an execution body (for example, a terminal device) on which the application program compiling method is run may display a development interface of the application program to a developer through a screen, the developer may fill in development task information of the application program in the development interface, the development task information of the application program may include name information, function information and the like of the application program, and a compiling request of the application program may be generated according to the development task information of the application program. The execution body can receive a compiling request of a developer for the application program, and can extract development task information of the application program in the compiling request to acquire the development task information of the application program.
The execution body is provided with various compiling tools, and the compiling tools can comprise tools for developing and compiling application programs, can comprise Cocoapods, easybox and the like.
The developer may select a certain compiling tool in the development interface, the execution body may receive a selection operation of the developer on the certain compiling tool, determine the compiling tool corresponding to the selection operation as a target compiling tool for compiling the application program, so that the execution body selects the target compiling tool from multiple compiling tools according to the selection operation of the developer, and then compiling tools other than the target compiling tool in the multiple compiling tools are candidate compiling tools.
Or the execution body may store a relationship table in which development task information and a compiling tool are stored correspondingly, and each type of development task information may correspond to one compiling tool. The execution body can perform type analysis on development task information of the application program, determine the type of the development task information submitted by a developer, determine a compiling tool corresponding to the type of the development task information based on a relation table stored by the development task information and the compiling tool, and select the compiling tool from a plurality of compiling tools as a target compiling tool for compiling the application program, wherein compiling tools except the target compiling tool in the plurality of compiling tools are candidate compiling tools.
Step 120, creating a corresponding code configuration file through a target compiling tool based on the open source code library corresponding to the development task information.
In this embodiment, after the execution body determines the target compiling tool for compiling the application program, an acquisition request of the open source code library may be sent to the server according to development task information of the application program, where the acquisition request includes development task information of the application program. After receiving the acquisition request of the execution body, the server may return to the open source code library corresponding to the development task information according to the development task information of the application program in the acquisition request, and may return reference information of the open source code library or code information of the open source code library.
After the execution main body receives the open source code library corresponding to the development task information, the open source code library corresponding to the development task information can be created and compiled through a selected target compiling tool to generate a corresponding code configuration file, and the code configuration file can comprise the open source code library, version information and the like required by an application program. If the target compilation tool is CocoaPods, the code configuration file may be Podfile, and if the target compilation tool is Easybox, the code configuration file may be Boxfile.
Step 130, determining whether the target compiling tool meets the compiling condition based on the preset operation corresponding to the compiling tool.
In this embodiment, after the execution body determines the target compiling tool for compiling the application program, information analysis may be performed on the target compiling tool to determine whether the target compiling tool has performed a preset operation corresponding to the compiling tool, where the preset operation may represent an operation that multiple compiling tools can develop and compile on the same client with respect to the same open source code library and the same component information library, and may include an operation of deleting engineering configuration files corresponding to candidate compiling tools in multiple compiling tools, installing engineering configuration files of multiple compiling tools in the same target engineering catalog, and so on.
The execution main body determines whether the target compiling tool accords with the compiling condition by judging whether the target compiling tool has executed the preset operation corresponding to the finishing compiling tool or not, wherein the compiling condition can represent the condition that the target compiling tool can execute the compiling development of the application program, namely, if the execution main body determines that the target compiling tool has executed the preset operation corresponding to the finishing compiling tool, the execution main body determines that the target compiling tool accords with the compiling condition and can execute the subsequent step, if the execution main body determines that the target compiling tool does not execute the preset operation corresponding to the finishing compiling tool, the target compiling tool does not accord with the compiling condition, and the target compiling tool is required to execute the finishing preset operation first, and then the subsequent step can be executed.
And 140, in response to determining that the target compiling tool meets the compiling conditions, compiling and developing are performed through the target compiling tool based on the component information corresponding to the development task information and the code configuration file, and an application program is generated.
In this embodiment, the execution body may send, by determining that the target compiling tool meets the compiling condition, an acquisition request of the component information to the server according to development task information of the application program, where the acquisition request includes the development task information of the application program. After receiving the acquisition request of the execution body, the server may return the component information corresponding to the development task information according to the development task information of the application program in the acquisition request, and may return the reference information of the component information.
After the execution body receives the component information corresponding to the development task information, the execution body can compile and develop the component information and the code configuration file corresponding to the development task information through the selected target compiling tool. The execution body may generate xcconfig (environment variable) by executing an installation (install) instruction, build settings for configuring the whole project, including SEARCH PATH (search path), library path, and the like, by using a target compiling tool, and generate two scripts to be inserted into Build Phases (build stage) of compiling, so that the execution body may acquire a project configuration file corresponding to an application program through the target compiling tool, and generate a corresponding application program.
With continued reference to fig. 2, fig. 2 is a schematic diagram of an application scenario of the application compiling method according to the embodiment.
In the application scenario of fig. 2, the terminal 201 may display a development interface of an application program to a developer through a screen, the developer may fill in development task information of the application program in the development interface, the development task information of the application program may include name information, function information, and the like of the application program, the terminal 201 may generate a compiling request of the application program according to the development task information of the application program, obtain the development task information of the application program, and select a target compiling tool from a plurality of compiling tools according to a selection operation of the developer. Then, the terminal 201 acquires an open source code library corresponding to the development task information from the server 202 based on the development task information, and creates a corresponding code configuration file through a target compiling tool. Then, based on the preset operation corresponding to the compiling tool, the terminal 201 determines whether the target compiling tool meets the compiling condition, and if the target compiling tool meets the compiling condition, the terminal 201 can acquire the component information corresponding to the development task information from the server 202 based on the development task information, and compile and develop the component information and the code configuration file through the target compiling tool to generate the application program.
According to the application program compiling method provided by the embodiment of the disclosure, the target compiling tools are selected from a plurality of compiling tools by responding to the compiling request of the application program, the compiling request comprises development task information of the application program, then the corresponding code configuration file is created through the target compiling tools based on the open source code library corresponding to the development task information, and whether the target compiling tools meet the compiling conditions or not is determined based on the preset operation corresponding to the compiling tools, finally the compiling development is carried out through the target compiling tools in response to the fact that the target compiling tools meet the compiling conditions, the application program is generated, the same project of the same warehouse can support a plurality of compiling chain configurations, a user can select the required target compiling tools, the compatibility of the plurality of compiling tools for the same code library and the same open source style library is improved, so that the flexibility and the compatibility of engineering compiling can be improved, and the engineering configuration of the other compiling tools can be referred to in the compiling process for the engineering configuration of the engineering tools only by using one compiling tool, the open source version synchronization efficiency is improved, the adaptive working of the open source code can be carried out each time, and the compiling efficiency of the application program is improved.
Referring to fig. 3, fig. 3 shows a flowchart 300 of yet another embodiment of an application compilation method that may include the steps of:
in response to receiving the compilation request for the application, a target compilation tool is selected from the plurality of compilation tools, step 310.
Step 310 of this embodiment may be performed in a similar manner to step 110 of the embodiment shown in fig. 1, and is not repeated here.
Step 320, creating a corresponding code configuration file through a target compiling tool based on the open source code library corresponding to the development task information.
Step 320 of this embodiment may be performed in a similar manner to step 120 of the embodiment shown in fig. 1, and is not repeated here.
Step 330, it is detected whether the candidate compilation tool is in initial use.
In this embodiment, after the execution body selects the target compiling tool, the execution body may analyze and determine candidate compiling tools from a plurality of compiling tools, and detect whether the candidate compiling tools are used for the first time. The executing body can judge the local stored information, detect whether the local stored information comprises files generated by the candidate compiling tool in the using process, if the files generated by the candidate compiling tool in the using process exist, determine that the candidate compiling tool is not used for the first time, and if the files generated by the candidate compiling tool in the using process do not exist, determine that the candidate compiling tool is not used yet, and determine that the candidate compiling tool is used for the first time.
In step 340, in response to determining that the candidate compiling tool is not the first use, it is determined whether to delete the engineering configuration file corresponding to the candidate compiling tool, so as to determine that the target compiling tool meets the compiling condition.
In this embodiment, the execution body detects the local storage information to determine that the candidate compiling tool is not used for the first time, further analyzes the local storage information to determine whether the local storage information includes an engineering configuration file corresponding to the candidate compiling tool, where the engineering configuration file may be a configuration file generated by the compiling tool in the compiling development process, and determines whether to delete the engineering configuration file corresponding to the candidate compiling tool, so as to determine that the target compiling tool meets the compiling condition.
In step 350, in response to determining to delete the engineering configuration file corresponding to the candidate compiling tool, compiling and developing are performed through the target compiling tool based on the component information corresponding to the development task information and the code configuration file, and an application program is generated.
In this embodiment, the execution body further analyzes the locally stored information to determine that the engineering configuration file corresponding to the candidate compiling tool is not included, that is, determines that the engineering configuration file corresponding to the candidate compiling tool is deleted, and may determine that the target compiling tool meets the compiling condition, and then may send an acquisition request of the component information to the server according to the development task information of the application program, where the acquisition request includes the development task information of the application program. After receiving the acquisition request of the execution body, the server may return the component information corresponding to the development task information according to the development task information of the application program in the acquisition request, and may return the reference information of the component information.
After the execution body receives the component information corresponding to the development task information, the execution body can compile and develop the component information and the code configuration file corresponding to the development task information through the selected target compiling tool. The execution body may generate xcconfig (environment variable) by executing an installation (install) instruction, build settings for configuring the whole project, including SEARCH PATH (search path), library path, and the like, by using a target compiling tool, and generate two scripts to be inserted into Build Phases (build stage) of compiling, so that the execution body may acquire a project configuration file corresponding to an application program through the target compiling tool, and generate a corresponding application program.
In this embodiment, by detecting and judging the candidate compiling tool, before the target compiling tool executes the compiling and developing process, it is able to ensure that the project configuration file of the candidate compiling tool is deleted, and normal use of the target compiling tool can be ensured, so that compatibility of multiple compiling tools for the same code library and the same open source style library is improved, and for projects using only one compiling tool, the target compiling tool can also refer to project configuration of the candidate compiling tool in the compiling process, so that open source version synchronization efficiency is improved, adaptation work of open source codes is not required to be done each time, and efficiency of compiling an application program is improved.
Referring to fig. 4, fig. 4 shows a flowchart 400 of one embodiment of generating an application program, that is, the step 350, in response to determining to delete an engineering configuration file corresponding to a candidate compiling tool, performing compiling development by a target compiling tool based on component information corresponding to development task information and a code configuration file, and generating the application program, may include the steps of:
In step 410, in response to determining CocoaPods is not the first use, information extraction is performed on the engineering configuration file corresponding to CocoaPods to obtain CocoaPods a component workspace file, a code configuration file, a framework configuration file, and a configuration file of a build stage generated in the compiling process.
The target compilation tool may include Easybox and the candidate compilation tool may include CocoaPods. The candidate compilation tool CocoaPods may generate engineering configuration files such as a code configuration file (Podfile file), a component workspace file (swaapp demo. Workspace), a Framework configuration file (Pods folder and Framework folder), and a configuration file (Build Phases) of a build stage during compilation.
In this embodiment, the execution body may perform information extraction on the engineering configuration file corresponding to CocoaPods by detecting that CocoaPods is not the first use, and perform analysis and extraction on the file affecting the normal use of the target compiling tool Easybox in the engineering configuration file corresponding to CocoaPods, so as to obtain the engineering configuration files such as the code configuration file (Podfile file), the component workspace file (swaapp demo.work space), the Framework configuration file (Pods folder and Framework folder), and the configuration file (Build Phases) in the construction stage, which may be generated by the candidate compiling tool CocoaPods in the compiling process.
The code configuration files (Podfile files) may include a podfile.lock under the engineering folder (Podfile lock file automatically generated by the candidate compiling tool CocoaPods and used for saving a version of an installed Pods open source code library) and a Pods folder (all open source code library folders automatically generated by the candidate compiling tool CocoaPods) respectively, the frame configuration files (Pods folder and frame folder) may include a Pods folder and a frame folder in the engineering folder (swaapp demo. Project), and the configuration files (Build Phases) in the construction stage may include a Check Pods management.lock (script of configuration engineering), a Copy Pods Resources (resource copy script) and a Embeded Pods Frameworks (frameworks reference link) in the Build Phases option.
Step 420, delete CocoaPods component workspace files, code configuration files, framework configuration files, and configuration files of the build phase generated during the compilation process.
In this embodiment, after the execution body obtains CocoaPods the component workspace file, the code configuration file, the frame configuration file, and the configuration file of the build stage generated in the compiling process, the component workspace file, the code configuration file, the frame configuration file, and the configuration file of the build stage generated in the compiling process may be deleted CocoaPods.
In step 430, in response to determining to delete CocoaPods the corresponding engineering configuration file, compiling and developing are performed by Easybox based on the component information and the code configuration file corresponding to the development task information, so as to generate the application program.
In this embodiment, the execution body deletes the component workspace file, the code configuration file, the framework configuration file and the configuration file in the construction stage generated in the compiling process by CocoaPods, determines to delete the engineering configuration file corresponding to CocoaPods, and can compile and develop the component information and the code configuration file corresponding to the development task information through Easybox. The execution body may generate xcconfig (environment variable) by executing an install (install) instruction, build settings for configuring the whole project, including SEARCH PATH (search path), library path, and the like, by using Easybox, and generate two scripts to be inserted into Build Phases (build stage) of compiling, so that the execution body may acquire a project configuration file corresponding to an application program through Easybox, and generate a corresponding application program.
In this embodiment, by detecting and judging CocoaPods, before the compiling and developing process is executed in Easybox, it can be ensured that the engineering configuration file of CocoaPods is deleted, and normal use of Easybox can be ensured, so that compatibility of multiple compiling tools for the same code library and the same open source style library is improved, and for the engineering using only Easybox, easybox can also refer to engineering configuration of CocoaPods in the compiling process, so that open source version synchronization efficiency is improved, adaptation work of open source codes is not required to be done each time, and application compiling efficiency is improved.
Referring to fig. 5, fig. 5 shows a flowchart 500 of yet another embodiment of generating an application program, that is, step 350, in response to determining to delete an engineering configuration file corresponding to a candidate compiling tool, compiling and developing the application program by a target compiling tool based on component information corresponding to development task information and a code configuration file, and may further include the steps of:
In step 510, in response to determining Easybox is not the first use, information extraction is performed on the engineering configuration file corresponding to Easybox, so as to obtain a component workspace file, a code configuration file, a framework configuration file and an in-engineering box configuration file generated in the compiling process of Easybox.
The target compilation tool may include CocoaPods and the candidate compilation tool may include Easybox. The candidate compiling tool Easybox may generate a code configuration file (boxfile file), a component workspace file (swanappdemo.workspace), a Framework configuration file (resource copy script and Framework folder), and an engineering configuration file such as an engineering box configuration file (swanappdemo.debug.xccon fig) in the compiling process.
In this embodiment, the execution body may perform information extraction on the engineering configuration file corresponding to Easybox by detecting that Easybox is not the first use, and perform analysis and extraction on the file affecting normal use of the target compiling tool CocoaPods in the engineering configuration file corresponding to Easybox, so as to obtain the engineering configuration files such as the code configuration file (boxfile file), the component workspace file (swaapp demo.work space), the Framework configuration file (resource copy script and Framework folder), and the box configuration file (swaapp demo.debug.xcmonfig) in the engineering, which may be generated by the candidate compiling tool Easybox in the compiling process.
The code configuration files (boxfile files) may include, among other things, automatically generated easybox folders (candidate compilation tool Easybox automatically generates files for caching open source code libraries) and mgit folders (candidate compilation tool Easybox relies on a multiple warehouse management cache file for saving hook scripts and git logs of git, etc.), framework configuration files (resource copy scripts and Framework folders) may include resource copy scripts and frameworks reference links in engineering folders (swanappdemo. Project), and in-engineering box configuration files (swanappdemo. Debugong. Xccon fig.) may include box configurations in swanappdemo. Project, such as swanappdemo. Debugu. Xccon fig, etc.
Step 520, delete Easybox the component workspace file, code configuration file, framework configuration file, and in-engineering box configuration file generated during the compilation process.
In this embodiment, after the execution body obtains Easybox the component workspace file, the code configuration file, the frame configuration file, and the in-engineering box configuration file generated in the compiling process, the component workspace file, the code configuration file, the frame configuration file, and the in-engineering box configuration file generated in the compiling process may be deleted Easybox.
In step 530, in response to determining to delete Easybox the corresponding engineering configuration file, compiling and developing are performed by CocoaPods based on the component information and the code configuration file corresponding to the development task information, so as to generate the application program.
In this embodiment, the execution body deletes the project configuration file corresponding to Easybox based on the component information and the code configuration file corresponding to the development task information, determines to delete the project configuration file corresponding to Easybox, and may compile and develop the component information and the code configuration file corresponding to the development task information through CocoaPods. The execution body may generate xcconfig (environment variable) by executing an install (install) instruction, build settings for configuring the whole project, including SEARCH PATH (search path), library path, and the like, by using CocoaPods, and generate two scripts to be inserted into Build Phases (build stage) of compiling, so that the execution body may acquire a project configuration file corresponding to an application program through CocoaPods, and generate a corresponding application program.
In this embodiment, by detecting and judging Easybox, before the compiling and developing process is executed in CocoaPods, it can be ensured that the engineering configuration file of Easybox is deleted, and normal use of CocoaPods can be ensured, so that compatibility of multiple compiling tools for the same code library and the same open source style library is improved, and for the engineering using only CocoaPods, cocoaPods can also refer to engineering configuration of Easybox in the compiling process, so that open source version synchronization efficiency is improved, adaptation work of open source codes is not required to be done each time, and application compiling efficiency is improved.
Referring to fig. 6, fig. 6 shows a flowchart 600 of another embodiment of an application compilation method that may include the steps of:
In response to receiving the compiling request for the application, a target compiling tool is selected from the plurality of compiling tools, step 610.
Step 610 of this embodiment may be performed in a similar manner to step 110 of the embodiment shown in fig. 1, and is not repeated here.
Step 620, creating a corresponding code configuration file through a target compiling tool based on the open source code library corresponding to the development task information.
Step 620 of this embodiment may be performed in a similar manner to step 120 of the embodiment shown in fig. 1, and is not repeated here.
Step 630, it is determined whether the project profiles of the plurality of compiling tools are installed in the same target project catalog, so as to determine that the target compiling tools meet the compiling conditions.
In this step, the compiling tool may further include installing the project configuration files of the plurality of compiling tools in the same target project catalog for the preset operation, and then the execution body may analyze the installation positions of the project configuration files of the plurality of compiling tools to determine whether the project configuration files of the plurality of compiling tools are installed in the same target project catalog, so as to determine that the target compiling tool meets the compiling condition.
The execution main body can analyze the installation positions of the engineering files of the plurality of compiling tools, the engineering configuration files such as the component working space files and the like, and judge whether the engineering files of the plurality of compiling tools, the engineering configuration files such as the component working space files and the like are installed in the same target engineering catalog or not so as to determine that the target compiling tools meet the compiling conditions.
In response to determining that the project configuration files of the plurality of compilation tools are installed in the same target project catalog, a project file and a component workspace file corresponding to the target compilation tool are selected in the target project catalog, step 640.
In this step, the execution subject may determine that the project configuration files of the plurality of compiling tools are installed in the same target project catalog by determining that the project configuration files and the component workspace files corresponding to the target compiling tools are selected from the target project catalog.
Step 650, compiling and developing by the target compiling tool based on the engineering file, the component workspace file, the component information corresponding to the development task information and the code configuration file corresponding to the target compiling tool, and generating the application program.
In this step, after the execution body selects the project file and the component workspace file corresponding to the target compiling tool from the target project catalog, the component information and the code configuration file corresponding to the development task information may be compiled and developed by the target compiling tool using the corresponding project file and component workspace file. The execution body may generate xcconfig (environment variable) by executing an installation (install) instruction, build settings for configuring the whole project, including SEARCH PATH (search path), library path, and the like, by using a target compiling tool, and generate two scripts to be inserted into Build Phases (build stage) of compiling, so that the execution body may acquire a project configuration file corresponding to an application program through the target compiling tool, and generate a corresponding application program.
In this embodiment, by detecting and judging configuration files of multiple compiling tools, before the target compiling tool executes the compiling and developing process, it is ensured that engineering configuration files of multiple compiling tools are installed in the same target engineering catalog, normal use of the target compiling tool can be ensured, compatibility of multiple compiling tools for the same code library and the same open source style library is improved, and for engineering using only one compiling tool, the target compiling tool can also refer to engineering configuration of candidate compiling tools in the compiling process, so that open source version synchronization efficiency is improved, adaptation work of open source codes is not required to be done each time, and application program compiling efficiency is improved.
With further reference to fig. 7, as an implementation of the method shown in the foregoing figures, the present disclosure provides an embodiment of an application compiling apparatus, where the apparatus embodiment corresponds to the method embodiment shown in fig. 1, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 7, the application compiling apparatus 700 of the present embodiment includes a selecting module 710, a creating module 720, a determining module 730, and a generating module 740.
Wherein the selection module 710 is configured to select a target compilation tool from a plurality of compilation tools in response to receiving a compilation request of an application, wherein the compilation request includes development task information of the application;
a creating module 720 configured to create a corresponding code configuration file through a target compiling tool based on an open source code library corresponding to the development task information;
A determining module 730 configured to determine whether the target compiling tool meets the compiling condition based on a preset operation corresponding to the compiling tool;
the generating module 740 is configured to generate an application program by performing compilation development by the target compiling tool based on the component information and the code configuration file corresponding to the development task information in response to determining that the target compiling tool meets the compiling condition.
In some alternatives of this embodiment, the preset operation includes deleting an engineering configuration file corresponding to a candidate compiling tool in the plurality of compiling tools, and the determining module is further configured to detect whether the candidate compiling tool is first used, determine whether to delete the engineering configuration file corresponding to the candidate compiling tool to determine that the target compiling tool meets the compiling condition in response to determining that the candidate compiling tool is not first used, and generate the application program by compiling and developing the target compiling tool based on component information corresponding to development task information and the code configuration file in response to determining that the engineering configuration file corresponding to the candidate compiling tool is deleted.
In some alternatives of this embodiment, the target compilation tool includes Easybox, the candidate compilation tool includes CocoaPods, and the generation module is further configured to, in response to determining that CocoaPods is not initial use, extract information from the project configuration files corresponding to CocoaPods to obtain the component workspace files, the code configuration files, the frame configuration files, and the configuration files of the build phase generated during compilation CocoaPods, delete CocoaPods the component workspace files, the code configuration files, the frame configuration files, and the configuration files of the build phase generated during compilation, and in response to determining that the project configuration files corresponding to CocoaPods are deleted, compile and develop by Easybox based on the component information and the code configuration files corresponding to development task information to generate the application program.
In some alternatives of this embodiment, the target compilation tool includes CocoaPods, the candidate compilation tool includes Easybox, and the generation module is further configured to, in response to determining that Easybox is not first-time use, extract information from the project configuration files corresponding to Easybox to obtain Easybox a component workspace file, a code configuration file, a frame configuration file, and an in-project box configuration file generated during compilation, delete Easybox the component workspace file, the code configuration file, the frame configuration file, and the in-project box configuration file generated during compilation, and in response to determining that the project configuration file corresponding to Easybox is deleted, compile and develop by CocoaPods based on the component information and the code configuration file corresponding to development task information to generate the application program.
In some alternatives of this embodiment, the preset operation further includes installing engineering configuration files of multiple compiling tools in the same target engineering catalog, and the determining module is further configured to determine whether the engineering configuration files of the multiple compiling tools are installed in the same target engineering catalog to determine that the target compiling tools meet compiling conditions, and the generating module is further configured to select the engineering files and the component workspace files corresponding to the target compiling tools in the target engineering catalog in response to determining that the engineering configuration files of the multiple compiling tools are installed in the same target engineering catalog, and compile and develop the application program by the target compiling tools based on the engineering files, the component workspace files, the component information corresponding to the development task information, and the code configuration files corresponding to the target compiling tools.
According to the application program compiling device provided by the embodiment of the disclosure, the target compiling tools are selected from a plurality of compiling tools by responding to the compiling request of the application program, the compiling request comprises development task information of the application program, then the corresponding code configuration file is created through the target compiling tools based on the open source code library corresponding to the development task information, and whether the target compiling tools meet the compiling conditions or not is determined based on the preset operation corresponding to the compiling tools, finally the compiling development is carried out through the target compiling tools in response to the fact that the target compiling tools meet the compiling conditions, the application program is generated, the same project of the same warehouse can support a plurality of compiling chain configurations, a user can select the required target compiling tools, the compatibility of the plurality of compiling tools for the same code library and the same open source style library is improved, so that the flexibility and the compatibility of engineering compiling can be improved, and the engineering configuration of the other compiling tools can be referred to in the compiling process for the engineering configuration of the engineering tools only by using one compiling tool, the open source version synchronization efficiency is improved, the adaptive working of the open source code can be carried out each time, and the compiling efficiency of the application program is improved.
Those skilled in the art will appreciate that the above-described apparatus also includes some other well-known structures, such as a processor, memory, etc., which are not shown in fig. 7 in order to unnecessarily obscure embodiments of the present disclosure.
In the technical scheme of the disclosure, the related processes of collecting, storing, using, processing, transmitting, providing, disclosing and the like of the personal information of the user accord with the regulations of related laws and regulations, and the public order colloquial is not violated.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
Fig. 8 illustrates a schematic block diagram of an example electronic device 800 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 8, the electronic device 800 includes a computing unit 801 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 802 or a computer program loaded from a storage unit 808 into a Random Access Memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. An input/output (I/O) interface 805 is also connected to the bus 804.
Various components in the electronic device 800 are connected to the I/O interface 805, including an input unit 806 such as a keyboard, a mouse, etc., an output unit 807 such as various types of displays, speakers, etc., a storage unit 808 such as a magnetic disk, an optical disk, etc., and a communication unit 809 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 801 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 801 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as an application compiling method. For example, in some embodiments, the application compilation method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 800 via ROM 802 and/or communication unit 809. When a computer program is loaded into RAM 803 and executed by computing unit 801, one or more steps of the application compilation method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the application compilation method by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be a special or general purpose programmable processor, operable to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user, for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a Local Area Network (LAN), a Wide Area Network (WAN), and the Internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel or sequentially or in a different order, provided that the desired results of the technical solutions of the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (15)

Translated fromChinese
1.一种应用程序编译方法,包括:1. A method for compiling an application, comprising:响应于接收到应用程序的编译请求,从多种编译工具中选择目标编译工具,其中,所述编译请求包括所述应用程序的开发任务信息;In response to receiving a compilation request of an application, selecting a target compilation tool from a plurality of compilation tools, wherein the compilation request includes development task information of the application;基于所述开发任务信息对应的开源代码库,通过所述目标编译工具创建对应的代码配置文件;Based on the open source code library corresponding to the development task information, creating a corresponding code configuration file through the target compilation tool;基于编译工具对应的预设操作,确定所述目标编译工具是否符合编译条件,所述预设操作包括删除所述多种编译工具中候选编译工具对应的工程配置文件,所述候选编译工具为所述多种编译工具中除所述目标编译工具之外的编译工具,包括:检测所述候选编译工具是否为初次使用;响应于确定所述候选编译工具不是初次使用,判断是否删除所述候选编译工具对应的工程配置文件,以确定所述目标编译工具符合所述编译条件;Determining whether the target compilation tool meets the compilation condition based on a preset operation corresponding to the compilation tool, the preset operation comprising deleting a project configuration file corresponding to a candidate compilation tool among the multiple compilation tools, the candidate compilation tool being a compilation tool other than the target compilation tool among the multiple compilation tools, comprising: detecting whether the candidate compilation tool is used for the first time; in response to determining that the candidate compilation tool is not used for the first time, determining whether to delete the project configuration file corresponding to the candidate compilation tool to determine that the target compilation tool meets the compilation condition;响应于确定所述目标编译工具符合编译条件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序。In response to determining that the target compilation tool meets the compilation condition, based on the component information corresponding to the development task information and the code configuration file, the target compilation tool is used to perform compilation development to generate the application program.2.根据权利要求1所述的方法,其中,所述响应于确定所述目标编译工具符合编译条件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序,包括:2. The method according to claim 1, wherein, in response to determining that the target compilation tool meets the compilation condition, based on the component information corresponding to the development task information and the code configuration file, compile and develop by the target compilation tool to generate the application, comprising:响应于确定删除所述候选编译工具对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序。In response to determining to delete the project configuration file corresponding to the candidate compilation tool, the target compilation tool is used to perform compilation and development based on the component information corresponding to the development task information and the code configuration file to generate the application.3.根据权利要求2所述的方法,其中,所述目标编译工具包括Easybox;所述候选编译工具包括CocoaPods;以及,3. The method according to claim 2, wherein the target compilation tool comprises Easybox; the candidate compilation tool comprises CocoaPods; and所述响应于确定删除所述候选编译工具对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序,包括:In response to determining to delete the project configuration file corresponding to the candidate compilation tool, based on the component information corresponding to the development task information and the code configuration file, compile and develop by the target compilation tool to generate the application, including:响应于确定所述CocoaPods不是初次使用,对所述CocoaPods对应的工程配置文件进行信息提取,得到所述CocoaPods在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及构建阶段的配置文件;In response to determining that the CocoaPods is not used for the first time, extracting information from a project configuration file corresponding to the CocoaPods to obtain a component workspace file, a code configuration file, a framework configuration file, and a configuration file for the build phase generated by the CocoaPods during the compilation process;删除所述CocoaPods在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及构建阶段的配置文件;Delete the component workspace files, code configuration files, framework configuration files, and configuration files generated by CocoaPods during the compilation process;响应于确定删除所述CocoaPods对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述Easybox进行编译开发,生成所述应用程序。In response to determining to delete the project configuration file corresponding to the CocoaPods, based on the component information corresponding to the development task information and the code configuration file, compile and develop through the Easybox to generate the application.4.根据权利要求2所述的方法,其中,所述目标编译工具包括CocoaPods;所述候选编译工具包括Easybox;以及,4. The method according to claim 2, wherein the target compilation tool comprises CocoaPods; the candidate compilation tool comprises Easybox; and所述响应于确定删除所述候选编译工具对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序,包括:In response to determining to delete the project configuration file corresponding to the candidate compilation tool, based on the component information corresponding to the development task information and the code configuration file, compile and develop by using the target compilation tool to generate the application, including:响应于确定所述Easybox不是初次使用,对所述Easybox对应的工程配置文件进行信息提取,得到所述Easybox在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及工程中box配置文件;In response to determining that the Easybox is not used for the first time, extracting information from a project configuration file corresponding to the Easybox to obtain a component workspace file, a code configuration file, a framework configuration file, and a box configuration file in the project generated by the Easybox during the compilation process;删除所述Easybox在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及工程中box配置文件;Delete the component workspace file, code configuration file, framework configuration file, and box configuration file in the project generated by Easybox during the compilation process;响应于确定删除所述Easybox对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述CocoaPods进行编译开发,生成所述应用程序。In response to determining to delete the project configuration file corresponding to the Easybox, based on the component information corresponding to the development task information and the code configuration file, compile and develop through the CocoaPods to generate the application.5.根据权利要求1所述的方法,其中,所述预设操作还包括所述多种编译工具的工程配置文件安装在同一目标工程目录中;以及,5. The method according to claim 1, wherein the preset operation further comprises installing the project configuration files of the multiple compilation tools in the same target project directory; and所述基于编译工具对应的预设操作,确定所述目标编译工具是否符合编译条件,包括:The determining whether the target compilation tool meets the compilation condition based on the preset operation corresponding to the compilation tool includes:判断所述多种编译工具的工程配置文件是否安装在同一目标工程目录中,以确定所述目标编译工具符合所述编译条件。It is determined whether the project configuration files of the multiple compilation tools are installed in the same target project directory to determine whether the target compilation tool meets the compilation condition.6.根据权利要求5所述的方法,其中,所述响应于确定所述目标编译工具符合编译条件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序,包括:6. The method according to claim 5, wherein, in response to determining that the target compilation tool meets the compilation condition, based on the component information corresponding to the development task information and the code configuration file, compile and develop by the target compilation tool to generate the application, comprising:响应于确定所述多种编译工具的工程配置文件安装在同一目标工程目录中,在所述目标工程目录中选定所述目标编译工具对应的工程文件和组件工作空间文件;In response to determining that the project configuration files of the multiple compilation tools are installed in the same target project directory, selecting the project files and component workspace files corresponding to the target compilation tools in the target project directory;基于所述目标编译工具对应的工程文件、组件工作空间文件、所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序。Based on the project file corresponding to the target compilation tool, the component workspace file, the component information corresponding to the development task information, and the code configuration file, the target compilation tool is used to perform compilation and development to generate the application.7.一种应用程序编译装置,包括:7. An application compilation device, comprising:选择模块,被配置成响应于接收到应用程序的编译请求,从多种编译工具中选择目标编译工具,其中,所述编译请求包括所述应用程序的开发任务信息;A selection module configured to select a target compilation tool from a plurality of compilation tools in response to receiving a compilation request of an application, wherein the compilation request includes development task information of the application;创建模块,被配置成基于所述开发任务信息对应的开源代码库,通过所述目标编译工具创建对应的代码配置文件;A creation module configured to create a corresponding code configuration file through the target compilation tool based on the open source code library corresponding to the development task information;确定模块,被配置成基于编译工具对应的预设操作,确定所述目标编译工具是否符合编译条件,所述预设操作包括删除所述多种编译工具中候选编译工具对应的工程配置文件,所述候选编译工具为所述多种编译工具中除所述目标编译工具之外的编译工具,包括:检测所述候选编译工具是否为初次使用;响应于确定所述候选编译工具不是初次使用,判断是否删除所述候选编译工具对应的工程配置文件,以确定所述目标编译工具符合所述编译条件;a determination module configured to determine whether the target compilation tool meets the compilation condition based on a preset operation corresponding to the compilation tool, the preset operation comprising deleting a project configuration file corresponding to a candidate compilation tool among the multiple compilation tools, the candidate compilation tool being a compilation tool other than the target compilation tool among the multiple compilation tools, comprising: detecting whether the candidate compilation tool is used for the first time; and in response to determining that the candidate compilation tool is not used for the first time, determining whether to delete the project configuration file corresponding to the candidate compilation tool to determine that the target compilation tool meets the compilation condition;生成模块,被配置成响应于确定所述目标编译工具符合编译条件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序。The generation module is configured to generate the application by compiling and developing with the target compilation tool based on the component information corresponding to the development task information and the code configuration file in response to determining that the target compilation tool meets the compilation condition.8.根据权利要求7所述的装置,其中,所述生成模块,进一步被配置成:响应于确定删除所述候选编译工具对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序。8. The apparatus according to claim 7, wherein the generating module is further configured to: in response to determining to delete the project configuration file corresponding to the candidate compilation tool, generate the application by compiling and developing through the target compilation tool based on the component information corresponding to the development task information and the code configuration file.9.根据权利要求8所述的装置,其中,所述目标编译工具包括Easybox;所述候选编译工具包括CocoaPods;以及,9. The apparatus according to claim 8, wherein the target compilation tool comprises Easybox; the candidate compilation tool comprises CocoaPods; and所述生成模块,进一步被配置成:响应于确定所述CocoaPods不是初次使用,对所述CocoaPods对应的工程配置文件进行信息提取,得到所述CocoaPods在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及构建阶段的配置文件;删除所述CocoaPods在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及构建阶段的配置文件;响应于确定删除所述CocoaPods对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述Easybox进行编译开发,生成所述应用程序。The generation module is further configured to: in response to determining that the CocoaPods is not used for the first time, extract information from the project configuration file corresponding to the CocoaPods to obtain the component workspace file, code configuration file, framework configuration file and construction phase configuration file generated by the CocoaPods during the compilation process; delete the component workspace file, code configuration file, framework configuration file and construction phase configuration file generated by the CocoaPods during the compilation process; in response to determining that the project configuration file corresponding to the CocoaPods is deleted, compile and develop through the Easybox based on the component information corresponding to the development task information and the code configuration file to generate the application.10.根据权利要求8所述的装置,其中,所述目标编译工具包括CocoaPods;所述候选编译工具包括Easybox;以及,10. The apparatus according to claim 8, wherein the target compilation tool comprises CocoaPods; the candidate compilation tool comprises Easybox; and,所述生成模块,进一步被配置成:响应于确定所述Easybox不是初次使用,对所述Easybox对应的工程配置文件进行信息提取,得到所述Easybox在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及工程中box配置文件;删除所述Easybox在编译过程中生成的组件工作空间文件、代码配置文件、框架配置文件以及工程中box配置文件;响应于确定删除所述Easybox对应的工程配置文件,基于所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述CocoaPods进行编译开发,生成所述应用程序。The generation module is further configured to: in response to determining that the Easybox is not used for the first time, extract information from the project configuration file corresponding to the Easybox to obtain the component workspace file, code configuration file, framework configuration file and box configuration file in the project generated by the Easybox during the compilation process; delete the component workspace file, code configuration file, framework configuration file and box configuration file in the project generated by the Easybox during the compilation process; in response to determining to delete the project configuration file corresponding to the Easybox, compile and develop through the CocoaPods based on the component information corresponding to the development task information and the code configuration file to generate the application.11.根据权利要求7所述的装置,其中,所述预设操作还包括所述多种编译工具的工程配置文件安装在同一目标工程目录中;以及,11. The apparatus according to claim 7, wherein the preset operation further comprises installing the project configuration files of the plurality of compilation tools in the same target project directory; and所述确定模块,进一步被配置成:判断所述多种编译工具的工程配置文件是否安装在同一目标工程目录中,以确定所述目标编译工具符合所述编译条件。The determination module is further configured to: determine whether the project configuration files of the multiple compilation tools are installed in the same target project directory, so as to determine whether the target compilation tool meets the compilation condition.12.根据权利要求11所述的装置,其中,所述生成模块,进一步被配置成:响应于确定所述多种编译工具的工程配置文件安装在同一目标工程目录中,在所述目标工程目录中选定所述目标编译工具对应的工程文件和组件工作空间文件;基于所述目标编译工具对应的工程文件、组件工作空间文件、所述开发任务信息对应的组件信息以及所述代码配置文件,通过所述目标编译工具进行编译开发,生成所述应用程序。12. The apparatus according to claim 11, wherein the generating module is further configured to: in response to determining that the project configuration files of the multiple compilation tools are installed in the same target project directory, select the project files and component workspace files corresponding to the target compilation tool in the target project directory; based on the project files and component workspace files corresponding to the target compilation tool, the component information corresponding to the development task information, and the code configuration file, compile and develop through the target compilation tool to generate the application.13.一种电子设备,包括:13. An electronic device, comprising:至少一个处理器;以及at least one processor; and与所述至少一个处理器通信连接的存储器;其中,a memory communicatively connected to the at least one processor; wherein,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。14. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 6.15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1所述方法的步骤。15. A computer program product, comprising a computer program/instruction, characterized in that the computer program/instruction implements the steps of the method according to claim 1 when executed by a processor.
CN202210731077.0A2022-06-242022-06-24 Application program compilation method and deviceActiveCN114968261B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202210731077.0ACN114968261B (en)2022-06-242022-06-24 Application program compilation method and device

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202210731077.0ACN114968261B (en)2022-06-242022-06-24 Application program compilation method and device

Publications (2)

Publication NumberPublication Date
CN114968261A CN114968261A (en)2022-08-30
CN114968261Btrue CN114968261B (en)2025-06-27

Family

ID=82965192

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202210731077.0AActiveCN114968261B (en)2022-06-242022-06-24 Application program compilation method and device

Country Status (1)

CountryLink
CN (1)CN114968261B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN119127217B (en)*2024-11-142025-03-04联通在线信息科技有限公司 MailCore2 component integration configuration file generation method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110377290A (en)*2019-07-222019-10-25阿里巴巴集团控股有限公司A kind of method, device and equipment of purpose project compiling
CN114168150A (en)*2021-12-102022-03-11北京鲸鲮信息系统技术有限公司Application program compiling method and device, electronic equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7340726B1 (en)*2003-08-082008-03-04Coverity, Inc.Systems and methods for performing static analysis on source code
US8365153B2 (en)*2007-10-262013-01-29Qualcomm IncorporatedServer-based code compilation
CN109976748A (en)*2019-02-282019-07-05南京南瑞继保电气有限公司A kind of program processing method, terminal, server and computer storage medium
CN111475165A (en)*2020-03-082020-07-31苏州浪潮智能科技有限公司 An application program intelligent compilation method, system, terminal and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110377290A (en)*2019-07-222019-10-25阿里巴巴集团控股有限公司A kind of method, device and equipment of purpose project compiling
CN114168150A (en)*2021-12-102022-03-11北京鲸鲮信息系统技术有限公司Application program compiling method and device, electronic equipment and storage medium

Also Published As

Publication numberPublication date
CN114968261A (en)2022-08-30

Similar Documents

PublicationPublication DateTitle
US10860339B2 (en)Autonomous creation of new microservices and modification of existing microservices
US10481884B2 (en)Systems and methods for dynamically replacing code objects for code pushdown
US9411711B2 (en)Adopting an existing automation script to a new framework
CN112068852B (en)Method, system, equipment and medium for installing open-source software based on domestic server
CN113050940B (en) Mini-program preview method, related device and computer program product
CN110895471A (en) Installation package generation method, device, medium and electronic device
CN111752843A (en)Method, device, electronic equipment and readable storage medium for determining influence surface
CN111475164B (en) Component dependency detection method, device and electronic device
WO2017020459A1 (en)Method and apparatus for configuring plugin package for host
KR20150061203A (en)Method for providing embedded software development tools for supporting embedded software development environment based on native building and apparatus thereof
CN111459504A (en)Intelligent contract processing method, device, equipment and storage medium
CN113127361B (en)Application development method and device, electronic equipment and storage medium
CN114968261B (en) Application program compilation method and device
CN112817660A (en)Method, device, equipment and storage medium for expanding small program capacity
JP7393404B2 (en) Compiling method, compiling device, electronic device, storage medium and program
CN117520195B (en) Method, device, equipment, storage medium and program product for testing interface
CN117608584A (en)Multi-program compiling method, device, equipment and storage medium
CN114168150B (en) Application compilation method, device, electronic device and storage medium
CN117435503A (en)Test tool generation method, test device, test equipment and test medium
CN110245066B (en) Application operating environment creation method, creation device, electronic device and storage medium
CN115080382A (en)Code testing method, device, equipment and medium
CN118427635B (en)Application processing method and device, electronic equipment and computer readable storage medium
CN113760765B (en)Code testing method and device, electronic equipment and storage medium
CN119127217B (en) MailCore2 component integration configuration file generation method and device
CN118152250A (en) Application programming interface testing method, device, equipment, medium and program product

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp