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