~ludovicc/uj/maven-debian-helper

« back to all changes in this revision

Viewing changes to share/maven-debian-helper/copy-repo.sh

  • Committer: Ludovic
  • Date: 2009-05-26 12:59:35 UTC
  • Revision ID: ludovic.claude@laposte.net-20090526125935-dp2vw95rzi46axy3
* Initial

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
set -e
 
4
 
 
5
SRC_REPO="/usr/share/maven-repo"
 
6
DEST_REPO="$1/maven-repo"
 
7
 
 
8
find_src_poms() {
 
9
  find -L $SRC_REPO -name '*.pom' -printf '%P\n'
 
10
}
 
11
 
 
12
list_fakes()
 
13
{
 
14
  CONFFILES="/etc/maven2/fake-poms.conf"
 
15
  if [ -r debian/fake-poms.conf ]
 
16
  then
 
17
    CONFFILES="$CONFFILES debian/fake-poms.conf"
 
18
  fi
 
19
  sed -e's,#.*,,' $CONFFILES
 
20
}
 
21
 
 
22
find_dest_poms() {
 
23
  find -L $DEST_REPO -name '*.pom' -printf '%P\n'
 
24
}
 
25
 
 
26
find_all_meta() {
 
27
  find $DEST_REPO -name 'maven-metadata-tmp.xml'
 
28
}
 
29
 
 
30
header() {
 
31
  echo '<?xml version="1.0" encoding="UTF-8"?>'
 
32
  echo '<metadata>'
 
33
  echo '  <versioning>'
 
34
  echo '    <versions>'
 
35
}
 
36
 
 
37
footer() {
 
38
  echo '    </versions>'
 
39
  echo '  </versioning>'
 
40
  echo '</metadata>'
 
41
}
 
42
 
 
43
echo_meta() {
 
44
  header
 
45
  cat $META
 
46
  footer
 
47
}
 
48
 
 
49
if [ -z "$1" ]; then
 
50
  echo "ABORT: missing destination dir"
 
51
  exit 1
 
52
fi
 
53
 
 
54
find_src_poms | while read POM; do
 
55
  VER_DIR=$(dirname $POM)
 
56
  BASEDIR=$(dirname $VER_DIR)
 
57
  mkdir -p $DEST_REPO/$BASEDIR
 
58
  ln -s $SRC_REPO/$VER_DIR $DEST_REPO/$BASEDIR/
 
59
done
 
60
 
 
61
list_fakes | while read GROUPID ARTIFACTID JARFILE VERSION
 
62
do
 
63
  GROUPDIR=$(echo $GROUPID | tr . /)
 
64
  BASEDIR="$DEST_REPO/$GROUPDIR/$ARTIFACTID"
 
65
  JARFILE=${JARFILE:-"/usr/share/java/$ARTIFACTID.jar"}
 
66
  VERSION=${VERSION:-"debian"}
 
67
  if [ -d $BASEDIR/$VERSION ]
 
68
  then
 
69
    echo "skip faking of existing $GROUPID:$ARTIFACTID::$VERSION"
 
70
    continue
 
71
  else
 
72
    mkdir -p $BASEDIR/$VERSION/
 
73
  fi
 
74
  if [ -r $JARFILE ]
 
75
  then
 
76
    PACKAGING="jar"
 
77
    ln -s $JARFILE $BASEDIR/$VERSION/$ARTIFACTID-$VERSION.jar
 
78
  else
 
79
    PACKAGING="pom"
 
80
  fi
 
81
  cat > $BASEDIR/$VERSION/$ARTIFACTID-$VERSION.pom <<.EOF
 
82
<project>
 
83
  <modelVersion>4.0.0</modelVersion>
 
84
  <groupId>$GROUPID</groupId>
 
85
  <artifactId>$ARTIFACTID</artifactId>
 
86
  <version>$VERSION</version>
 
87
  <packaging>$PACKAGING</packaging>
 
88
</project>
 
89
.EOF
 
90
done
 
91
 
 
92
find_dest_poms | while read POM; do
 
93
  VER_DIR=$(dirname $POM)
 
94
  VERSION=$(basename $VER_DIR)
 
95
  BASEDIR=$(dirname $VER_DIR)
 
96
  VER_TAG="      <version>$VERSION</version>"
 
97
  echo "$VER_TAG" >> $DEST_REPO/$BASEDIR/maven-metadata-tmp.xml
 
98
  KEY=$(echo $BASEDIR | tr / .)
 
99
  echo "$KEY.version = $VERSION"
 
100
done > $1/auto.properties
 
101
 
 
102
find_all_meta | while read META; do
 
103
  DIR=$(dirname $META)
 
104
  echo_meta > $DIR/maven-metadata-local.xml
 
105
  rm -f $META
 
106
done
 
107