summaryrefslogtreecommitdiffstats
path: root/tools/mkbom.sh
blob: fcaed72c06ffb06fec6a179403e68f4f8beebf29 (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
#!/bin/bash

if [ $# -ne 3 ]
then
  echo "Usage: $0 groupId artifactId version"
  exit 1
fi

pomGroupId=$1
pomArtifactId=$2
pomVersion=$3

jarlist=/tmp/mkbom-jar-$$



# Make list of jars
for jar in $(find . -name '*.jar' -print | cut -d'/' -f2- | sort)
do
    version=$(echo $jar | rev | cut -d'/' -f2 | rev)
    artifactId=$(echo $jar | rev | cut -d'/' -f3 | rev)
    groupId=$(echo $jar | rev | cut -d'/' -f4- | rev | tr '/' '.')
    echo "$groupId|$artifactId|$version" >> $jarlist
done



cat <<END
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>$pomGroupId</groupId>
    <artifactId>$pomArtifactId</artifactId>
    <version>$pomVersion</version>
    <packaging>pom</packaging>

    <distributionManagement>
        <repository>
            <id>ecomp-releases</id>
            <url>https://nexus.onap.org/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <url>https://nexus.onap.org/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

    <dependencyManagement>
        <dependencies>
END

lastGroupId="UNSET"
lastArtifactId="UNSET"
lastVersion="UNSET"
for ln in $(cat $jarlist | sort -u)
do

    groupId=$(echo $ln | cut -d'|' -f1)
    artifactId=$(echo $ln | cut -d'|' -f2)
    version=$(echo $ln | cut -d'|' -f3)

    if [ "$lastGroupId" != "UNSET" ]
    then
        if [ "$lastGroupId" != "$groupId" -o "$lastArtifactId" != "$artifactId" ]
        then
            echo "            <dependency>"
            echo "                <groupId>$lastGroupId</groupId>"
            echo "                <artifactId>$lastArtifactId</artifactId>"
            echo "                <version>$lastVersion</version>"
            echo "            </dependency>"
        fi
    fi
    lastGroupId=$groupId
    lastArtifactId=$artifactId
    lastVersion=$version
done

echo "            <dependency>"
echo "                <groupId>$lastGroupId</groupId>"
echo "                <artifactId>$lastArtifactId</artifactId>"
echo "                <version>$lastVersion</version>"
echo "            </dependency>"

cat  <<END
        </dependencies>
    </dependencyManagement>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <!-- This version supports the "deployAtEnd" parameter -->
                <version>2.8</version>
                <configuration>
                    <skip/>
                    <deployAtEnd>true</deployAtEnd>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
END