sysbuild 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1440cdd35744897e112ced48488483835498f109
4
- data.tar.gz: bfb8141d839c9e29340f393819c6f04e56cd1359
3
+ metadata.gz: caa674ab2f7c3ffb3a1d18852a7ddd636ea79640
4
+ data.tar.gz: 5794716805b7d6caad21e01ccd0afe04abcabbc5
5
5
  SHA512:
6
- metadata.gz: 13090879de8c29e72eaf41096fabc5dd3478d5c9443514ebce6086e091c3fb0980a861a5d7abf25798b0120a7c1dcccc05fb4ee6331d54f58ae8414698d3fb8d
7
- data.tar.gz: 977341327f82505a222fb0d3ae66a84f943712cc8fd8514e55b66092358a6f960e84960aeb627d60d198527f9fc29a621f8f81fd23f8a2c4326a19037802f0a0
6
+ metadata.gz: 4a7e6898579d49d68e7d2b2942b3d1be4092e602ce52abfc85321fe4d30087db334896d8f3cb58eace59aee226a63e981790ece6f81c53fec8e38a5db91fca52
7
+ data.tar.gz: 2e28bae3bf59e89c917960332d9d0496a75af6f287061ec02f03e20656d853ee432a13d741f09412951629376e95d10d07e5d8c0b309cab3b79c6a3c16541c6d
data/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017 John Hawksley
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,36 +1,43 @@
1
1
  # Sysbuild
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/sysbuild`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ ![gem](https://badge.fury.io/rb/sysbuild.svg)
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ Sysbuild builds multi-module Maven non-reactor projects.
6
6
 
7
7
  ## Installation
8
8
 
9
- Add this line to your application's Gemfile:
9
+ Install the gem directly from [rubygems](https://rubygems.org/gems/sysbuild):
10
10
 
11
- ```ruby
12
- gem 'sysbuild'
13
- ```
11
+ $ gem install sysbuild
12
+
13
+ ## Usage
14
14
 
15
- And then execute:
15
+ The gem installs a shell `sysbuild` command which calls the gem. Running `sysbuild --help` gets you all the global options. The `-o` option lists all the things Sysbuild can currently do.
16
16
 
17
- $ bundle
17
+ ### Example - Typical Usage
18
18
 
19
- Or install it yourself as:
19
+ `sysbuild -o build -d my_main_module` - build (`-o build`) by detecting changes and then building `my_main_module` if any changes occurred (`-d my_main_module`)
20
20
 
21
- $ gem install sysbuild
22
21
 
23
- ## Usage
22
+ ## Exit Codes
24
23
 
25
- TODO: Write usage instructions here
24
+ XXTODOXX
26
25
 
27
- ## Development
26
+ ## Change Detector
28
27
 
29
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
28
+ The change detector uses hashes to calculate whether the contents of a POM have changed. This is the most reliable method of doing this. The hashes themselves are stored in a `.sysbuild` folder within each module. This folder should be added to your SCM's ignore mechanism.
30
29
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
30
+ > #### Methodology
31
+ > The original implementation of POM change detection compared the source POM with that of the POM stored in the `~/.m2/repository` folder. This required the effective pom to be calculated, in order that any variables were resolved. This was very slow and the approach was abandoned in favour of hashing.
32
32
 
33
- ## Contributing
33
+ Source files are checked by comparing their modification time to the newest target file time.
34
34
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/sysbuild.
35
+ ## Configuration
36
+
37
+ The configuration of `sysbuild` is held in a YAML file.
38
+
39
+ XXTODOXX
40
+
41
+ ## Contributing
36
42
 
43
+ Bug reports and pull requests are welcome on [GitHub](https://github.com/jhawksley/sysbuild).
data/lib/sysbuild.rb CHANGED
@@ -90,6 +90,8 @@ class Sysbuild_Main
90
90
  setup_optparser
91
91
  load_spec
92
92
 
93
+ @@ERROR_EXIT = false
94
+
93
95
  case @options[:operation]
94
96
  when 'build'
95
97
  do_build
@@ -113,6 +115,10 @@ class Sysbuild_Main
113
115
  system "/usr/bin/osascript -e 'display notification \"#{completion_message}\" with title \"Sysbuild\" subtitle \"#{subtitle}\"'"
114
116
  end
115
117
 
118
+ if @@ERROR_EXIT
119
+ exit -1
120
+ end
121
+
116
122
  end
117
123
 
118
124
 
@@ -462,11 +468,13 @@ class Sysbuild_Main
462
468
  puts e.message
463
469
  puts e.backtrace.inspect
464
470
 
471
+ @@ERROR_EXIT = true
465
472
  ensure
466
473
 
467
474
  Dir.chdir( current_dir )
468
475
 
469
476
  end
477
+
470
478
  end
471
479
 
472
480
 
@@ -549,6 +557,7 @@ class Sysbuild_Main
549
557
  " stdout: " << stdout.gets(sep=nil).to_s,
550
558
  " stderr: " << stderr.gets(sep=nil).to_s]
551
559
  end
560
+
552
561
  end
553
562
 
554
563
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sysbuild
2
- VERSION='1.0.3'
2
+ VERSION='1.0.4'
3
3
  end
data/sysbuild.gemspec CHANGED
@@ -7,10 +7,10 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "sysbuild"
8
8
  spec.version = Sysbuild::VERSION
9
9
  spec.authors = ["John Hawksley"]
10
- spec.email = ["john.hawksley@gmail.com"]
10
+ spec.email = ["john@hawksley.net"]
11
11
 
12
12
  spec.summary = %q{Build a Maven non-reactor system}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/jhawksley/sysbuild"
14
14
 
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sysbuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Hawksley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-13 00:00:00.000000000 Z
11
+ date: 2017-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -152,7 +152,7 @@ dependencies:
152
152
  version: 1.8.1
153
153
  description:
154
154
  email:
155
- - john.hawksley@gmail.com
155
+ - john@hawksley.net
156
156
  executables:
157
157
  - sysbuild
158
158
  extensions: []
@@ -162,6 +162,7 @@ files:
162
162
  - ".ruby-gemset"
163
163
  - ".ruby-version"
164
164
  - Gemfile
165
+ - LICENSE.md
165
166
  - README.md
166
167
  - Rakefile
167
168
  - bin/sysbuild
@@ -170,7 +171,7 @@ files:
170
171
  - lib/sysbuild.rb
171
172
  - lib/version.rb
172
173
  - sysbuild.gemspec
173
- homepage: ''
174
+ homepage: https://github.com/jhawksley/sysbuild
174
175
  licenses: []
175
176
  metadata: {}
176
177
  post_install_message:
@@ -189,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
190
  version: '0'
190
191
  requirements: []
191
192
  rubyforge_project:
192
- rubygems_version: 2.5.1
193
+ rubygems_version: 2.6.8
193
194
  signing_key:
194
195
  specification_version: 4
195
196
  summary: Build a Maven non-reactor system