Skip to content
This repository has been archived by the owner on Sep 12, 2024. It is now read-only.

Commit

Permalink
[deploy] fix so it properly can deploy to sonatype
Browse files Browse the repository at this point in the history
  • Loading branch information
Drew Csillag committed Aug 8, 2014
1 parent e68cf4f commit 58952ba
Show file tree
Hide file tree
Showing 6 changed files with 127 additions and 18 deletions.
84 changes: 68 additions & 16 deletions .travis.addServer.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,79 @@
settings.appendChild(serversNode)
else:
serversNode = serversNodes[0]

profilesNodes = settings.getElementsByTagName("profiles")
if not profilesNodes:
profilesNode = m2.createElement("profiles")
settings.appendChild(profilesNodes)
else:
profilesNode = profilesNodes[0]

activeProfilesNodes = settings.getElementsByTagName("activeProfiles")
if not activeProfilesNodes:
activeProfilesNode = m2.createElement("activeProfiles")
settings.appendChild(activeProfilesNode)
else:
activeProfilesNode = activeProfilesNodes[0]

def make_server_node(idText, serversNode):
sonatypeServerNode = m2.createElement("server")
sonatypeServerId = m2.createElement("id")
sonatypeServerUser = m2.createElement("username")
sonatypeServerPass = m2.createElement("password")

idNode = m2.createTextNode(idText)
userNode = m2.createTextNode(os.environ["SONATYPE_USERNAME"])
passNode = m2.createTextNode(os.environ["SONATYPE_PASSWORD"])

sonatypeServerNode = m2.createElement("server")
sonatypeServerId = m2.createElement("id")
sonatypeServerUser = m2.createElement("username")
sonatypeServerPass = m2.createElement("password")
sonatypeServerId.appendChild(idNode)
sonatypeServerUser.appendChild(userNode)
sonatypeServerPass.appendChild(passNode)

sonatypeServerNode.appendChild(sonatypeServerId)
sonatypeServerNode.appendChild(sonatypeServerUser)
sonatypeServerNode.appendChild(sonatypeServerPass)

serversNode.appendChild(sonatypeServerNode)

idNode = m2.createTextNode("sonatype-nexus-snapshots")
userNode = m2.createTextNode(os.environ["SONATYPE_USERNAME"])
passNode = m2.createTextNode(os.environ["SONATYPE_PASSWORD"])
def make_profile_node(profilesNode):
profileNode = m2.createElement("profile")
profileIdNode = m2.createElement("id")
profileId = m2.createTextNode("ossrh")
profileIdNode.appendChild(profileId)
profileNode.appendChild(profileIdNode)

sonatypeServerId.appendChild(idNode)
sonatypeServerUser.appendChild(userNode)
sonatypeServerPass.appendChild(passNode)
activationNode = m2.createElement("activation")
byDefaultNode = m2.createElement("activeByDefault")
trueNode = m2.createTextNode("true")
byDefaultNode.appendChild(trueNode)
activationNode.appendChild(byDefaultNode)
profileNode.appendChild(activationNode)

sonatypeServerNode.appendChild(sonatypeServerId)
sonatypeServerNode.appendChild(sonatypeServerUser)
sonatypeServerNode.appendChild(sonatypeServerPass)
propertiesNode = m2.createElement("properties")
keynameNode = m2.createElement("gpg.keyname")
keyname = m2.createTextNode("Helios Project")
keynameNode.appendChild(keyname)
propertiesNode.appendChild(keynameNode)
passphraseNode = m2.createElement("gpg.passphrase")
passphrase = m2.createTextNode(os.environ["SONATYPE_GPG_PASSPHRASE"])
passphraseNode.appendChild(passphrase)
propertiesNode.appendChild(passphraseNode)

serversNode.appendChild(sonatypeServerNode)

m2Str = m2.toxml()
profileNode.appendChild(propertiesNode)
profilesNode.appendChild(profileNode)

def make_active_profile_node(activeProfilesNodes):
activeProfileNode = m2.createElement("activeProfile")
profileName = m2.createTextNode("ossrh")
activeProfileNode.appendChild(profileName)
activeProfilesNodes.appendChild(activeProfileNode)

make_server_node("sonatype-nexus-snapshots", serversNode)
make_server_node("sonatype-nexus-staging", serversNode)
make_profile_node(profilesNode)
make_active_profile_node(activeProfilesNode)
m2Str = m2.toprettyxml()
f = open(homedir + '/.m2/mySettings.xml', 'w')
f.write(m2Str)
f.close()
15 changes: 13 additions & 2 deletions .travis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ case "$1" in
sudo apt-get install -qy slirp lxc lxc-docker

git clone git://github.com/spotify/sekexe

echo "decrypt secret keyring"
# generated with travis encrypt-file secring.pgp encrypted_secring
openssl aes-256-cbc -K $encrypted_671b00c64785_key -iv $encrypted_671b00c64785_iv -in encrypted_secring -out secring.gpg -d
echo "importing public key"
cat pubkey.asc | gpg --import
echo "importing secret key"
cat secring.gpg | gpg --import

echo "putting secret bits into settings.xml"
python .travis.addServer.py
mv ~/.m2/mySettings.xml ~/.m2/settings.xml
;;

before_script)
Expand All @@ -34,8 +46,7 @@ case "$1" in
;;

after_deploy)
python .travis.addServer.py
mvn clean deploy -DskipTests --settings ~/.m2/mySettings.xml
mvn clean deploy -DskipTests
;;

esac
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ env:
- SONATYPE_USERNAME=spotify-helios
# generated with travis encrypt SONATYPE_PASSWORD=pass
- secure: "nGumIjLR2bz88sGBdDGu/e0P91MRGuBrvyrn49Cfr5jtDRVdByTLkCjZ88c1OxYnjquMN0MT/oAThpdHeRt+A12I0YXXAmlMvvs7Ic5GbljziVmEeX17yLjloqxB8DyhpOcjXba4akqKSAqJqBOrLANmlDZDlcZDcNs3IxBV1yw="
# generated with travis encrypt SONATYPE_GPG_PASSPHRASE=passphrase
- secure: "LoU12MUupIUum85oqLktXSLjs6yZvg5LLE8glj2NYXQHm9wW57Oir7WaVgAEl6FbrXLL6qUhB2ek4zLj7STE73baCbLFicg8ivEAob052mRcEeZe3qnTrzIqAsg3KtSh3mKEb/Fa0iypjXovtOS0JENY0BWi0rbOheq5DzVmwh4="

deploy:
provider: releases
Expand Down
Binary file added encrypted_secring
Binary file not shown.
14 changes: 14 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,20 @@

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
Expand Down
30 changes: 30 additions & 0 deletions pubkey.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFPjrqABCADi0lyTMCHywYJo3geGxrPXIpSsGKEZ2IaPJ/15x2+7Afe5uYHw
zod6ydmwN31drrxV9i4vXf3hLU45YT8z3rkSvD7psvZTNcoNvNdg1hjuh8uUGyJy
fxDWR0Obg5yO85w215J1lOYPX/6ZCOXdOlwPszdnkqechXZ6QHm23wf018YYnDgF
DdIJkrBPVIN+kqKEWM+aiA5BHhncQ4HSOMLidLRZ1NvwZdJqr/P90o5LP4NhKkiA
xL9vRoXhLb7fIcnFGUBEtzD4OWpySXgTsiQd2kE269vUNIWEeo1iAtVT14T/m+ii
76MxCqkU1U/02G8xHJG+dr9akGvWykbt8xeRABEBAAG0FlNwb3RpZnkgSGVsaW9z
IFByb2plY3SJAT4EEwECACgFAlPjrqACGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAAoJEPsKzrqIh/R3DTkH/A+ZiCuJj5UGFwz9I+2LYLiNShRKgRzJ
LigKiOxA3mQjvnBxh6Zvqo04oN9s9qIozysioGdXodXbiqhEL+Mka2QK3PAJ0lmo
n+/SQZEATfkwKg6XXOGITMlgWdvNuETav1Uv75G0dP4LyUSGHLSOxH5CCeapDsN+
EZ3nLTGG5TtIdGs0gjBA6KFYTtpxj8IdGOS5iGxbyho7rRQ9yw/e3EMV3Y3SRY1q
R9Zb9i3pPcczEsHR791ltBESpN5z/iCkDdCZXlxUSAxfbnLuzd12G3xGj+TeuHsd
5SaZ1Z68s+QEHD8g04geuZxI2jLMFsbBmDT/0iVGxxuGKKOqyJpu77K5AQ0EU+Ou
oAEIAPJgu46kt0g0k4IFdxY6LRrY8+oAw7kSVKmfk+bo9D8EBiKfhuRyBjj4mUGx
Me5k/KpKJOS7mL4uX54PDalGhTC5QmyTrmc4iu3ULkY1nz8oNbIBptPDP2Mai4P3
UkmhWQNF+Lx/RsJM24t3dtJi6JnKmR3Em2pUTxYJoZrF8jQdL0Iw6OcKEzaZw8nw
NvXKAg9fHy8uuFOaGatgYq3Qj6h5F+O5dvU9UiYtWCfMVEtor2gmZK/1tppR8k0W
P+fwaE2M/Vl3pzuQUwwDjM54h0/QXsHiSqd5SHjf/BMdQ4rRLG3A6cLzjo4rYwoK
24CLEpt4pzCVJPugzxXfFdqXViEAEQEAAYkBJQQYAQIADwUCU+OuoAIbDAUJAeEz
gAAKCRD7Cs66iIf0d1npB/9e5n7o9lcBCtadTa5NkXht4HxeE0PxerKxAdB+vgFO
cQ/vPc3PCs7qssfIKOGqyb2PB74zfb5zgRolPFPTr5R6sRWIUZAo8jb2P5oDC3cU
pUvRjfvgKXfbUzJyuGpNiFkLAphHwu3zjO4wJ2h7yxRs5Wxb4CcMJwjWbDrZuoRp
ihAd7b6T+mkYGfOtUW1KCRZYUZVdGuFN9pZiy7Qq4ptV+434HT0UEZ2zzGn+kOTf
upgrP6NNYy5okTThDxZ951z5Aybp/M561PZfrAZqZtbcPHWctd+0pRe3BrubVCEa
g4vsASHR8o0YAuoJeMB+wwruj/UUJFG8ESI0viRi8hUd
=fJa4
-----END PGP PUBLIC KEY BLOCK-----

0 comments on commit 58952ba

Please sign in to comment.