blob: c2810d926713e07a821dc142f0620614b798cdd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch): William Rea <sillywilly@gmail.com>
pkgname=maven
pkgver=3.3.3
pkgdesc="A Java project management and project comprehension tool"
url="http://maven.apache.org"
license=('Apache')
replaces=('maven-libre')
conflicts=('maven-libre')
pkgrel=1.parabola1
arch=('any')
options=(!emptydirs)
conflicts=('maven')
depends=('java-environment' 'sh')
makedepends=('apache-ant' 'jh' 'imake'
java-antlr2
java-asm3
)
backup=('etc/maven/settings.xml')
_mirror=http://archive.apache.org/dist
source=($_mirror/maven/maven-${pkgver%%.*}/$pkgver/source/apache-maven-$pkgver-src.tar.gz
maven.sh maven.csh)
_setup_env() {
unset _JAVA_OPTIONS
. /etc/profile.d/jre.sh
export MAVEN_OPTS=-Xmx512m
export M2_HOME="$pkgdir"/opt/maven
export PATH="$PATH:$M2_HOME/bin"
_M2_LOCALREPO=$(jh mvn-localrepo)
ant_args=(
-Dmaven.repo.local="$srcdir"/maven.repo.local
)
}
prepare() {
if type mvn &>/dev/null; then
error "maven cannot be built while an existing version is installed"
return 1
fi
}
build() (
_setup_env
install -d "$srcdir"/maven.repo.local
lndir "$_M2_LOCALREPO" "$srcdir"/maven.repo.local
cd "$srcdir"/apache-maven-$pkgver
# FIXME: downloads makedepends from the Internet. Add them to makedepends=()
ant "${ant_args[@]}" maven-compile 2>&1|tee "$srcdir"/ant-log.txt
< "$srcdir"/ant-log.txt \
sed -nr 's/.*Download(ed|ing):\s*//p' | \
sed 's/ .*//' | \
sed -r -e 's|^http://repo.maven.apache.org/maven2/||' -e 's/\.(jar|pom)$//' | \
sort -u > "$srcdir"/downloaded-artifacts.txt
)
package() (
_setup_env
cd "$srcdir"/apache-maven-$pkgver
ant "${ant_args[@]}" extract-assembly
#rm "$pkgdir"/opt/maven/*.txt
# Install config file in /etc
# Unlike the other directories, we symlink from the system to /opt/maven
# because that way all conf files stay in /etc
#install -d "$pkgdir"/etc/maven
sed "55i<localRepository>$_M2_LOCALREPO</localRepository>" \
< "$pkgdir"/opt/maven/conf/settings.xml
# > "$pkgdir"/etc/maven/settings.xml
#rm -rf "$pkgdir"/opt/maven/conf
#ln -s /etc/maven "$pkgdir"/opt/maven/conf
# Install profile.d settings
install -d "$pkgdir"/etc/profile.d
install -m 755 "$srcdir"/maven.{csh,sh} "$pkgdir"/etc/profile.d
# Link executables to /usr/bin
install -d "$pkgdir"/usr/bin
ln -s /opt/maven/bin/{mvn,mvnDebug,mvnyjp} "$pkgdir"/usr/bin
# Link jar files to appropriate place in /usr/share
install -d "$pkgdir"/usr/share/java
ln -s /opt/maven/lib "$pkgdir"/usr/share/java/maven
# Install the local repo
mkdir -p "$pkgdir"${_M2_LOCALREPO%/*}
cp -a "$srcdir"/maven.repo.local "$pkgdir"$_M2_LOCALREPO
# Remove extra artifacts
find "$pkgdir"$_M2_LOCALREPO -type l -delete
find "$pkgdir"$_M2_LOCALREPO -name _maven.repositories -delete
cat "$srcdir"/downloaded-artifacts.txt | while read artifact; do
rm -f "$pkgdir"$_M2_LOCALREPO/$artifact*
done
)
md5sums=('e1db3821aa39d4b98178f68467894342'
'58820067a4d7384477daa134023d9b57'
'e2bbdeffed100cd51d05b2ba8ebd6321')
|