Maven: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
< | <syntaxhighlight lang="xml"> | ||
<profile> | <profile> | ||
<id>ext</id> | <id>ext</id> | ||
Line 8: | Line 8: | ||
</activation> | </activation> | ||
</profile> | </profile> | ||
</ | </syntaxhighlight> | ||
==Distribution== | ==Distribution== | ||
< | <syntaxhighlight lang="xml"> | ||
<settings> | <settings> | ||
[...] | [...] | ||
Line 24: | Line 24: | ||
</profiles> | </profiles> | ||
</settings> | </settings> | ||
</ | </syntaxhighlight> | ||
==Security== | ==Security== | ||
< | <syntaxhighlight lang="bash"> | ||
M2_MASTER_PASS='<master.password>';\ | M2_MASTER_PASS='<master.password>';\ | ||
M2_SECURITY_XML="${HOME}/.m2/settings-security.xml";\ | M2_SECURITY_XML="${HOME}/.m2/settings-security.xml";\ | ||
Line 39: | Line 39: | ||
EOF | EOF | ||
fi | fi | ||
</ | </syntaxhighlight> | ||
---- | ---- | ||
< | <syntaxhighlight lang="bash"> | ||
M2_NEXUS_USER='<nexus.username>';\ | M2_NEXUS_USER='<nexus.username>';\ | ||
M2_NEXUS_PASS='<nexus.password>';\ | M2_NEXUS_PASS='<nexus.password>';\ | ||
Line 105: | Line 105: | ||
EOF | EOF | ||
fi | fi | ||
</ | </syntaxhighlight> | ||
==References== | ==References== | ||
Line 123: | Line 123: | ||
| valign="top" | | | valign="top" | | ||
* [[Maven Checkstyle Plugin]] | * [[Maven Checkstyle Plugin]] | ||
* [[Maven Release Plugin]] | |||
Revision as of 19:42, 1 April 2024
<profile>
<id>ext</id>
<activation>
<file>
<missing>${basedir}/ext</missing>
</file>
</activation>
</profile>
Distribution
<settings>
[...]
<profiles>
<profile>
<id>nex</id>
<properties>
<altSnapshotDeploymentRepository>academia.snapshots::default::https://nex.chorke.org/repository/maven/snapshots</altSnapshotDeploymentRepository>
<altReleaseDeploymentRepository>academia.releases::default::https://nex.chorke.org/repository/maven/releases</altReleaseDeploymentRepository>
</properties>
</profile>
</profiles>
</settings>
Security
M2_MASTER_PASS='<master.password>';\
M2_SECURITY_XML="${HOME}/.m2/settings-security.xml";\
printf -v M2_MASTER_HASH '%s' $(mvn --encrypt-master-password ${M2_MASTER_PASS});\
if [ ! -f ${M2_SECURITY_XML} ]||[ ! -s ${M2_SECURITY_XML} ];then\
cat << EOF | tee ${M2_SECURITY_XML} >/dev/null
<?xml version="1.0" encoding="UTF-8"?>
<settingsSecurity>
<master>${M2_MASTER_HASH}</master>
</settingsSecurity>
EOF
fi
M2_NEXUS_USER='<nexus.username>';\
M2_NEXUS_PASS='<nexus.password>';\
M2_SETTINGS_XML="${HOME}/.m2/settings.xml";\
printf -v M2_NEXUS_HASH '%s' $(mvn --encrypt-password ${M2_NEXUS_PASS});\
if [ ! -f ${M2_SETTINGS_XML} ]||[ ! -s ${M2_SETTINGS_XML} ];then\
cat << EOF | tee ${M2_SETTINGS_XML} >/dev/null
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<servers>
<server>
<id>academia.releases</id>
<username>${M2_NEXUS_USER}</username>
<password>${M2_NEXUS_HASH}</password>
</server>
<server>
<id>academia.snapshots</id>
<username>${M2_NEXUS_USER}</username>
<password>${M2_NEXUS_HASH}</password>
</server>
</servers>
<mirrors>
<mirror>
<id>academia</id>
<mirrorOf>*</mirrorOf>
<url>https://cdn.chorke.org/nexus/repository/m2/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>academia</id>
<properties>
<altSnapshotDeploymentRepository>academia.snapshots::default::https://cdn.chorke.org/nexus/repository/m2-snapshots</altSnapshotDeploymentRepository>
<altReleaseDeploymentRepository>academia.releases::default::https://cdn.chorke.org/nexus/repository/m2-releases</altReleaseDeploymentRepository>
</properties>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>academia</activeProfile>
</activeProfiles>
</settings>
EOF
fi