summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/maven/package.py
blob: 348e88d521a81d8dfd22dddfa52a93f9cebe3537 (plain) (blame)
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
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

import re

from spack.package import *


class Maven(Package):
    """Apache Maven is a software project management and comprehension tool."""

    homepage = "https://maven.apache.org/index.html"
    url = "https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.tar.gz"

    license("Apache-2.0")

    version("3.8.4", sha256="2cdc9c519427bb20fdc25bef5a9063b790e4abd930e7b14b4e9f4863d6f9f13c")
    version("3.6.3", sha256="26ad91d751b3a9a53087aefa743f4e16a17741d3915b219cf74112bf87a438c5")
    version("3.6.2", sha256="3fbc92d1961482d6fbd57fbf3dd6d27a4de70778528ee3fb44aa7d27eb32dfdc")
    version("3.6.1", sha256="2528c35a99c30f8940cc599ba15d34359d58bec57af58c1075519b8cd33b69e7")
    version("3.6.0", sha256="6a1b346af36a1f1a491c1c1a141667c5de69b42e6611d3687df26868bc0f4637")
    version("3.5.0", sha256="beb91419245395bd69a4a6edad5ca3ec1a8b64e41457672dc687c173a495f034")
    version("3.3.9", sha256="6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82")
    version("3.0.4", sha256="d35a876034c08cb7e20ea2fbcf168bcad4dff5801abad82d48055517513faa2f")

    depends_on("java", type="run")

    executables = ["^mvn$"]

    @classmethod
    def determine_version(cls, exe):
        output = Executable(exe)("--version", output=str, error=str)
        match = re.search(r"Apache Maven (\S+)", output)
        return match.group(1) if match else None

    def install(self, spec, prefix):
        # install pre-built distribution
        install_tree(".", prefix)