# US 11,442,710 B2 · Repository dependency management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,442,710 B2
- Document ID: US11442710B2
- Status: Granted
- Kind: B2
- Application number: 17/039,180
- Filed: 2020-09-30
- Published: 2022-03-31
- Granted: 2022-09-13
- Earliest claimed: 2020-09-30
- Assignees: Atlassian Pty Ltd.; Atlassian Inc.
- Applicants: Atlassian Pty Ltd.; Atlassian Inc.
- Inventors: Nadezhda Makarevich; Marcin Szczepanski; Aliaksei Shpakau; Ian Michael Hill; Marco de Jongh; Luke James Batchelor; Hannes Obweger
- Web page: https://patentgrep.com/patent/US11442710B2

## CPC

- G06F 8/433: {Dependency analysis; Data or control flow analysis}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 8/427: {Parsing}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Described herein is a computer implemented method for managing a repository that includes one or more component packages and a repository configuration file listing repository dependencies. Each component package has a package configuration file listing package dependencies. The method including the steps of: parsing the repository configuration file; aliasing a package dependency listed in the repository configuration file with at least two repository dependency aliases; parsing a package configuration file; and linking each repository dependency alias to a package dependency listed in the package configuration file.

## Claims

### Claim 1

A computer-implemented method for managing a repository, the repository including one or more component packages and a repository configuration file, the method comprising:
accessing the repository configuration file listing a set of repository dependencies specifying a software build, each repository dependency of the set of repository dependencies identifying a component package of source code stored in the repository;
parsing the repository configuration file;
based on a repository dependency of the set of repository dependencies listed in the repository configuration file, generating an updated repository dependency to include at least a first repository dependency alias and a second repository dependency alias, the first and second repository dependency aliases correspond to a same package dependency listed in a package configuration file of a component package of the one or more component packages, the second repository dependency alias representing a newer version of the package dependency than the first repository dependency alias;
parsing the package configuration file;
linking the first repository dependency alias to a first package dependency listed in the package configuration file and the second repository dependency alias to a second package dependency listed in the package configuration file; and
de-aliasing the first repository dependency alias and the second repository dependency alias to restore the repository dependency, wherein the de-aliasing is performed after all component packages comprised in the repository are updated for dependency.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving as an argument to the computer-implemented method, a dependency having a value; and
assigning the value of the received dependency to the second repository dependency alias.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising reinstalling in the repository, the repository dependency under the first repository dependency alias.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising:
receiving as an argument to the computer-implemented method, a dependency having a value; and
installing in the repository, the received dependency under the second repository dependency alias.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the step of linking comprises entering, in the package configuration file, a first package dependency field for the first repository dependency alias and a second package dependency field for the second repository dependency alias.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising:
receiving as an argument to the computer-implemented method, a dependency; and
modifying the package configuration file to update the received dependency.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the modifying comprises moving the received dependency from the first package dependency field to the second package dependency field.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, further comprising assigning a value of the second repository dependency alias to the received dependency in the second package dependency field.

### Claim 9 (depends on 6)

The computer-implemented method of claim 6, further comprising creating an entry for the received dependency in a dependency field of the package configuration file.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising: modifying the package configuration file of each component package by moving package dependencies listed in a second package dependency field to a dependencies field or a development dependencies field of the package configuration file.

### Claim 11

A computer processing system comprising:
one or more processors;
computer-readable memory storing sequences of instructions, which when executed by the one or more processors, cause the one or more processors to:
manage a repository, the repository including one or more component packages and a repository configuration;
access the repository configuration file listing repository dependencies specifying a software build, each repository dependency of the repository dependencies identifying a component package of source code stored in the repository;
based on a repository dependency of the repository dependencies listed in the repository configuration file, generate an updated repository dependency to include at least a first repository dependency alias and a second repository dependency alias corresponding to a same package dependency listed in a package configuration file of a component package of the one or more component packages, the second repository dependency alias representing a newer version of the package dependency than the first repository dependency alias;
parse the package configuration file;
link the first repository dependency alias to a first package dependency listed in the package configuration file and the second repository dependency alias to a second package dependency listed in the package configuration file; and
de-alias the first repository dependency alias and the second repository dependency alias to restore the repository dependency, wherein the de-aliasing is performed after the received dependency is updated in all component packages comprised in the repository.

### Claim 12 (depends on 11)

The computer processing system of claim 11, wherein execution of the sequences of instructions further cause the one or more processors to:
receive as an argument to the sequences of instructions, a dependency having a value; and
assign the value of the received dependency to the second repository dependency alias.

### Claim 13 (depends on 11)

The computer processing system of claim 11, wherein execution of the sequences of instructions further cause the one or more processors to reinstall in the repository, the repository dependency under the first repository dependency alias.

### Claim 14 (depends on 13)

The computer processing system of claim 13, wherein execution of the sequences of instructions further cause the one or more processors to:
receive as an argument to the sequences of instructions, a dependency having a value; and
install in the repository, the received dependency under the second repository dependency alias.

### Claim 15 (depends on 11)

The computer processing system of claim 11, wherein the linking comprises entering, in the package configuration file, a first package dependency field for the first repository dependency alias and a second package dependency field for the second repository dependency alias.

### Claim 16 (depends on 15)

The computer processing system of claim 15, wherein execution of the sequences of instructions further cause the one or more processors to:
receive as an argument to the sequences of instructions, a dependency; and
modify the package configuration file to update the received dependency.

### Claim 17 (depends on 16)

The computer processing system of claim 16, wherein the modifying comprises moving the received dependency from the first package dependency field to the second package dependency field.

### Claim 18 (depends on 17)

The computer processing system of claim 17, wherein execution of the sequences of instructions further cause the one or more processors to assign a value of the second repository dependency alias to the received dependency in the second package dependency field.

### Claim 19 (depends on 16)

The computer processing system of claim 16, wherein execution of the sequences of instructions further cause the one or more processors to create an entry for the received dependency in a dependency field of the package configuration file.

### Claim 20 (depends on 11)

The computer processing system of claim 11, wherein execution of the sequences of instructions further cause the one or more processors to modify the package configuration file of each component package by moving package dependencies listed in the package dependency field to a dependencies field or a development dependencies field of the package configuration file.
