Maven: Difference between revisions
Jump to navigation
Jump to search
(4 intermediate revisions by the same user not shown) | |||
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== | ||
{| | |||
| valign="top" | | |||
* [https://stackoverflow.com/questions/41611671/ <code>altDeploymentRepository</code> vs. <code>altReleaseDeploymentRepository</code>] | * [https://stackoverflow.com/questions/41611671/ <code>altDeploymentRepository</code> vs. <code>altReleaseDeploymentRepository</code>] | ||
* [https://stackoverflow.com/questions/3298135 Externalized Maven Distribution Management] | * [https://stackoverflow.com/questions/3298135 Externalized Maven Distribution Management] | ||
Line 114: | Line 116: | ||
* [https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html Maven Deploy Optional Parameters] | * [https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html Maven Deploy Optional Parameters] | ||
* [https://maven.apache.org/guides/mini/guide-encryption.html Maven Encrypt Master Password] | * [https://maven.apache.org/guides/mini/guide-encryption.html Maven Encrypt Master Password] | ||
* [[Maven Deploy External JAR]] | |||
* [https://stackoverflow.com/questions/23929235/ Bash Multi-line string] | * [https://stackoverflow.com/questions/23929235/ Bash Multi-line string] | ||
* [[Nexus:Maven]] | * [[Nexus:Maven]] | ||
* [[Nexus]] | * [[Nexus]] | ||
| valign="top" | | |||
* [https://mvnrepository.com/artifact/com.gkatzioura.maven.cloud/s3-storage-wagon Maven » S3 Storage Wagon] | |||
* [[Maven Checkstyle Plugin]] | |||
* [[Maven Release Plugin]] | |||
| valign="top" | | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
* [[CocoaPods]] | |||
* [[Conan]] | |||
* [[Bazel]] | * [[Bazel]] | ||
* [[NPM]] | |||
* [[Ant]] | |||
* [[Ivy]] | |||
| valign="top" | | |||
| valign="top" | | |||
|} |
Latest revision as of 20:36, 4 November 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