diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-07-06 22:04:31 -0600 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-07-06 22:04:31 -0600 |
commit | 2967b22c6179ded9cc01496e10dcb0f292d0c182 (patch) | |
tree | 9219e7dc564f3dc8af29ea142c4b5d409ea74310 /java/maven | |
parent | 55677d14e4829d6a7859333d3560db346c228fdf (diff) | |
parent | e84010fb9a6f81d96d9c54661a7abde97a0eb187 (diff) | |
download | abslibre-2967b22c6179ded9cc01496e10dcb0f292d0c182.tar.gz abslibre-2967b22c6179ded9cc01496e10dcb0f292d0c182.tar.bz2 abslibre-2967b22c6179ded9cc01496e10dcb0f292d0c182.zip |
Merge branch 'master-remote' into master-undelete
Diffstat (limited to 'java/maven')
-rw-r--r-- | java/maven/PKGBUILD | 107 | ||||
-rw-r--r-- | java/maven/maven.csh | 2 | ||||
-rw-r--r-- | java/maven/maven.sh | 3 |
3 files changed, 112 insertions, 0 deletions
diff --git a/java/maven/PKGBUILD b/java/maven/PKGBUILD new file mode 100644 index 000000000..3f8e5071d --- /dev/null +++ b/java/maven/PKGBUILD @@ -0,0 +1,107 @@ +# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> +# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=maven +pkgver=3.0.5 +pkgdesc="A Java project management and project comprehension tool" +url="http://maven.apache.org" +license=('Apache') + +replaces=('maven-libre') +conflicts=('maven-libre') + +pkgrel=1 +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 + . /etc/profile.d/jdk.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-assembly 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=('b88becd8fe5a9665191e05945942db64' + '58820067a4d7384477daa134023d9b57' + 'e2bbdeffed100cd51d05b2ba8ebd6321') diff --git a/java/maven/maven.csh b/java/maven/maven.csh new file mode 100644 index 000000000..f5750cfc8 --- /dev/null +++ b/java/maven/maven.csh @@ -0,0 +1,2 @@ +setenv MAVEN_OPTS -Xmx512m +setenv M2_HOME=/opt/maven diff --git a/java/maven/maven.sh b/java/maven/maven.sh new file mode 100644 index 000000000..b6655cc22 --- /dev/null +++ b/java/maven/maven.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export MAVEN_OPTS=-Xmx512m +export M2_HOME=/opt/maven |