1 #!/bin/bash
 2 #
 3 # Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 5 #
 6 # This code is free software; you can redistribute it and/or modify it
 7 # under the terms of the GNU General Public License version 2 only, as
 8 # published by the Free Software Foundation.  Oracle designates this
 9 # particular file as subject to the "Classpath" exception as provided
10 # by Oracle in the LICENSE file that accompanied this code.
11 #
12 # This code is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # version 2 for more details (a copy is included in the LICENSE file that
16 # accompanied this code).
17 #
18 # You should have received a copy of the GNU General Public License version
19 # 2 along with this work; if not, write to the Free Software Foundation,
20 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 #
22 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23 # or visit www.oracle.com if you need additional information or have any
24 # questions.
25 #
26 
27 # copy selected cr packages into jdk.compiler
28 
29 base=java/lang/reflect/code
30 packages="
31   $base \
32   $base/writer \
33   $base/op \
34   $base/type \
35   $base/type/impl \
36   "
37 
38 removeclasses=""
39 
40 java_base_dir=$1
41 jdk_compiler_dir=$2
42 
43 for p in $packages; do
44   mkdir -p $jdk_compiler_dir/jdk/internal/$p
45   cp -r $java_base_dir/$p/*.java $jdk_compiler_dir/jdk/internal/$p/.
46 done
47 
48 for f in $removeclasses; do
49   rm $jdk_compiler_dir/jdk/internal/$f
50 done
51 
52 find $jdk_compiler_dir/jdk/internal/$base -name "*.java" -print \
53   | xargs sed -i'.bck' \
54   -e 's/java\.lang\.reflect\.code/jdk\.internal\.java\.lang\.reflect\.code/g' \
55   -e 's/^\/\*__\(.*\)__\*\/.*$/\1/'
56 
57 find $jdk_compiler_dir/jdk/internal/$base -name "*.bck" -exec rm {} \;
58