nexus: Move persistent data

When any configuration is done to the nexus server is persists that data
to the sonatype-work directory. Also all maven artifacts are downloaded
into that directory too. So if you want to have that same setup after
upgrading, the sonatype-work directory needs to be somewhere common all
versions. This commit patches nexus to look for that data in var/nexus.

Closes Homebrew/homebrew#19361.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
master
Christian Rigdon 2013-03-29 11:36:21 -06:00 committed by Adam Vandenberg
parent 7ef74975f0
commit 6400a4041e
1 changed files with 29 additions and 3 deletions

View File

@ -2,13 +2,17 @@ require 'formula'
class Nexus < Formula
homepage 'http://www.sonatype.org/'
url 'http://download.sonatype.com/nexus/oss/nexus-2.3.1-01-bundle.tar.gz'
version '2.3.1-01'
url 'http://download.sonatype.com/nexus/oss/nexus-2.3.1-bundle.tar.gz'
sha1 'f064052500223e7af3e3323b6bc9fb7c047ac0e1'
# Put the sonatype-work directory in the var directory, to persist across version updates
def patches
DATA
end
def install
rm_f Dir['bin/*.bat']
libexec.install Dir["nexus-#{version}/*"]
libexec.install Dir["nexus-2.3.1-01/*"]
bin.install_symlink libexec/'bin/nexus'
end
@ -32,4 +36,26 @@ class Nexus < Formula
</plist>
EOS
end
def caveats; <<-EOS.undent
If you are upgrading nexus for the first time, and old version is less than 2.3.1, then
you will need to copy the sonatype-work directory from:
#{HOMEBREW_PREFIX}/Cellar/#{name}/<old version>/
to
#{var}
EOS
end
end
__END__
diff --git a/nexus-2.3.1-01/conf/nexus.properties b/nexus-2.3.1/conf/nexus.properties
index df89251..23b536b 100644
--- a/nexus-2.3.1-01/conf/nexus.properties
+++ b/nexus-2.3.1-01/conf/nexus.properties
@@ -22,5 +22,5 @@ nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
# Nexus section
-nexus-work=${bundleBasedir}/../sonatype-work/nexus
+nexus-work=HOMEBREW_PREFIX/var/nexus
runtime=${bundleBasedir}/nexus/WEB-INF