Showing
4 changed files
with
34 additions
and
4 deletions
... | @@ -12,9 +12,8 @@ export KARAF=${KARAF:-~/Applications/apache-karaf-3.0.1} | ... | @@ -12,9 +12,8 @@ export KARAF=${KARAF:-~/Applications/apache-karaf-3.0.1} |
12 | export KARAF_LOG=$KARAF/data/log/karaf.log | 12 | export KARAF_LOG=$KARAF/data/log/karaf.log |
13 | 13 | ||
14 | # Setup a path | 14 | # Setup a path |
15 | -export PS=":" | 15 | +export PATH="$PATH:$ONOS_ROOT/tools/dev/bin:$ONOS_ROOT/tools/test/bin" |
16 | -export PATH="$PATH:$ONOS_ROOT/tools/dev:$ONOS_ROOT/tools/build" | 16 | +export PATH="$PATH:$ONOS_ROOT/tools/build" |
17 | -export PATH="$PATH:$ONOS_ROOT/tools/test/bin" | ||
18 | export PATH="$PATH:$MAVEN/bin:$KARAF/bin" | 17 | export PATH="$PATH:$MAVEN/bin:$KARAF/bin" |
19 | export PATH="$PATH:." | 18 | export PATH="$PATH:." |
20 | 19 | ||
... | @@ -30,11 +29,12 @@ alias mci='mvn clean install' | ... | @@ -30,11 +29,12 @@ alias mci='mvn clean install' |
30 | 29 | ||
31 | # Short-hand for ONOS build, package and test. | 30 | # Short-hand for ONOS build, package and test. |
32 | alias ob='onos-build' | 31 | alias ob='onos-build' |
32 | +alias obs='onos-build-selective' | ||
33 | alias op='onos-package' | 33 | alias op='onos-package' |
34 | alias ot='onos-test' | 34 | alias ot='onos-test' |
35 | 35 | ||
36 | # Short-hand for tailing the ONOS (karaf) log | 36 | # Short-hand for tailing the ONOS (karaf) log |
37 | -alias tl='$ONOS_ROOT/tools/dev/watchLog' | 37 | +alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log' |
38 | alias tlo='tl | grep --colour=always org.onlab' | 38 | alias tlo='tl | grep --colour=always org.onlab' |
39 | 39 | ||
40 | # Pretty-print JSON output | 40 | # Pretty-print JSON output | ... | ... |
tools/dev/bin/onos-build-selective
0 → 100755
1 | +#!/bin/bash | ||
2 | +#------------------------------------------------------------------------------ | ||
3 | +# Selectively builds only those projects that contained modified Java files. | ||
4 | +#------------------------------------------------------------------------------ | ||
5 | + | ||
6 | +projects=$(find $ONOS_ROOT -name '*.java' \ | ||
7 | + -not -path '*/openflowj/*' -and -not -path '.git/*' \ | ||
8 | + -exec $ONOS_ROOT/tools/dev/bin/onos-build-selective-hook {} \; | \ | ||
9 | + sort -u | sed "s:$ONOS_ROOT::g" | tr '\n' ',' | \ | ||
10 | + sed 's:/,:,:g;s:,/:,:g;s:^/::g;s:,$::g') | ||
11 | + | ||
12 | +[ -n "$projects" ] && cd $ONOS_ROOT && mvn --projects $projects ${@:-clean install} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
tools/dev/bin/onos-build-selective-hook
0 → 100755
1 | +#------------------------------------------------------------------------------ | ||
2 | +# Echoes project-level directory if a Java file within is newer than its | ||
3 | +# class file counterpart | ||
4 | +#------------------------------------------------------------------------------ | ||
5 | + | ||
6 | +javaFile=${1#*\/src\/*\/java/} | ||
7 | +basename=${1/*\//} | ||
8 | + | ||
9 | +[ $basename = "package-info.java" ] && exit 0 | ||
10 | + | ||
11 | +src=${1/$javaFile/} | ||
12 | +project=${src/src*/} | ||
13 | +classFile=${javaFile/.java/.class} | ||
14 | + | ||
15 | +[ ${project}target/classes/$classFile -nt ${src}$javaFile -o \ | ||
16 | + ${project}target/test-classes/$classFile -nt ${src}$javaFile ] \ | ||
17 | + || echo ${src/src*/} | ||
18 | + |
-
Please register or login to post a comment