summaryrefslogtreecommitdiff
path: root/luni/src/test/java/dalvik/system/create_test_jar.sh
blob: 6ae59b6811e587eaafc73006cf5ce3c8a7f80ac9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
set -e

# Create the child JAR
# --------------------------------------
rm -rf /tmp/delegate_last_child
mkdir -p /tmp/delegate_last_child/libcore/test/delegatelast;
pushd /tmp/delegate_last_child
echo "package libcore.test.delegatelast;\
      public class A {\
          public String toString() {\
              return \"A_child\";\
          }\
      }" > libcore/test/delegatelast/A.java
echo "package libcore.test.delegatelast;\
      public class Child {\
          public String toString() {\
              return \"Child_child\";\
          }\
      }" > libcore/test/delegatelast/Child.java
javac libcore/test/delegatelast/*.java

d8 --output . libcore/test/delegatelast/*.class # Creates ./classes.dex
echo -ne "child" > ./resource.txt
jar cf ./child.jar classes.dex resource.txt
cp ./child.jar $ANDROID_BUILD_TOP/libcore/luni/src/test/resources/dalvik/system/child.jar
popd

# Create the parent JAR
# --------------------------------------
rm -rf /tmp/delegate_last_parent
mkdir -p /tmp/delegate_last_parent/libcore/test/delegatelast;
pushd /tmp/delegate_last_parent
echo "package libcore.test.delegatelast;\
      public class A {\
          public String toString() {\
              return \"A_parent\";\
          }\
      }" > libcore/test/delegatelast/A.java
echo "package libcore.test.delegatelast;\
      public class Parent {\
          public String toString() {\
              return \"Parent_parent\";\
          }\
      }" > libcore/test/delegatelast/Parent.java
javac libcore/test/delegatelast/*.java
d8 --output . libcore/test/delegatelast/*.class # Creates ./classes.dex
echo -ne "parent" > ./resource.txt
echo -ne "parent2" > ./resource2.txt
jar cf ./parent.jar classes.dex resource.txt resource2.txt
cp ./parent.jar $ANDROID_BUILD_TOP/libcore/luni/src/test/resources/dalvik/system/parent.jar
popd


# Create a jar that overloads boot classpath classes and resources
# ----------------------------------------------------------------
rm -rf /tmp/delegate_last_bootoverride
mkdir -p /tmp/delegate_last_bootoverride/java/util;
pushd /tmp/delegate_last_bootoverride
echo "package java.util;\
      public class HashMap {\
          public String toString() {\
              return \"I'm not really a HashMap\";\
          }\
      }" > java/util/HashMap.java
javac --patch-module=java.base=. java/util/HashMap.java
d8 --output . java/util/HashMap.class # Creates ./classes.dex
mkdir -p android/icu
echo -ne "NOT ICU" > android/icu/ICUConfig.properties
jar cf ./bootoverride.jar classes.dex android/icu/ICUConfig.properties
cp ./bootoverride.jar $ANDROID_BUILD_TOP/libcore/luni/src/test/resources/dalvik/system/bootoverride.jar
popd