ow-nuxeo 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/bin/ow-nuxeo +112 -0
  2. metadata +48 -0
data/bin/ow-nuxeo ADDED
@@ -0,0 +1,112 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # WARNING: Script is Linux/Cygwin-dependant
4
+
5
+ require 'fileutils'
6
+ require 'net/http'
7
+
8
+ begin
9
+ require './nuxeo-config.rb'
10
+ rescue LoadError
11
+ puts "!!! WARNING: 'nuxeo-config.rb' is missing. Using default config.\n\n"
12
+ begin
13
+ require './nuxeo-config.default.rb'
14
+ rescue LoadError
15
+ defaultConfig = File.new("nuxeo-config.default.rb", "w")
16
+ defaultConfig.puts "# Target custom Nuxeo\nNUXEO_PATH = '/data/services/nuxeo/'\n\n\# Distrib config\nMARKETPLACE_PROJECT_PATH = './myproject-distribution'\nMARKETPLACE_PACKAGE_NAME = 'myproject'\n"
17
+ defaultConfig.close
18
+ puts "\nABORTING: Created default config file './nuxeo-config.default.rb',"
19
+ puts "Please copy it customize it to fit your project."
20
+ exit 0
21
+ end
22
+ end
23
+
24
+ def nuxeoctl()
25
+ if defined? NUXEO_PATH
26
+ path = Dir[NUXEO_PATH + 'bin/nuxeoctl'][0]
27
+ end
28
+ if path == nil
29
+ puts "ERROR, is the Nuxeo path (in 'nuxeo-config.rb') defined correctly?"
30
+ exit 0
31
+ else
32
+ return path
33
+ end
34
+ end
35
+
36
+ def displayHelp()
37
+ puts '> EXAMPLES'
38
+ puts 'ow-nuxeo build'
39
+ puts 'ow-nuxeo fastbuild deploy run'
40
+ puts 'ow-nuxeo version 1.0.0'
41
+ puts 'ow-nuxeo release'
42
+ puts ''
43
+ puts '> AVAILABLE GOALS'
44
+ puts 'build : Build with tests.'
45
+ puts 'fastbuild : Build, skip the tests to go faster'
46
+ puts 'fastestbuild : Build, skip the tests and run offline to go faster (consequence: won\'t update any SNAPSHOT from remote repos, like NxStudio plugins)'
47
+ puts 'release : Build with tests and the "release" flag enabled, to enable the use of the tagged NxStudio plugin'
48
+ puts 'version [VERSION] : Updates the modules version. Specify the new version number as the second parameter.'
49
+ puts 'test : Run the Maven tests only, in debug mode'
50
+ puts 'deploy : Deploy the marketplace package'
51
+ puts 'reset : Reset the data of your custom Nuxeo (by deleting the nxserver/data folder, i.e. it only works with Derby/H2)'
52
+ puts 'run : Runs Nuxeo'
53
+ puts ''
54
+ end
55
+
56
+ ARGV.each do |arg|
57
+
58
+ case arg
59
+
60
+ when 'test'
61
+ system('mvnDebug -DforkMode=never test')
62
+
63
+ when 'build'
64
+ system('mvn clean install')
65
+
66
+ when 'fastbuild'
67
+ system('mvn clean install -DskipTests=true')
68
+
69
+ when 'fastestbuild'
70
+ system('mvn clean install -DskipTests=true -o')
71
+
72
+ when 'version'
73
+ system('mvn versions:set -DnewVersion=' + ARGV[1])
74
+ break
75
+
76
+ when 'release'
77
+ system('mvn clean install -Drelease')
78
+
79
+ when 'deploy'
80
+ nuxeoctlPath = nuxeoctl()
81
+ system('chmod +x ' + nuxeoctlPath)
82
+
83
+ puts '> Uninstalling package "' + MARKETPLACE_PACKAGE_NAME + '"...'
84
+ system(nuxeoctlPath + ' --accept=true mp-remove ' + MARKETPLACE_PACKAGE_NAME)
85
+
86
+ puts '', '> Installing new marketplace package...'
87
+ system(nuxeoctlPath + ' --accept=true mp-install ' + Dir[MARKETPLACE_PROJECT_PATH + '/target/' + MARKETPLACE_PROJECT_PATH.split('/').last + '-*.zip'][0])
88
+
89
+ when 'run'
90
+ system(nuxeoctl() + ' console')
91
+
92
+ when 'reset'
93
+ if defined? NUXEO_PATH
94
+ deletePath = Dir[NUXEO_PATH + 'nxserver/data'][0]
95
+ end
96
+ if !deletePath.nil?
97
+ puts '> Deleting', deletePath
98
+ FileUtils.rm_r deletePath, :force => true
99
+ else
100
+ puts '> Nothing to delete'
101
+ end
102
+
103
+ else
104
+ displayHelp()
105
+
106
+ end
107
+
108
+ end
109
+
110
+ if ARGV.empty?
111
+ displayHelp()
112
+ end
metadata ADDED
@@ -0,0 +1,48 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ow-nuxeo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Marwane Kalam-Alami
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-07-12 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Eases common tasks with Nuxeo projects, from building to launching. Mainly
15
+ targeted to Open Wide projects, but could fit any Maven project hierarchy using
16
+ a Nuxeo Marketplace package for distribution.
17
+ email: marwane.kalam-alami@openwide.fr
18
+ executables:
19
+ - ow-nuxeo
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - bin/ow-nuxeo
24
+ homepage: http://rubygems.org/gems/ow-nuxeo
25
+ licenses: []
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - bin
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 1.8.23
45
+ signing_key:
46
+ specification_version: 3
47
+ summary: A script for Nuxeo projects based on the Open Wide skeleton
48
+ test_files: []