System and method for providing a java code release infrastructure with granular code patching
First Claim
1. A system for providing a JAVA code release infrastructure with granular code patching, comprising:
- a computer readable storage medium holding one or more JAVA code patches, each comprising at least one resource unit, each resource unit comprising metadata and file components;
a computer readable storage medium holding one or more to-be-patched JAVA code libraries, each comprising at least one such resource unit;
a computer readable storage medium holding a patch tool, comprising;
a compare module that determines which units in the to-be-patched JAVA code libraries are outdated by comparing the metadata for each such resource unit in the JAVA code patches to the metadata for each such corresponding resource unit in the to-be-patched JAVA code libraries; and
a merge module merging each such resource unit in the JAVA code patches into the to-be-patched JAVA code libraries for each such corresponding resource unit that is out-of-date.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for providing a code release infrastructure with granular code patching is described. Code patches, each including at least one resource unit are provided. Each resource unit includes metadata and file components. Code libraries, each including at least one resource unit, are patched. The metadata for each resource unit in the code patches is compared to the metadata for each such corresponding resource unit in the code libraries. Each resource unit in the code patches is merged into the code libraries for each such corresponding resource unit that is out-of-date as defined by merge rules. Archive files, as defined by archive file definitions, are created or updated using the resource units from the code libraries, or, optionally, are deleted. The archive files are digitally signed also as required. The system and method enables source and derived code and third party code to be patched granularly.
112 Citations
53 Claims
-
1. A system for providing a JAVA code release infrastructure with granular code patching, comprising:
-
a computer readable storage medium holding one or more JAVA code patches, each comprising at least one resource unit, each resource unit comprising metadata and file components; a computer readable storage medium holding one or more to-be-patched JAVA code libraries, each comprising at least one such resource unit; a computer readable storage medium holding a patch tool, comprising; a compare module that determines which units in the to-be-patched JAVA code libraries are outdated by comparing the metadata for each such resource unit in the JAVA code patches to the metadata for each such corresponding resource unit in the to-be-patched JAVA code libraries; and a merge module merging each such resource unit in the JAVA code patches into the to-be-patched JAVA code libraries for each such corresponding resource unit that is out-of-date. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for providing a JAVA code release infrastructure with granular code patching, comprising:
-
providing one or more JAVA code patches, each comprising at least one resource unit, each resource unit comprising metadata and file components; patching one or more to-be-patched JAVA code libraries, each comprising at least one such resource unit; comparing the metadata for each such resource unit in the JAVA code patches to the metadata for each such corresponding resource unit in the to-be-patched JAVA code libraries; and merging each such resource unit in the JAVA code patches into the to-be-patched JAVA code libraries for each such corresponding resource unit that is out-of-date. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A system for patching staged code in a staged JAVA code release infrastructure, comprising:
-
a staged code repository maintaining one or more staged to-be-patched JAVA code libraries, each staged to-be-patched JAVA code library comprising at least one resource unit, each resource unit comprising metadata and file components; a staged patch repository storing one or more JAVA code patches, each JAVA code patch comprising at least one resource unit corresponding to one such resource unit specified in a JAVA code patch definition; and a patch tool accessing one or more JAVA code patches in the staged patch repository, comprising; a compare module comparing the metadata for each resource unit in the JAVA code patches to the metadata in the staged to-be-patched JAVA code libraries for each such corresponding resource unit; and a merge module merging each resource unit in the JAVA code patches into the staged to-be-patched JAVA code libraries for each such corresponding resource unit that is out-of-date. - View Dependent Claims (43, 44, 45, 46)
-
-
47. A method for patching staged code in a JAVA code release infrastructure, comprising:
-
maintaining one or more staged to-be-patched JAVA code libraries in a staged code repository, each staged to-be-patched JAVA code library comprising at least one resource unit, each resource unit comprising metadata and file components; accessing one or more JAVA code patches in a staged patch repository, each JAVA code patch comprising at least one resource unit corresponding to one such resource unit specified in a JAVA code patch definition; comparing the metadata for each resource unit in the JAVA code patches to the metadata in the staged to-be-patched JAVA code libraries for each such corresponding resource unit; and merging each resource unit in the JAVA code patches into the staged to-be-patched JAVA code libraries for each such corresponding resource unit that is out-of-date. - View Dependent Claims (48, 49, 50, 51, 52)
-
-
53. A computer-implemented method for patching code, the method comprising:
-
downloading, to a client machine, from a server machine that is separate from the client machine, one or more patches that were generated on the server machine; comparing, at the client machine, (a) contents of the one or more patches to (b) code that is not resident on the server machine; based on the comparing, determining one or more out-of-date portions within the code; and applying at least a part of the one or more patches to the out-of-date portions without applying any part of the one or more patches to parts of the code other than the out-of-date portions.
-
Specification