Method and apparatus for creating a platform agnostic application file
AssigneeAdobe Systems Incorporated
InventorRajorshi Ghosh Choudhury
Life of this patent
Estimating the term…
Abstract
A method and apparatus for creating an application file comprising accessing at least one library, stubbing the at least one library to create a stub library containing symbols exported from the at least one library, and packing the stub library into the application file. Other embodiments include method and apparatus for packaging an application file comprising accessing the application file, unpacking the application file to expose at least one stub library, accessing the at least one stub library and packaging the application file with another application using symbols contained in the stub library for delivery to an end user computer.
Claims20
A method of creating an application package for an application consumption computer comprising:
- creating, by a file creation computer using a first platform, an application file;
- accessing, by the file creation computer, a shared library;
- identifying one or more dependencies required when linking a master application created on a second platform to the shared library;
- generating, by at least one processor of the file creation computer, a stub for each of the identified one or more dependencies;
- creating, from the generated stubs by the file creation computer, a stub library including symbols exported from the shared library for each of the identified one or more dependencies;
- combining, by the at least one processor of the file creation computer, the application file created using the first platform and the stub library including the symbols exported from the shared library into a platform agnostic application file that allows a packaging computer, using the second platform and lacking the shared library represented by the stub library, to package the platform agnostic application file with the master application;
- and
- providing the platform agnostic application file including the combined application file and the stub library including the symbols exported from the shared library to a packaging device having the master application thereon for packaging the platform agnostic application file with the master application.
A method of packaging an application file with another application comprising:
- accessing, at a packaging computer, a platform agnostic application file comprising an application file combined with at least one stub library, wherein:
- the application file is created using a first platform on a file creation computer and is rendered platform agnostic by the at least one stub library, and the at least one stub library includes symbols exported from a shared library;
- unpacking, by the packaging computer, the platform agnostic application file;
- accessing, by the packaging computer, the at least one stub library from the platform agnostic application file, wherein the at least one stub library includes a stub generated from the symbols exported from one or more dependencies required when linking to the shared library on the file creation computer;
- accessing a master application created on a second platform lacking the shared library represented by the at least one stub library;
- packaging, by at least one processor of the packaging computer, using the second platform, the platform agnostic application file with the master application using the symbols contained in the at least one stub library to form an application package for delivery to a consumption computer, the master application being configured to utilize the platform agnostic application file as an extension file upon installation of the application package by the consumption computer;
- and
- providing, by the at least one processor of the packaging computer, the application package to the consumption computer that uses at least one platform that differs from one or more of the first platform or the second platform.
A non-transitory computer readable medium storing computer instructions that when executed by a processor of a file creation computer, cause the file creation computer to:
- create an application file using a first platform;
- access a shared library;
- identify one or more dependencies required when linking a master application created on a second platform to the shared library;
- generate a stub for each of the identified one or more dependencies;
- create a stub library, from the generated stubs, a stub library including symbols exported from the shared library for each of the identified one or more dependencies;
- and
- create a platform agnostic application file by combining the application file created using the first platform and the stub library comprising the symbols exported from the shared library with a master application created on a second platform that lacks the shared library, the platform agnostic application file facilitating packaging of the platform agnostic application file with the master application by a packaging computer lacking the shared library and using a platform other than the first platform.
A non-transitory computer readable medium storing computer instructions that when executed on a processor, cause the processor of a file creation computer using a first platform to perform a method comprising:
- creating an application file;
- accessing a shared library;
- identifying one or more dependencies required when linking a master application created on a second platform to the shared library;
- generating a stub for each of the identified one or more dependencies;
- creating a stub library, from the generated stubs, including symbols exported from the shared library for each of the identified one or more dependencies;
- combining the application file created using the first platform and the stub library including the symbols exported from the shared library into a platform agnostic application file that allows a packaging computer, using the second platform and lacking the shared library represented by the stub library, to package the platform agnostic application file with the master application;
- and
- providing the platform agnostic application file including the combined application file and the stub library including the symbols exported from the shared library to a packaging device having the master application thereon for packaging the platform agnostic application file with the master application.
A non-transitory computer readable medium storing computer instructions that when executed on a processor, cause the processor to perform a method comprising:
- accessing a platform agnostic application file comprising an application file combined at least one stub library and a non-stubbed library, wherein the application file is created using a first platform on a file creation computer and is rendered platform agnostic by the at least one stub library, and the at least one stub library includes symbols exported from a shared library;
- unpacking the platform agnostic application file;
- accessing the at least one stub library from the platform agnostic application file, wherein the at least one stub library includes a stub generated from the symbols exported from one or more dependencies required when linking to the shared library on the file creation computer;
- accessing a master application created on a second platform lacking the shared library represented by the at least one stub library;
- packaging, using the second platform, the platform agnostic application file with the master application using the symbols contained in the at least one stub library to form an application package for delivery to a consumption computer, the master application being configured to utilize the platform agnostic application file as an extension file upon installation of the application package by the consumption computer;
- and
- providing the application package to the consumption computer that uses at least one platform that differs from one or more of the first platform or the second platform.
Dependencies are inferred from the claim text.