1 The files contained in the golden.jar have been harvested from many |
1 The files contained in the golden.jar have been harvested from many |
2 different sources, some are hand-crafted invalid class files (odds directory), |
2 different sources, some are hand-crafted invalid class files (odds directory), |
3 or from random JDK builds. |
3 or from random JDK builds. |
4 |
4 |
5 Generally these files serve to ensure the integrity of the packer and unpacker |
5 Generally these files serve to ensure the integrity of the packer and |
6 by, |
6 unpacker by, |
7 1. maximizing the test coverage. |
7 * maximizing the test coverage. |
8 2. exercising all the Bands in the pack200 specification. |
8 * exercising all the Bands in the pack200 specification. |
9 2. testing the behavior of the packer with invalid classes. |
9 * testing the behavior of the packer with invalid classes. |
10 3. testing the archive integrity, ordering and description (date, sizes, |
10 * testing the archive integrity, ordering and description (date, sizes, |
11 CRC etc.) |
11 CRC etc.) |
12 |
12 |
13 Build: |
13 Build: |
14 To rebuild this JAR follow these steps: |
14 To rebuild this JAR follow these steps: |
15 1. unzip the golden.jar to some directory lets call it "example" |
15 1. unzip the golden.jar to some directory lets call it "example" |
16 2. now we can add any directories with files into example. |
16 2. now we can add any directories with files into example. |
17 2. run the script BUILDME.sh as |
17 3. run the script BUILDME.sh as |
18 % sh BUILDME.sh example |
18 % sh BUILDME.sh example |
19 |
19 |
20 Note: the BUILDME.sh is known to work on all Unix platforms as well as Windows |
20 Note: the BUILDME.sh is known to work on all Unix platforms as well as Windows |
21 using Cygwin. |
21 using Cygwin. |
22 |
22 |
30 |
30 |
31 Test: |
31 Test: |
32 Basic: |
32 Basic: |
33 % pack200 --repack test.jar golden.jar |
33 % pack200 --repack test.jar golden.jar |
34 |
34 |
35 Advanced: |
35 Advanced: inspection of band contents |
36 Create a pack.conf as follows: |
36 Create a pack.conf as follows: |
37 % cat pack.conf |
37 % cat pack.conf |
38 com.sun.java.util.jar.pack.dump.bands=true |
38 com.sun.java.util.jar.pack.dump.bands=true |
39 |
39 |
40 % pack200 --no-gzip --config-file=pack.conf \ |
40 % pack200 --no-gzip --config-file=pack.conf \ |
41 --verbose golden.jar.pack golden.jar |
41 --verbose golden.jar.pack golden.jar |
42 |
42 |
43 This command will dump the Bands in a unique directory BD_XXXXXX, |
43 This command will dump the Bands in a unique directory BD_XXXXXX, |
44 one can inspect the directory to ensure all of the bands are being |
44 one can then inspect the directory to ensure all of the bands are being |
45 generated. Familiarity of the Pack200 specification is suggested. |
45 generated. Familiarity of the Pack200 specification is strongly |
|
46 suggested. |