blob: abb04a292a76759aab653be865e336bf9330c113 (
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
|
top=$(shell pwd)
all: extract
extract: \
build/maven \
build/maven-extras \
build/slf4j
download: \
upstream/apache-maven-$(shell cat apache-maven-version.txt) \
upstream/maven-svn
upstream/slf4j-git
# touch this file to trigger network updates
network:
touch $@
################################################################################
mvn_ver=$(shell cat apache-maven-version.txt)
upstream/apache-maven-${mvn_ver}-src.tar.gz: upstream/apache-maven-%-src.tar.gz:
ver=$* && \
mirror='http://archive.apache.org/dist' && \
mkdir -p ${@D} && \
wget -c -O $@ "$${mirror}/maven/maven-$${ver%%.*}/$${ver}/source/${@F}"
upstream/apache-maven-${mvn_ver}: upstream/apache-maven-%: upstream/apache-maven-%-src.tar.gz
cd ${@D} && tar xaf "${top}/$<"
cd $@ && git init && git add . && git commit -m 'tarball of apache maven $*'
build/maven: upstream/apache-maven-${mvn_ver}
rm -rf $@
mkdir -p $@
lndir -silent "${top}/$<" "${top}/$@"
################################################################################
upstream/maven-svn: maven-svn-map.txt network
if ! [[ -d "$@/.svn" ]]; then \
mkdir -p ${@D} && \
svn checkout --depth=empty https://svn.apache.org/repos/asf/maven "$@"; \
else \
cd "$@" && svn update; \
fi
cd "$@" && \
while read svnpath localpath; do \
svn update --parents "$$svnpath"; \
done <"${top}/$<"
touch $@
maven-svn-version.txt: upstream/maven-svn maven-svn-map.txt
while read svnpath localpath; do \
cd "${top}/$</$${svnpath}" && \
LANG=C svn log -l 1 .|sed -n 2p; \
done <"${top}/maven-svn-map.txt" | \
cut -d'|' -f3 | date --file=- --utc --iso-8601 | sort | sed -n '$$p' > "${top}/$@"
build/maven-extras: upstream/maven-svn maven-svn-map.txt
rm -rf $@
mkdir -p $@
while read svnpath localpath; do \
mkdir -p "${top}/$@/$${localpath}" && \
lndir -silent "${top}/$</$${svnpath}" "${top}/$@/$${localpath}"; \
done <maven-svn-map.txt
################################################################################
upstream/slf4j-git: slf4j-version.txt network
if ! [[ -d "$@/.git" ]]; then \
git clone git://github.com/qos-ch/slf4j.git "$@"; \
else \
cd "$@" && git fetch --all -p; \
fi
cd "$@" && git checkout v_$$(cat "${top}/$<")
build/slf4j: upstream/slf4j-git
rm -rf $@
mkdir -p $@
lndir -silent "${top}/$<" "${top}/$@"
|