1 #! /bin/sh 2 3 # Copyright (c) 2012, 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. 9 # 10 # This code is distributed in the hope that it will be useful, but WITHOUT 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 # version 2 for more details (a copy is included in the LICENSE file that 14 # accompanied this code). 15 # 16 # You should have received a copy of the GNU General Public License version 17 # 2 along with this work; if not, write to the Free Software Foundation, 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 # 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 # or visit www.oracle.com if you need additional information or have any 22 # questions. 23 24 # @test 25 # @summary Basic test of repo on file system 26 # @run shell hello-repo.sh 27 28 set -e 29 30 BIN=${TESTJAVA:-../../../../build}/bin 31 SRC=${TESTSRC:-.} 32 VMOPTS="${TESTVMOPTS} -esa -ea" 33 34 mk() { 35 d=`dirname $1` 36 if [ ! -d $d ]; then mkdir -p $d; fi 37 cat - >$1 38 } 39 40 rm -rf z.* 41 42 mk z.src/app/module-info.java <<EOF 43 module app @ 1.0 { 44 requires foolib; 45 class com.app.Main; 46 } 47 EOF 48 49 mk z.src/app/com/app/Main.java <<EOF 50 package com.app; 51 public class Main { 52 public static void main(String[] args) { 53 System.out.println("Hello"); 54 } 55 } 56 EOF 57 58 mk z.src/foolib/module-info.java <<EOF 59 module foolib @ 1.0 { 60 } 61 EOF 62 63 mkdir z.mods 64 $BIN/javac -source 8 -d z.mods -modulepath z.modules \ 65 `find z.src -name '*.java'` 66 67 mkdir z.pkgs 68 $BIN/jpkg ${TESTTOOLVMOPTS} -d z.pkgs -m z.mods/app jmod app 69 $BIN/jpkg ${TESTTOOLVMOPTS} -d z.pkgs -m z.mods/foolib jmod foolib 70 71 $BIN/jrepo ${TESTTOOLVMOPTS} z.repo create 72 $BIN/jrepo ${TESTTOOLVMOPTS} z.repo add z.pkgs/*.jmod 73 74 $BIN/jmod ${TESTTOOLVMOPTS} create -L z.mlib 75 $BIN/jmod ${TESTTOOLVMOPTS} add-repo -L z.mlib z.repo 76 $BIN/jmod ${TESTTOOLVMOPTS} -L z.mlib install -n app 77 $BIN/jmod ${TESTTOOLVMOPTS} -L z.mlib install app 78 $BIN/java ${VMOPTS} -L z.mlib -m app --- EOF ---