Expansion of an Uploaded Archive Containing an Intermediary .tar File

The .tar.gz, .tgz, .txz, and .tar.xz archive types and similar archives contain an intermediary .tar archive. The codebase upload extracts the intermediary .tar file from the initial archive, but applies the Archive Expansion Options configuration starting with the expansion of the intermediary .tar file, not the initial archive. The following examples demonstrates this expansion behavior.

Contents of the Archive with an Intermediary .tar File
Expansion of Uploaded File Only
Expansion of Uploaded File and First-Level Archives Only
Expansion of Uploaded File and All Contained Archives

Note:The .jar files referenced in these examples represent normal jar files. Code Insight currently does not support the expansion of normal jar files. However, it does support the expansion of uber and sources jars. For examples of how these jars are expanded, see Expansion of a Sources or Uber Jar.

Contents of the Archive with an Intermediary .tar File

Suppose the archive jars.tar.gz has these contents, where the intermediary file is jar.tar:

jars.tar.gz
--jars.tar
----file-1.txt
----file-2.txt
----jar.zip
------abc.jar (color)
------xyz.jar
------classes.zip
--------corporation.class
--------employee.class

Expansion of Uploaded File Only

The uploaded codebase looks like this if Uploaded File Only for Archive Expansion Options is applied:

file-1.txt
file-2.txt
jar.zip

In this case:

The jars.tar is extracted from jars.tar.gz.
The jars.tar archive is then expanded but not retained.
Any first-level archives (in this case, jar.zip found in jars.tar) are retained but not expanded.

Expansion of Uploaded File and First-Level Archives Only

The uploaded codebase looks like this if the Uploaded file and first-level archives only option for Archive Expansion Options is selected but the Delete archive files after expansion option is not selected.

file-1.txt
file-2.txt
\jar
---abc.jar
---xyz.jar
---classes.zip

jar.zip

In this case:

The jars.tar is extracted from jars.tar.gz.
The jars.tar archive is then expanded but not retained.
The first-level jar.zip archive (contained in jars.tar) is expanded (and retained).
The second-level classes.zip archive (contained in jar.zip) is not expanded.

If Delete archive files after expansion is selected, the uploaded codebase looks like this:

file-1.txt
file-2.txt
\jar
---abc.jar
---xyz.jar
---classes.zip

Expansion of Uploaded File and All Contained Archives

The uploaded codebase looks like this if the Uploaded file and all contained archives option for Archive Expansion Options is selected but the Delete archive files after expansion option is not selected.

file-1.txt
file-2.txt
jars.tar
\jar
---abc.jar
---xyz.jar
---\classes
------Corporation.class
------Employee.class

---classes.zip
jar.zip

In this case:

The jars.tar is extracted from jars.tar.gz.
The jars.tar archive is then expanded but not retained.
The first-level jar.zip archive (contained in jars.tar) is expanded (and retained).
The second-level classes.zip archive (contained in jar.zip) is expanded (and retained).

If Delete archive files after expansion is selected, the uploaded codebase looks like this:

file-1.txt
file-2.txt
\jar
---abc.jar
---xyz.jar
---\classes
------Corporation.class
------Employee.class