-
Notifications
You must be signed in to change notification settings - Fork 0
/
maven-publish.sh
executable file
·71 lines (50 loc) · 1.41 KB
/
maven-publish.sh
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
#!/bin/bash
canonical_link=`readlink -f ${0}`
project_dir=`dirname $canonical_link`
source "${project_dir}/constants.sh"
function prepare_maven() {
sudo apt-get install maven
return $?
}
function deploy() {
local settings=$1
local groupId=$2
local artifactId=$3
local file=$4
local version=$5
local url=$6
mvn deploy:deploy-file --debug -s "${settings}" "-DgroupId=$groupId" \
"-DartifactId=$artifactId" \
"-Dversion=$version" \
"-Dpackaging=jar" \
"-Dfile=$file" \
"-DrepositoryId=github" \
"-Durl=$url"
return $?
}
function publish() {
groupId="com.avrsandbox.serial4j"
version=$GITHUB_REF_NAME
url="https://maven.pkg.github.com/Software-Hardware-Codesign/Serial4j-v1"
files=(`cd "${project_dir}/output/serial4j" && ls *.jar && cd "${project_dir}"`)
artifacts=("serial4j-docs" "serial4j-core")
for ((i=0; i<${#files[@]}; i++)); do
deploy "${project_dir}/maven-settings.xml" "$groupId" "${artifacts[i]}" "${project_dir}/output/serial4j/${files[i]}" "$version" "$url"
done
return $?
}
echo -e $RESET_Cs
prepare_maven
if (( $? > 0 )); then
echo -e "$RED_C Task@PrepareMaven : Failed, check your connection !"
else
echo -e "$CYAN_C Task@PrepareMaven : Completed"
fi
echo -e $RESET_Cs
publish
if (( $? > 0 )); then
echo -e "$RED_C Task@Publish : Failed"
else
echo -e "$CYAN_C Task@Publish : Completed"
fi
echo -e $RESET_Cs