summaryrefslogtreecommitdiff
blob: fd6f8802a8c0229d98ed81a6c72d9e7c02273709 (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
# Copyright 2004-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

# @ECLASS: java-mvn-src.eclass
# @MAINTAINER:
# java@gentoo.org
# @AUTHOR:
# Java maintainers (java@gentoo.org)
# @BLURB: Eclass for Java packages from bare sources exported by Maven
# @DESCRIPTION:
# This class is intended to build pure Java packages from the sources exported
# from the source:jar goal of Maven 2. These archives contain bare Java source
# files, with no build instructions or additional resource files. They are
# unsuitable for packages that require resources besides compiled class files.
# The benefit is that for artifacts developed with Maven, these source files
# are often released together with binary packages, whereas the full build
# environment might be contained in some revision control system or not
# available at all.

inherit java-pkg-simple

# @ECLASS-VARIABLE: GROUP_ID
# @DESCRIPTION:
# The groupId of the artifact, in dotted notation. Default value is ${PN}.
: ${GROUP_ID:=${PN}}

# @ECLASS-VARIABLE: ARTIFACT_ID
# @DESCRIPTION:
# The artifactId of the artifact. Default value is ${PN}.
: ${ARTIFACT_ID:=${PN}}

# @ECLASS-VARIABLE: MAVEN2_REPOSITORIES
# @DESCRIPTION:
# The repositories to search for the artifacts. Must follow Maven2 layout.
# Default value is the following string:
# "http://repo2.maven.org/maven2 http://download.java.net/maven/2"
: ${MAVEN2_REPOSITORIES:="http://repo2.maven.org/maven2 http://download.java.net/maven/2"}

# @ECLASS-VARIABLE: RELATIVE_SRC_URI
# @DESCRIPTION:
# The path of the source artifact relative to the root of the repository.
# Will be set by the eclass to follow Maven 2 repository layout.
RELATIVE_SRC_URI=${GROUP_ID//./\/}/${ARTIFACT_ID}/${PV}/${ARTIFACT_ID}-${PV}-sources.jar

# Look for source jar in all listed repositories
for repo in ${MAVEN2_REPOSITORIES}; do
	SRC_URI="${SRC_URI} ${repo}/${RELATIVE_SRC_URI}"
done
unset repo