CN112230930A - Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium - Google Patents

Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium Download PDF

Info

Publication number
CN112230930A
CN112230930A CN202011138764.9A CN202011138764A CN112230930A CN 112230930 A CN112230930 A CN 112230930A CN 202011138764 A CN202011138764 A CN 202011138764A CN 112230930 A CN112230930 A CN 112230930A
Authority
CN
China
Prior art keywords
stack
technology
technology stack
task
packaging
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
CN202011138764.9A
Other languages
Chinese (zh)
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.)
Beike Technology Co Ltd
Original Assignee
Beike 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 Beike Technology Co Ltd filed Critical Beike Technology Co Ltd
Priority to CN202011138764.9A priority Critical patent/CN112230930A/en
Publication of CN112230930A publication Critical patent/CN112230930A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The embodiment of the invention provides a method and a device for constructing and packaging a hybrid technology stack and a machine-readable storage medium, belonging to the field of constructing and packaging large-scale mobile application. The method comprises the following steps: constructing a technical stack task corresponding to the Flutter technical stack into a technical stack AAR package; constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; and merging the technology stack AAR packet and the technology stack JAR packet to form a plug-in task JAR packet. Therefore, hybrid development and packaging of the technology of the stack Flutter in the latest technology are supported.

Description

Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium
Technical Field
The invention relates to the field of large-scale mobile application building and packaging, in particular to a method and a device for building and packaging a hybrid technology stack and a machine-readable storage medium.
Background
The 'construction and packaging' is characterized in that source codes written by technicians cannot be directly used by users in the field of mobile application development. The source code needs to be compiled and converted into a language which can be recognized by the mobile terminal through a specific mechanism and process, and packaged into an integral file. After the user downloads and installs this file, the user can use the functions that they provide. This mechanism and process of converting and packaging is called "build packaging".
The latest 'Flutter technology' is a Google open-source UI toolkit, helps developers to efficiently construct multi-platform exquisite applications through a set of code libraries, and supports mobile, Web, desktop and embedded platforms. Flutter is free of source and free of charge, has a loose source-opening protocol, and is suitable for commercial projects. Similar to the Android technology which is now well known.
The current traditional construction packing scheme is: assuming that the current project belongs to a large and medium-sized project, 5 service lines (new house, second-hand house, decoration, lease, overseas, and the like) exist, and the current project comprises various technical stacks (Android, Kotlin, Swift, Objective-C, and the like), the packaging process is as follows: all service lines are set as different plug-ins according to the definition list of the shell project (final main project), and then the plug-ins of each service line are packed one by one. And the process of packaging the plug-ins also can make specific custom packaging logic based on the technical stack adopted by the plug-ins. The packing process of each plug-in or technology stack is allocated to a task, and then the packing tasks are executed one by one under the condition that the packing resources are idle. The traditional construction packaging scheme has the following disadvantages: (1) the hybrid development and packaging of the latest technology stack Flutter technology cannot be supported; (2) the time cost is high, one project can be usually split into 7 and 8 independent packaging tasks and executed in series, and waiting is needed when no resource exists; (3) the resources are wasted, the full packaging is carried out without difference, only one line of codes of one service plug-in is changed, and the whole packaging is needed, so that the resources are wasted; (4) the failure rate is extremely high, different service line plug-ins belong to different development teams, and if any one plug-in fails to be constructed, the final results of all tasks fail.
Disclosure of Invention
It is an object of embodiments of the present invention to provide a method and apparatus for hybrid technology stack build packaging and a machine-readable storage medium, which solve, or at least partially solve, the above technical problems.
To achieve the above object, an aspect of the embodiments of the present invention provides a method for hybrid technology stack build packaging, including: constructing a technical stack task corresponding to the Flutter technical stack into a technical stack AAR package; constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; and merging the technology stack AAR packet and the technology stack JAR packet to form a plug-in task JAR packet.
Optionally, building and packaging corresponding to different technology stack tasks are performed in parallel.
Optionally, the method further comprises: and before constructing and packaging the technology stack task corresponding to any one of the mixed technology stacks, judging whether the technology stack task needs to be constructed and packaged.
Optionally, the determining whether the technology stack task needs to be constructed and packaged includes determining whether at least one of the following items exists: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change.
Optionally, each plug-in task includes a plurality of technology stack tasks, and the packing corresponding to different plug-in tasks is performed in parallel.
Optionally, the function of the technology stack task corresponding to the Flutter technology stack adopts a reverse proxy mechanism to perform delayed loading.
Accordingly, another aspect of the embodiments of the present invention provides an apparatus for hybrid technology stack build packaging, the apparatus comprising: the Flutter technology stack construction and packaging module is used for constructing a technology stack task corresponding to the Flutter technology stack into a technology stack AAR package; the other technology stack constructing and packaging module is used for constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; and the plug-in task packing module is used for combining the technology stack AAR package and the technology stack JAR package to form a plug-in task JAR package.
Optionally, building and packaging corresponding to different technology stack tasks are performed in parallel.
Optionally, the apparatus further comprises: and the judging module is used for judging whether the technology stack task needs to be constructed and packaged before constructing and packaging the technology stack task corresponding to any one of the mixed technology stacks.
Optionally, the determining module determines whether the technology stack task needs to be constructed and packaged includes determining whether at least one of the following components exists: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change.
Optionally, each plug-in task includes a plurality of technology stack tasks, and the packing corresponding to different plug-in tasks is performed in parallel.
Optionally, the function of the technology stack task corresponding to the Flutter technology stack adopts a reverse proxy mechanism to perform delayed loading.
In addition, another aspect of the embodiments of the present invention also provides a machine-readable storage medium, which stores instructions for causing a machine to execute the above-mentioned method.
In addition, another aspect of the embodiments of the present invention also provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the program, the method described above is implemented.
According to the technical scheme, the technical stack task corresponding to the Flutter technical stack is constructed into the technical stack AAR package, the technical stack task corresponding to the other technical stack is constructed into the technical stack JAR package, and the technical stack AAR package and the technical stack JAR are included to form the plug-in task JAR package, so that the package is completed under the condition that the Flutter technical stack exists, and the mixed development and package of the latest technical stack Flutter technology are supported.
Additional features and advantages of embodiments of the invention will be set forth in the detailed description which follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the embodiments of the invention without limiting the embodiments of the invention. In the drawings:
FIG. 1 is a flow diagram of a method for hybrid technology stack build packaging provided by an embodiment of the present invention;
FIG. 2 is a logic diagram of a method for hybrid technology stack build packaging according to another embodiment of the present invention; and
fig. 3 is a block diagram of an apparatus for hybrid technology stack building packing according to another embodiment of the present invention.
Description of the reference numerals
1 Flutter technology stack construction packaging module
2 plug-in task packing module
3 other technology stack construction packaging module
Detailed Description
The following detailed description of embodiments of the invention refers to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating embodiments of the invention, are given by way of illustration and explanation only, not limitation.
One aspect of an embodiment of the present invention provides a method for hybrid technology stack build packaging.
FIG. 1 is a flow diagram of a method for hybrid technology stack build packaging in accordance with an embodiment of the present invention. As shown in fig. 1, the method includes the following.
In step S10, the technology stack task corresponding to the Flutter technology stack is constructed as a technology stack AAR package. For example, AAR packages are constructed through the Flutter mechanism.
In step S11, a technology stack task corresponding to another technology stack is constructed as a technology stack JAR package, where the other technology stack is a technology stack in the hybrid technology stack except the Flutter technology stack. The JAR package is constructed, for example, by conventional means. It should be noted that, in the embodiment of the present invention, the sequence between step S10 and step S11 is not limited, step S10 may be executed first and step S11 may be executed second, step S11 may be executed first and step S10 may be executed first, and step S10 and step S11 may be executed at the same time.
In step S12, the technology stack AAR package and the technology stack JAR package are merged to form a plug-in task JAR package, thereby implementing the hybrid technology stack construction and packaging. For example, the AAR package is merged into the JAR package by way of file merging.
According to the technical scheme, the technical stack task corresponding to the Flutter technical stack is constructed into the technical stack AAR package, the technical stack task corresponding to the other technical stack is constructed into the technical stack JAR package, and the technical stack AAR package and the technical stack JAR are included to form the plug-in task JAR package, so that the package is completed under the condition that the Flutter technical stack exists, and the mixed development and package of the latest technical stack Flutter technology are supported.
Optionally, in the embodiment of the present invention, building and packaging corresponding to stack tasks of different technologies are performed in parallel. For example, the hybrid technology stack includes a Flutter technology stack, an Android technology stack, and an IOS technology stack, the technology stack tasks include a technology stack task corresponding to the Flutter technology stack, a technology stack task corresponding to the Android technology stack, and a technology stack task corresponding to the IOS technology stack, and the three technology stack tasks are executed in parallel. Further, hybrid technology stacks may also include a Kotlin technology stack, a Swift technology stack, an Objective-C technology stack, and the like.
Optionally, in an embodiment of the present invention, the method further includes: before constructing and packaging a technology stack task corresponding to any one technology stack in a hybrid technology stack, judging whether the technology stack task needs to be constructed and packaged. Under the condition that the technical stack task needs to be constructed and packaged, constructing and packaging are carried out; under the condition that the technology stack tasks are not required to be constructed and packaged, construction and packaging are not carried out, so that undifferentiated full-scale packaging is avoided, and resource waste is avoided.
Optionally, in this embodiment of the present invention, determining whether a technology stack task needs to be constructed and packaged may include determining whether at least one of the following items exists to determine whether the technology stack task needs to be constructed and packaged: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change. The technology stack task needs to be build packaged in the presence of at least one of: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change.
Optionally, in this embodiment of the present invention, each plug-in task includes multiple technology stack tasks, and the packages corresponding to different plug-in tasks are executed in parallel. The packages corresponding to different plug-in tasks are executed in parallel without mutual influence, so that the time cost can be reduced, and the problem that the final results of all plug-in tasks fail when any plug-in is failed in construction is solved.
Optionally, in the embodiment of the present invention, a reverse proxy mechanism is used for delayed loading of a function of a technology stack task corresponding to the Flutter technology stack. Specifically, the reverse proxy corresponds to the Flutter technology stack, and may be that delayed loading is performed first, and then a reverse proxy mechanism is adopted for the function of implementing the task corresponding to the Flutter technology stack when the Flutter technology stack is determined.
Fig. 2 is a logic diagram of a method for hybrid technology stack build packaging according to another embodiment of the present invention. In this embodiment, the hybrid technology stack includes a Flutter technology stack, an Android technology stack, and an IOS technology stack. Further, hybrid technology stacks may also include a Kotlin technology stack, a Swift technology stack, an Objective-C technology stack, and the like. Aiming at the defects of the existing mobile application construction scheme, the embodiment of the invention aims to greatly improve the efficiency and the success rate of large and medium-sized projects in the construction and packaging process by updating the packaging technology and adjusting the construction mechanism. In addition, the modules used in the embodiment of the invention comprise a task distribution system, a Jenkins construction platform and a Git version library; the programming language used in the implementation of the invention can comprise Python and Java; the development framework used in the embodiment of the invention can comprise Mybatis, Spring and Axios; the database used in the process of the embodiment of the invention comprises MySql.
As shown in fig. 2, the build packaging method includes the following.
Firstly, a packing task starts, the whole project task is scattered into N independent packing tasks according to the plug-in task type and two dimensions of a technical stack, and each packing task executes an independent task flow in parallel. For example, the whole project task is firstly broken up into service 1 plug-in tasks, service 2 plug-in tasks, service 3 plug-in tasks, base library plug-in tasks and other plug-in tasks according to the plug-in task types, and then the technology stack tasks corresponding to different technology stacks are broken up into different technology stack tasks in each plug-in task. The different plug-in tasks are executed in parallel, and the different technical stack tasks in each plug-in task are also executed in parallel, so that the time cost is reduced, and the problem that the final results of all the plug-in tasks fail when any plug-in is failed to construct is solved.
Subsequently, a plug-in packaging flow is executed. And each plug-in task is packaged according to the following content, and each technical stack task in the plug-in tasks independently executes the packaging task. And aiming at each technical stack task, judging whether the technical stack task needs to be constructed and packaged. Whether the technical stack task needs to be constructed and packaged can be judged by judging whether at least one of the following conditions exists: the source code of the technology stack task includes a new code (for example, whether the new code is included is judged through comparing the difference between the code and the submitted record), the technology stack corresponding to the technology stack task has a technology stack conflict, the version number of the technology stack corresponding to the technology stack task has a change, and the channel number has a change. Build packaging is required in the presence of at least one of: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change. For each technical stack task, constructing and packaging under the condition that constructing and packaging are needed; and returning the original technical stack task package under the condition of not constructing and packaging. As shown in fig. 2, the hybrid technology stack includes a Flutter technology stack, an Android technology stack, and an IOS technology stack. Respectively judging whether packaging is needed or not aiming at a technical stack task corresponding to a Flutter technical stack, a technical stack task corresponding to an Android technical stack and a technical stack task corresponding to an IOS technical stack, and packaging under the condition that packaging is needed; and returning the original technical stack task packet under the condition that the packaging is not needed. The original technology stack task package corresponding to the Flutter technology stack is an AAR package, and the original technology stack task packages corresponding to the other technology stacks except the Flutter technology stack are JAR packages. Under the condition of needing to be packaged, constructing a technical stack task corresponding to the Flutter technical stack into a technical stack AAR package, constructing a technical stack task corresponding to the Android technical stack into a technical stack JAR package, and constructing a technical stack task corresponding to the IOS technical stack into the technical stack JAR package. And respectively forming a package (a repackaged package or an original technology stack task package according to specific conditions) corresponding to the three technology stacks into a plug-in task JAR package. For example, after the above determination, the technology stack task corresponding to the Flutter technology stack, the technology stack task corresponding to the Android technology stack, and the technology stack task corresponding to the IOS technology stack all need to be packaged, and the AAR package corresponding to the Flutter technology stack, and the JAR packages corresponding to the Android technology stack and the IOS technology stack respectively form a JAR package of plug-in tasks. For example, after the determination, the technology stack task corresponding to the Flutter technology stack and the technology stack task corresponding to the Android technology stack need to be packaged, the technology stack task corresponding to the IOS technology stack does not need to be packaged, and the AAR packet corresponding to the Flutter technology stack, the JAR packet corresponding to the Android technology stack and the original technology stack task packet corresponding to the IOS technology stack form a plug-in task JAR packet.
And packaging the shell project after each plug-in task is finished. And merging the JAR packages generated by each plug-in task through file level operation to generate a final application installation package.
And then, performing function splicing on a plurality of plug-in tasks corresponding to a plurality of plug-in task types and functions of a plurality of technical stack tasks corresponding to a plurality of technical stacks through mechanisms of delayed loading and reverse proxy so as to form complete functions. The packing task ends.
In addition, in the embodiment of the invention, MD5 verification can also be performed. Specifically, before each plug-in task is packaged, MD5 verification is performed on a file corresponding to each technology stack task to verify whether the file is legal or not, if the file is legal, the packaging process of the technology stack task is continued, if the file is illegal, the packaging process of the technology stack task cannot be performed, the packaging corresponding to the technology stack task fails, and the packaging corresponding to the corresponding plug-in task fails.
In summary, in the embodiment of the present invention, 1) the conventional serial packing manner is abandoned, and the tasks are split, dynamically allocated, and packed in parallel by using the plug-in task type and the technology stack two dimensions; 2) no longer constructing a new package in a full amount without difference, judging whether the new package needs to be constructed and packaged through various checking mechanisms, and only incrementally processing the changed logic; 3) constructing an integral package by adopting a file level package combination mode; 4) constructing the technical stack task corresponding to the Flutter technical stack into an AAR package, constructing the technical stack task corresponding to the other technical stacks into a JAR package, embedding the AAR package into the JAR package to form a plug-in task JAR package, and combining the JAR packages of all the plug-in tasks through file-level operation to realize shell engineering packaging; 5) the functional intercommunication between different plug-in tasks and different technical stack tasks is realized in a delayed loading and reverse proxy mode; 6) the MD5 file verifies and determines that the delta plug-in package is legitimate. By the technical scheme, 1) the packing process of large and medium-sized applications is split into a plurality of small tasks, the small tasks can be dynamically managed, whether the tasks are executed and succeeded or not is parallelly processed, and the success rate and packing efficiency are greatly improved; 2) the version package constructed by history is directly used by the unchanged content, so that the waste of packaging resources is reduced; 3) the packaging interference among multiple plug-ins is completely avoided, the packaging of the plug-in task A fails, and the packaging result of the plug-in task B cannot be influenced; 4) the hybrid packaging of the latest technology stack Flutter, the Android technology stack and the like can be supported.
Accordingly, another aspect of the embodiments of the present invention provides an apparatus for hybrid technology stack build packaging.
Fig. 3 is a block diagram of an apparatus for hybrid technology stack building packing according to another embodiment of the present invention. As shown in fig. 3, the apparatus includes a Flutter technology stack building and packaging module 1, a plug-in task packaging module 2, and an other technology stack building and packaging module 3. The Flutter technology stack constructing and packaging module 1 is used for constructing a technology stack task corresponding to the Flutter technology stack into a technology stack AAR package; the other technology stack constructing and packaging module 3 is used for constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; the plug-in task packing module 2 is used for merging the technology stack AAR package and the technology stack JAR package to form a plug-in task JAR package.
According to the technical scheme, the technical stack task corresponding to the Flutter technical stack is constructed into the technical stack AAR package, the technical stack task corresponding to the other technical stack is constructed into the technical stack JAR package, and the technical stack AAR package and the technical stack JAR are included to form the plug-in task JAR package, so that the package is completed under the condition that the Flutter technical stack exists, and the mixed development and package of the latest technical stack Flutter technology are supported.
Optionally, in the embodiment of the present invention, building and packaging corresponding to stack tasks of different technologies are performed in parallel.
Optionally, in an embodiment of the present invention, the apparatus further includes: and the judging module is used for judging whether the technology stack task needs to be constructed and packaged before constructing and packaging the technology stack task corresponding to any one technology stack in the mixed technology stack.
Optionally, in this embodiment of the present invention, the determining module determines whether the technology stack task needs to be constructed and packaged includes determining whether at least one of the following items exists: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change.
Optionally, in the embodiment of the present invention, each plug-in task includes multiple technology stack tasks, and the packing corresponding to different plug-in tasks is performed in parallel.
Optionally, in the embodiment of the present invention, a reverse proxy mechanism is used for delayed loading of a function of a technology stack task corresponding to the Flutter technology stack.
The specific working principle and benefits of the apparatus for building and packaging a hybrid technology stack provided in the embodiment of the present invention are similar to those of the method for building and packaging a hybrid technology stack provided in the embodiment of the present invention, and will not be described herein again.
The device for constructing and packaging the hybrid technology stack comprises a processor and a memory, wherein the Flutter technology stack constructing and packaging module, the other technology stack constructing and packaging module, the plug-in task packaging module and the like are all stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor comprises a kernel, and the kernel calls the corresponding program unit from the memory. The kernel can be set to be one or more than one, and the mixed development and packaging of the technology of the latest technology stack Flutter is supported by adjusting the kernel parameters.
The memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip.
In addition, another aspect of the embodiments of the present invention also provides a machine-readable storage medium, on which instructions are stored, the instructions being used for causing a machine to execute the method described in the above embodiments.
In addition, another aspect of the embodiments of the present invention further provides a processor, where the processor is configured to execute a program, where the program executes the method described in the foregoing embodiments.
The embodiment of the invention provides electronic equipment, which comprises a processor, a memory and a program which is stored on the memory and can be operated on the processor, wherein the processor executes the program and realizes the following steps: constructing a technical stack task corresponding to the Flutter technical stack into a technical stack AAR package; constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; merging the technology stack AAR packet and the technology stack JAR packet to form a plug-in task JAR packet; the construction and the packaging corresponding to different technical stack tasks are carried out in parallel; before constructing and packaging a technology stack task corresponding to any one of the mixed technology stacks, judging whether the technology stack task needs to be constructed and packaged; the judging whether the technology stack task needs to be constructed and packaged includes judging whether at least one of the following items exists to judge whether the technology stack task needs to be constructed and packaged: the source code of the technical stack task comprises a new code, a technical stack conflict exists in the technical stack corresponding to the technical stack task, the version number of the technical stack corresponding to the technical stack task changes, and the channel number changes; each plug-in task comprises a plurality of technical stack tasks, and the packaging corresponding to different plug-in tasks is performed in parallel; and the function of the technology stack task corresponding to the Flutter technology stack adopts a reverse proxy mechanism to carry out delayed loading. The electronic device herein may be a server, a PC, a PAD, a mobile phone, etc.
The present application further provides a computer program product adapted to perform a program for initializing the following method steps when executed on a data processing device: constructing a technical stack task corresponding to the Flutter technical stack into a technical stack AAR package; constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; merging the technology stack AAR packet and the technology stack JAR packet to form a plug-in task JAR packet; the construction and the packaging corresponding to different technical stack tasks are carried out in parallel; before constructing and packaging a technology stack task corresponding to any one of the mixed technology stacks, judging whether the technology stack task needs to be constructed and packaged; the judging whether the technology stack task needs to be constructed and packaged includes judging whether at least one of the following items exists to judge whether the technology stack task needs to be constructed and packaged: the source code of the technical stack task comprises a new code, a technical stack conflict exists in the technical stack corresponding to the technical stack task, the version number of the technical stack corresponding to the technical stack task changes, and the channel number changes; each plug-in task comprises a plurality of technical stack tasks, and the packaging corresponding to different plug-in tasks is performed in parallel; and the function of the technology stack task corresponding to the Flutter technology stack adopts a reverse proxy mechanism to carry out delayed loading.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. A method for hybrid technology stack build packaging, the method comprising:
constructing a technical stack task corresponding to the Flutter technical stack into a technical stack AAR package;
constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; and
and merging the technology stack AAR packet and the technology stack JAR packet to form a plug-in task JAR packet.
2. The method of claim 1, wherein building and packaging corresponding to different technology stack tasks are performed in parallel.
3. The method of claim 1, further comprising:
and before constructing and packaging the technology stack task corresponding to any one of the mixed technology stacks, judging whether the technology stack task needs to be constructed and packaged.
4. The method of claim 3, wherein determining whether the technology stack task needs to be build and packaged comprises determining whether at least one of: the source code of the technology stack task comprises a new code, the technology stack corresponding to the technology stack task has technology stack conflict, the version number of the technology stack corresponding to the technology stack task has change, and the channel number has change.
5. The method according to any of claims 1-4, wherein each plug-in task comprises a plurality of technology stack tasks, and the packing corresponding to different plug-in tasks is performed in parallel.
6. The method according to any of claims 1 to 4, wherein the function of the technology stack task corresponding to the Flutter technology stack employs a reverse proxy mechanism for delayed loading.
7. An apparatus for hybrid technology stack build packaging, the apparatus comprising:
the Flutter technology stack construction and packaging module is used for constructing a technology stack task corresponding to the Flutter technology stack into a technology stack AAR package;
the other technology stack constructing and packaging module is used for constructing technology stack tasks corresponding to other technology stacks into a technology stack JAR package, wherein the other technology stacks are the technology stacks in the mixed technology stack except the Flutter technology stack; and
and the plug-in task packing module is used for combining the technology stack AAR package and the technology stack JAR package to form a plug-in task JAR package.
8. The apparatus of claim 7, wherein building and packaging corresponding to different technology stack tasks are performed in parallel.
9. A machine-readable storage medium having stored thereon instructions for causing a machine to perform the method of any one of claims 1-6.
10. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1-6 when executing the program.
CN202011138764.9A 2020-10-22 2020-10-22 Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium Pending CN112230930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011138764.9A CN112230930A (en) 2020-10-22 2020-10-22 Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011138764.9A CN112230930A (en) 2020-10-22 2020-10-22 Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium

Publications (1)

Publication Number Publication Date
CN112230930A true CN112230930A (en) 2021-01-15

Family

ID=74110287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011138764.9A Pending CN112230930A (en) 2020-10-22 2020-10-22 Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium

Country Status (1)

Country Link
CN (1) CN112230930A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948830A (en) * 2021-03-12 2021-06-11 哈尔滨安天科技集团股份有限公司 File risk identification method and device
CN116991380A (en) * 2023-09-21 2023-11-03 腾讯科技(深圳)有限公司 Application program construction method and device, electronic equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120020374A1 (en) * 2010-07-26 2012-01-26 Kenneth Jonsson Method and System for Merging Network Stacks
CN110750288A (en) * 2019-10-23 2020-02-04 广州华多网络科技有限公司 Native engineering configuration method and device, electronic equipment and storage medium
CN111008007A (en) * 2019-11-06 2020-04-14 贝壳技术有限公司 Component development method, system, storage medium and processor
CN111078278A (en) * 2019-12-21 2020-04-28 众能联合数字技术有限公司 Automatic packaging method supporting Flutter and iOS mixed editing project
CN111090422A (en) * 2019-10-23 2020-05-01 贝壳技术有限公司 Resource packaging method and device based on FLUTTER and storage medium
CN111475199A (en) * 2020-04-03 2020-07-31 北京金山云网络技术有限公司 aar file generation method and device and electronic equipment
CN111694564A (en) * 2020-06-05 2020-09-22 百度在线网络技术(北京)有限公司 Compiling method, device, equipment and medium for Flutter mixed mode
CN111782210A (en) * 2019-04-04 2020-10-16 阿里巴巴集团控股有限公司 Page management method and device, electronic equipment and computer readable medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120020374A1 (en) * 2010-07-26 2012-01-26 Kenneth Jonsson Method and System for Merging Network Stacks
CN111782210A (en) * 2019-04-04 2020-10-16 阿里巴巴集团控股有限公司 Page management method and device, electronic equipment and computer readable medium
CN110750288A (en) * 2019-10-23 2020-02-04 广州华多网络科技有限公司 Native engineering configuration method and device, electronic equipment and storage medium
CN111090422A (en) * 2019-10-23 2020-05-01 贝壳技术有限公司 Resource packaging method and device based on FLUTTER and storage medium
CN111008007A (en) * 2019-11-06 2020-04-14 贝壳技术有限公司 Component development method, system, storage medium and processor
CN111078278A (en) * 2019-12-21 2020-04-28 众能联合数字技术有限公司 Automatic packaging method supporting Flutter and iOS mixed editing project
CN111475199A (en) * 2020-04-03 2020-07-31 北京金山云网络技术有限公司 aar file generation method and device and electronic equipment
CN111694564A (en) * 2020-06-05 2020-09-22 百度在线网络技术(北京)有限公司 Compiling method, device, equipment and medium for Flutter mixed mode

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948830A (en) * 2021-03-12 2021-06-11 哈尔滨安天科技集团股份有限公司 File risk identification method and device
CN112948830B (en) * 2021-03-12 2023-11-10 安天科技集团股份有限公司 File risk identification method and device
CN116991380A (en) * 2023-09-21 2023-11-03 腾讯科技(深圳)有限公司 Application program construction method and device, electronic equipment and storage medium
CN116991380B (en) * 2023-09-21 2024-01-09 腾讯科技(深圳)有限公司 Application program construction method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110727440B (en) Software packaging method
CN108614702B (en) Byte code optimization method and device
CN112230930A (en) Method and device for constructing and packaging hybrid technology stack and machine-readable storage medium
CN112308716B (en) Block chain intelligent contract executing method, device, equipment and computer storage medium
WO2020177429A1 (en) Method and apparatus for embedding codes in application, and electronic device
CN111831396A (en) Docker software and hardware integration-based delivery method and device
CN110968357B (en) Method and device for packaging maven item, storage medium and processor
CN112947934A (en) Method, device and medium for dynamically transforming business logic
CN113110853A (en) Configuration data online downloading method and device and electronic equipment
CN111651169B (en) Block chain intelligent contract operation method and system based on web container
CN113641389B (en) Software upgrading method, device and equipment based on OpenCPU
CN107463423B (en) Verification method, storage medium, electronic device and system depending on package tool
CN111198694A (en) Software installation method and device
CN107291439B (en) Target incremental data construction method and device
CN112738181B (en) Method, device and server for cluster external IP access
CN115510505A (en) Application file packaging method and device, electronic equipment and readable storage medium
CN114791884A (en) Test environment construction method and device, storage medium and electronic equipment
CN114201174A (en) Construction method and device of hybrid mobile application, electronic equipment and storage medium
WO2019157891A1 (en) Application installation method and application installer generating method
CN112559444A (en) SQL (structured query language) file migration method and device, storage medium and equipment
CN112256324B (en) Method and device for processing files in android application program construction process
LU102412B1 (en) A Method and Apparatus for Embedding Codes in an Application, and an Electronic Device
CN113138867B (en) Method, device and equipment for realizing communication between application programs
CN114416219B (en) System function calling method, device, electronic equipment and readable medium
CN112631650A (en) Plug-in version information checking method, computing device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination